/*
* #%L
* Alfresco Records Management Module
* %%
* Copyright (C) 2005 - 2016 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* -
* If the software was purchased under a paid Alfresco license, the terms of
* the paid license agreement will prevail. Otherwise, the software is
* provided under the following open source license terms:
* -
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* -
* Alfresco is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
* -
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
* #L%
*/
package org.alfresco.module.org_alfresco_module_rm.test.legacy.webscript;
import java.util.ArrayList;
import java.util.List;
import org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMWebScriptTestCase;
import org.alfresco.util.GUID;
import org.json.JSONArray;
import org.json.JSONObject;
import org.springframework.extensions.webscripts.Status;
import org.springframework.extensions.webscripts.TestWebScriptServer.DeleteRequest;
import org.springframework.extensions.webscripts.TestWebScriptServer.GetRequest;
import org.springframework.extensions.webscripts.TestWebScriptServer.PostRequest;
import org.springframework.extensions.webscripts.TestWebScriptServer.PutRequest;
import org.springframework.extensions.webscripts.TestWebScriptServer.Response;
/**
*
*
* @author Mark Rogers
*/
@SuppressWarnings("unused")
public class RMCaveatConfigScriptTest extends BaseRMWebScriptTestCase
{
protected final static String RM_LIST = "rmc:smListTest";
protected final static String RM_LIST_URI_ELEM = "rmc_smListTest";
private static final String URL_RM_CONSTRAINTS = "/api/rma/admin/rmconstraints";
public void testGetRMConstraints() throws Exception
{
{
Response response = sendRequest(new GetRequest(URL_RM_CONSTRAINTS), Status.STATUS_OK);
JSONObject top = new JSONObject(response.getContentAsString());
System.out.println(response.getContentAsString());
assertNotNull(top.getJSONArray("data"));
}
/**
* Add a list, then get it back via the list rest script
*/
caveatConfigService.addRMConstraint(RM_LIST, "my title", new String[0]);
{
Response response = sendRequest(new GetRequest(URL_RM_CONSTRAINTS), Status.STATUS_OK);
JSONObject top = new JSONObject(response.getContentAsString());
System.out.println(response.getContentAsString());
JSONArray data = top.getJSONArray("data");
boolean found = false;
assertTrue("no data returned", data.length() > 0);
for(int i = 0; i < data.length(); i++)
{
JSONObject obj = data.getJSONObject(i);
String name = (String)obj.getString("constraintName");
assertNotNull("constraintName is null", name);
String url = (String)obj.getString("url");
assertNotNull("detail url is null", name);
if(name.equalsIgnoreCase(RM_LIST))
{
found = true;
}
/**
* vallidate the detail URL returned
*/
sendRequest(new GetRequest(url), Status.STATUS_OK);
}
}
}
/**
*
* @throws Exception
*/
public void testGetRMConstraint() throws Exception
{
/**
* Delete the list to remove any junk then recreate it.
*/
if (caveatConfigService.getRMConstraint(RM_LIST) != null)
{
caveatConfigService.deleteRMConstraint(RM_LIST);
}
caveatConfigService.addRMConstraint(RM_LIST, "my title", new String[0]);
createUser("fbloggs");
createUser("jrogers");
createUser("jdoe");
List<String> values = new ArrayList<String>();
values.add("NOFORN");
values.add("FGI");
caveatConfigService.updateRMConstraintListAuthority(RM_LIST, "fbloggs", values);
caveatConfigService.updateRMConstraintListAuthority(RM_LIST, "jrogers", values);
caveatConfigService.updateRMConstraintListAuthority(RM_LIST, "jdoe", values);
/**
* Positive test Get the constraint
*/
{
String url = URL_RM_CONSTRAINTS + "/" + RM_LIST_URI_ELEM;
Response response = sendRequest(new GetRequest(url), Status.STATUS_OK);
JSONObject top = new JSONObject(response.getContentAsString());
JSONObject data = top.getJSONObject("data");
System.out.println(response.getContentAsString());
String constraintName = data.getString("constraintName");
assertNotNull("constraintName is null", constraintName);
// JSONArray allowedValues = data.getJSONArray("allowedValues");
// assertTrue("values not correct", compare(array, allowedValues));
// JSONArray constraintDetails = data.getJSONArray("constraintDetails");
//
// assertTrue("details array does not contain 3 elements", constraintDetails.length() == 3);
// for(int i =0; i < constraintDetails.length(); i++)
// {
// JSONObject detail = constraintDetails.getJSONObject(i);
// }
}
/**
*
* @throws Exception
*/
/**
* Negative test - Attempt to get a constraint that does exist
*/
{
String url = URL_RM_CONSTRAINTS + "/" + "rmc_wibble";
sendRequest(new GetRequest(url), Status.STATUS_NOT_FOUND);
}
deleteUser("fbloggs");
deleteUser("jrogers");
deleteUser("jdoe");
}
/**
* Create an RM Constraint
* @throws Exception
*/
public void testUpdateRMConstraint() throws Exception
{
String constraintName = null;
/*
* Create a new list
*/
{
String title = "test Update RM Constraint title";
JSONArray array = new JSONArray();
array.put("LEMON");
array.put("BANANA");
array.put("PEACH");
JSONObject obj = new JSONObject();
obj.put("allowedValues", array);
obj.put("constraintTitle", title);
/**
* Now do a post to create a new list
*/
Response response = sendRequest(new PostRequest(URL_RM_CONSTRAINTS, obj.toString(), "application/json"), Status.STATUS_OK);
JSONObject top = new JSONObject(response.getContentAsString());
JSONObject data = top.getJSONObject("data");
constraintName = data.getString("constraintName");
JSONArray allowedValues = data.getJSONArray("allowedValues");
assertTrue("values not correct", compare(array, allowedValues));
}
/**
* Now update both values and title - remove BANANA, PEACH, Add APPLE.
*/
{
String newTitle = "this is the new title";
JSONArray array = new JSONArray();
array.put("LEMON");
array.put("APPLE");
JSONObject obj = new JSONObject();
obj.put("allowedValues", array);
obj.put("constraintName", constraintName);
obj.put("constraintTitle", newTitle);
System.out.println(obj.toString());
/**
* Now do a post to update list
*/
Response response = sendRequest(new PutRequest(URL_RM_CONSTRAINTS + "/" + constraintName, obj.toString(), "application/json"), Status.STATUS_OK);
// Check the response
JSONObject top = new JSONObject(response.getContentAsString());
JSONObject data = top.getJSONObject("data");
System.out.println(response.getContentAsString());
String url = data.getString("url");
String constraintName2 = data.getString("constraintName");
String constraintTitle = data.getString("constraintTitle");
JSONArray allowedValues = data.getJSONArray("allowedValues");
assertTrue(allowedValues.length() == 2);
assertTrue("values not correct", compare(array, allowedValues));
assertNotNull(url);
assertEquals(constraintName2, constraintName);
assertNotNull(constraintTitle);
assertEquals("title not as expected", constraintTitle, newTitle);
// Check that data has been persisted.
Response resp2 = sendRequest(new GetRequest(url), Status.STATUS_OK);
JSONObject top2 = new JSONObject(resp2.getContentAsString());
System.out.println("Problem here");
System.out.println(resp2.getContentAsString());
JSONObject data2 = top2.getJSONObject("data");
String constraintTitle2 = data2.getString("constraintTitle");
JSONArray allowedValues2 = data2.getJSONArray("allowedValues");
assertTrue("values not correct", compare(array, allowedValues2));
assertTrue("allowedValues is not 2", allowedValues2.length() == 2);
assertEquals(constraintName2, constraintName);
assertNotNull(constraintTitle2);
assertEquals("title not as expected", constraintTitle2, newTitle);
}
/**
* Now put without allowed values
*/
{
String newTitle = "update with no values";
JSONObject obj = new JSONObject();
obj.put("constraintName", RM_LIST);
obj.put("constraintTitle", newTitle);
/**
* Now do a put to update a new list
*/
Response response = sendRequest(new PutRequest(URL_RM_CONSTRAINTS + "/" + constraintName, obj.toString(), "application/json"), Status.STATUS_OK);
// Check the response
JSONObject top = new JSONObject(response.getContentAsString());
JSONObject data = top.getJSONObject("data");
System.out.println(response.getContentAsString());
String url = data.getString("url");
String constraintName2 = data.getString("constraintName");
String constraintTitle = data.getString("constraintTitle");
JSONArray allowedValues = data.getJSONArray("allowedValues");
assertTrue(allowedValues.length() == 2);
assertNotNull(url);
assertEquals(constraintName2, constraintName);
assertNotNull(constraintTitle);
assertEquals("title not as expected", constraintTitle, newTitle);
}
/**
* Now post without constraint Title
*/
{
JSONArray array = new JSONArray();
array.put("LEMON");
array.put("APPLE");
JSONObject obj = new JSONObject();
obj.put("allowedValues", array);
System.out.println(obj.toString());
/**
* Now do a Put to update the list - title should remain
*/
Response response = sendRequest(new PutRequest(URL_RM_CONSTRAINTS + "/" + constraintName, obj.toString(), "application/json"), Status.STATUS_OK);
// Check the response
JSONObject top = new JSONObject(response.getContentAsString());
JSONObject data = top.getJSONObject("data");
System.out.println(response.getContentAsString());
}
/**
* Add a new value (PEAR) to the list
*/
{
JSONArray array = new JSONArray();
array.put("PEAR");
array.put("LEMON");
array.put("APPLE");
JSONObject obj = new JSONObject();
obj.put("allowedValues", array);
System.out.println(obj.toString());
Response response = sendRequest(new PutRequest(URL_RM_CONSTRAINTS + "/" + constraintName, obj.toString(), "application/json"), Status.STATUS_OK);
// Check the response
JSONObject top = new JSONObject(response.getContentAsString());
JSONObject data = top.getJSONObject("data");
System.out.println(response.getContentAsString());
}
/**
* Remove a value (PEAR) from the list
*/
{
JSONArray array = new JSONArray();
array.put("APPLE");
array.put("LEMON");
JSONObject obj = new JSONObject();
obj.put("allowedValues", array);
System.out.println(obj.toString());
Response response = sendRequest(new PutRequest(URL_RM_CONSTRAINTS + "/" + constraintName, obj.toString(), "application/json"), Status.STATUS_OK);
// Check the response
JSONObject top = new JSONObject(response.getContentAsString());
JSONObject data = top.getJSONObject("data");
System.out.println(response.getContentAsString());
}
}
/**
* Create an RM Constraint
* @throws Exception
*/
public void testCreateRMConstraint() throws Exception
{
/**
* Delete the list to remove any junk then recreate it.
*/
//caveatConfigService.deleteRMConstraint(RM_LIST);
/**
* create a new list
*/
{
JSONArray array = new JSONArray();
array.put("NOFORN");
array.put("FGI");
JSONObject obj = new JSONObject();
obj.put("allowedValues", array);
obj.put("constraintName", RM_LIST);
obj.put("constraintTitle", GUID.generate());
System.out.println(obj.toString());
/**
* Now do a post to create a new list
*/
Response response = sendRequest(new PostRequest(URL_RM_CONSTRAINTS, obj.toString(), "application/json"), Status.STATUS_OK);
// Check the response
}
/**
* Now go and get the constraint
*/
{
String url = URL_RM_CONSTRAINTS + "/" + RM_LIST_URI_ELEM;
Response response = sendRequest(new GetRequest(url), Status.STATUS_OK);
JSONObject top = new JSONObject(response.getContentAsString());
JSONObject data = top.getJSONObject("data");
System.out.println(response.getContentAsString());
String constraintName = data.getString("constraintName");
assertNotNull("constraintName is null", constraintName);
// JSONArray constraintDetails = data.getJSONArray("constraintDetails");
//
// assertTrue("details array does not contain 3 elements", constraintDetails.length() == 3);
// for(int i =0; i < constraintDetails.length(); i++)
// {
// JSONObject detail = constraintDetails.getJSONObject(i);
// }
}
/**
* Now a constraint with a generated name
*/
{
String title = GUID.generate();
JSONArray array = new JSONArray();
array.put("Red");
array.put("Blue");
array.put("Green");
JSONObject obj = new JSONObject();
obj.put("allowedValues", array);
obj.put("constraintTitle", title);
System.out.println(obj.toString());
/**
* Now do a post to create a new list
*/
Response response = sendRequest(new PostRequest(URL_RM_CONSTRAINTS, obj.toString(), "application/json"), Status.STATUS_OK);
JSONObject top = new JSONObject(response.getContentAsString());
JSONObject data = top.getJSONObject("data");
System.out.println(response.getContentAsString());
// Check the response
String url = data.getString("url");
String constraintName = data.getString("constraintName");
String constraintTitle = data.getString("constraintTitle");
JSONArray allowedValues = data.getJSONArray("allowedValues");
assertTrue(allowedValues.length() == 3);
assertNotNull(url);
assertNotNull(constraintName);
assertNotNull(constraintTitle);
assertEquals("title not as expected", constraintTitle, title);
sendRequest(new GetRequest(url), Status.STATUS_OK);
}
/**
* Now a constraint with an empty list of values.
*/
{
JSONArray array = new JSONArray();
JSONObject obj = new JSONObject();
obj.put("allowedValues", array);
obj.put("constraintName", "rmc_whazoo");
obj.put("constraintTitle", GUID.generate());
System.out.println(obj.toString());
/**
* Now do a post to create a new list
*/
Response response = sendRequest(new PostRequest(URL_RM_CONSTRAINTS, obj.toString(), "application/json"), Status.STATUS_OK);
JSONObject top = new JSONObject(response.getContentAsString());
JSONObject data = top.getJSONObject("data");
System.out.println(response.getContentAsString());
// Check the response
}
// /**
// * Negative tests - duplicate list
// */
// {
// JSONArray array = new JSONArray();
// array.put("NOFORN");
// array.put("FGI");
//
// JSONObject obj = new JSONObject();
// obj.put("allowedValues", array);
// obj.put("constraintName", RM_LIST);
// obj.put("constraintTitle", "this is the title");
//
// System.out.println(obj.toString());
//
// /**
// * Now do a post to create a new list
// */
// Response response = sendRequest(new PostRequest(URL_RM_CONSTRAINTS, obj.toString(), "application/json"), Status.STATUS_CREATED);
// JSONObject top = new JSONObject(response.getContentAsString());
//
// JSONObject data = top.getJSONObject("data");
// System.out.println(response.getContentAsString());
//
// // Check the response
// }
}
public void testGetRMConstraintValues() throws Exception
{
createUser("fbloggs");
createUser("jrogers");
createUser("jdoe");
/**
* Delete the list to remove any junk then recreate it.
*/
{
if (caveatConfigService.getRMConstraint(RM_LIST) != null)
{
caveatConfigService.deleteRMConstraint(RM_LIST);
}
caveatConfigService.addRMConstraint(RM_LIST, "my title", new String[0]);
List<String> values = new ArrayList<String>();
values.add("NOFORN");
values.add("FGI");
caveatConfigService.updateRMConstraintListAuthority(RM_LIST, "fbloggs", values);
caveatConfigService.updateRMConstraintListAuthority(RM_LIST, "jrogers", values);
caveatConfigService.updateRMConstraintListAuthority(RM_LIST, "jdoe", values);
}
/**
* Positive test Get the constraint
*/
{
String url = URL_RM_CONSTRAINTS + "/" + RM_LIST_URI_ELEM + "/values";
Response response = sendRequest(new GetRequest(url), Status.STATUS_OK);
JSONObject top = new JSONObject(response.getContentAsString());
JSONObject data = top.getJSONObject("data");
System.out.println(response.getContentAsString());
String constraintName = data.getString("constraintName");
assertNotNull("constraintName is null", constraintName);
String constraintTitle = data.getString("constraintTitle");
assertNotNull("constraintTitle is null", constraintTitle);
JSONArray values = data.getJSONArray("values");
assertTrue("details array does not contain 2 elements", values.length() == 2);
boolean fgiFound = false;
boolean nofornFound = false;
for(int i =0; i < values.length(); i++)
{
JSONObject value = values.getJSONObject(i);
if(value.getString("valueName").equalsIgnoreCase("FGI"))
{
fgiFound = true;
}
if(value.getString("valueName").equalsIgnoreCase("NOFORN"))
{
nofornFound = true;
}
}
assertTrue("fgi not found", fgiFound);
assertTrue("noforn not found", nofornFound);
}
deleteUser("fbloggs");
deleteUser("jrogers");
deleteUser("jdoe");
}
/**
* Update a value in a constraint
* @throws Exception
*/
public void testUpdateRMConstraintValue() throws Exception
{
if (caveatConfigService.getRMConstraint(RM_LIST) != null)
{
caveatConfigService.deleteRMConstraint(RM_LIST);
}
caveatConfigService.addRMConstraint(RM_LIST, "my title", new String[0]);
/**
* Add some data to an empty list
*/
{
JSONArray values = new JSONArray();
JSONArray authorities = new JSONArray();
authorities.put("fbloggs");
authorities.put("jdoe");
JSONObject valueA = new JSONObject();
valueA.put("value", "NOFORN");
valueA.put("authorities", authorities);
values.put(valueA);
JSONObject valueB = new JSONObject();
valueB.put("value", "FGI");
valueB.put("authorities", authorities);
values.put(valueB);
JSONObject obj = new JSONObject();
obj.put("values", values);
/**
* Do the first update - should get back
* NOFORN - fbloggs, jdoe
* FGI - fbloggs, jdoe
*/
Response response = sendRequest(new PostRequest(URL_RM_CONSTRAINTS + "/" + RM_LIST + "/values" , obj.toString(), "application/json"), Status.STATUS_OK);
JSONObject top = new JSONObject(response.getContentAsString());
JSONObject data = top.getJSONObject("data");
System.out.println(response.getContentAsString());
assertNotNull("data is null", data);
JSONArray myValues = data.getJSONArray("values");
assertTrue("two values not found", myValues.length() == 2);
for(int i = 0; i < myValues.length(); i++)
{
JSONObject myObj = myValues.getJSONObject(i);
}
}
/**
* Add to a new value, NOCON, fbloggs, jrogers
*/
{
JSONArray values = new JSONArray();
JSONArray authorities = new JSONArray();
authorities.put("fbloggs");
authorities.put("jrogers");
JSONObject valueA = new JSONObject();
valueA.put("value", "NOCON");
valueA.put("authorities", authorities);
values.put(valueA);
JSONObject obj = new JSONObject();
obj.put("values", values);
/**
* Add a new value - should get back
* NOFORN - fbloggs, jdoe
* FGI - fbloggs, jdoe
* NOCON - fbloggs, jrogers
*/
System.out.println(obj.toString());
Response response = sendRequest(new PostRequest(URL_RM_CONSTRAINTS + "/" + RM_LIST + "/values" , obj.toString(), "application/json"), Status.STATUS_OK);
JSONObject top = new JSONObject(response.getContentAsString());
JSONObject data = top.getJSONObject("data");
System.out.println(response.getContentAsString());
assertNotNull("data is null", data);
JSONArray myValues = data.getJSONArray("values");
assertTrue("three values not found", myValues.length() == 3);
for(int i = 0; i < myValues.length(); i++)
{
JSONObject myObj = myValues.getJSONObject(i);
}
}
/**
* Add to an existing value (NOFORN, jrogers)
* should get back
* NOFORN - fbloggs, jdoe, jrogers
* FGI - fbloggs, jdoe
* NOCON - fbloggs, jrogers
*/
{
JSONArray values = new JSONArray();
JSONArray authorities = new JSONArray();
authorities.put("fbloggs");
authorities.put("jrogers");
authorities.put("jdoe");
JSONObject valueA = new JSONObject();
valueA.put("value", "NOFORN");
valueA.put("authorities", authorities);
values.put(valueA);
JSONObject obj = new JSONObject();
obj.put("values", values);
Response response = sendRequest(new PostRequest(URL_RM_CONSTRAINTS + "/" + RM_LIST + "/values" , obj.toString(), "application/json"), Status.STATUS_OK);
JSONObject top = new JSONObject(response.getContentAsString());
JSONObject data = top.getJSONObject("data");
System.out.println(response.getContentAsString());
assertNotNull("data is null", data);
JSONArray myValues = data.getJSONArray("values");
assertTrue("three values not found", myValues.length() == 3);
for(int i = 0; i < myValues.length(); i++)
{
JSONObject myObj = myValues.getJSONObject(i);
}
}
/**
* Remove from existing value (NOCON, fbloggs)
*/
{
JSONArray values = new JSONArray();
JSONArray authorities = new JSONArray();
authorities.put("jrogers");
JSONObject valueA = new JSONObject();
valueA.put("value", "NOCON");
valueA.put("authorities", authorities);
values.put(valueA);
JSONObject obj = new JSONObject();
obj.put("values", values);
/**
* should get back
* NOFORN - fbloggs, jdoe
* FGI - fbloggs, jdoe
* NOCON - jrogers
*/
Response response = sendRequest(new PostRequest(URL_RM_CONSTRAINTS + "/" + RM_LIST + "/values" , obj.toString(), "application/json"), Status.STATUS_OK);
JSONObject top = new JSONObject(response.getContentAsString());
JSONObject data = top.getJSONObject("data");
System.out.println(response.getContentAsString());
assertNotNull("data is null", data);
JSONArray myValues = data.getJSONArray("values");
assertTrue("three values not found", myValues.length() == 3);
boolean foundNOCON = false;
boolean foundNOFORN = false;
boolean foundFGI = false;
for(int i = 0; i < myValues.length(); i++)
{
JSONObject myObj = myValues.getJSONObject(i);
if(myObj.getString("valueName").equalsIgnoreCase("NOCON"))
{
foundNOCON = true;
}
if(myObj.getString("valueName").equalsIgnoreCase("NOFORN"))
{
foundNOFORN = true;
}
if(myObj.getString("valueName").equalsIgnoreCase("FGI"))
{
foundFGI = true;
}
}
assertTrue("not found NOCON", foundNOCON);
assertTrue("not found NOFORN", foundNOFORN);
assertTrue("not found FGI", foundFGI);
}
}
/**
* Delete the entire constraint
*
* @throws Exception
*/
public void testDeleteRMConstraint() throws Exception
{
/**
* Delete the list to remove any junk then recreate it.
*/
if (caveatConfigService.getRMConstraint(RM_LIST) != null)
{
caveatConfigService.deleteRMConstraint(RM_LIST);
}
caveatConfigService.addRMConstraint(RM_LIST, "my title", new String[0]);
/**
* Now do a delete
*/
Response response = sendRequest(new DeleteRequest(URL_RM_CONSTRAINTS + "/" + RM_LIST), Status.STATUS_OK);
/**
* Now delete the list that should have been deleted
*/
// TODO NEED TO THINK ABOUT THIS BEHAVIOUR
//{
// sendRequest(new DeleteRequest(URL_RM_CONSTRAINTS + "/" + RM_LIST), Status.STATUS_NOT_FOUND);
//}
/**
* Negative test - delete list that does not exist
*/
{
sendRequest(new DeleteRequest(URL_RM_CONSTRAINTS + "/" + "rmc_wibble"), Status.STATUS_NOT_FOUND);
}
}
private boolean compare(JSONArray from, JSONArray to) throws Exception
{
List<String> ret = new ArrayList<String>();
if(from.length() != to.length())
{
fail("arrays are different lengths" + from.length() +", " + to.length());
return false;
}
for(int i = 0 ; i < to.length(); i++)
{
ret.add(to.getString(i));
}
for(int i = 0 ; i < from.length(); i++)
{
String val = from.getString(i);
if(ret.contains(val))
{
}
else
{
fail("Value not contained in list:" + val);
return false;
}
}
return true;
}
/**
* Create an RM Constraint value
* @throws Exception
*/
public void testGetRMConstraintValue() throws Exception
{
String constraintName = null;
/*
* Create a new list
*/
{
String title = "Get Constraint Value";
JSONArray array = new JSONArray();
array.put("POTATO");
array.put("CARROT");
array.put("TURNIP");
JSONObject obj = new JSONObject();
obj.put("allowedValues", array);
obj.put("constraintTitle", title);
/**
* Now do a post to create a new list
*/
Response response = sendRequest(new PostRequest(URL_RM_CONSTRAINTS, obj.toString(), "application/json"), Status.STATUS_OK);
JSONObject top = new JSONObject(response.getContentAsString());
JSONObject data = top.getJSONObject("data");
constraintName = data.getString("constraintName");
JSONArray allowedValues = data.getJSONArray("allowedValues");
assertTrue("values not correct", compare(array, allowedValues));
}
/**
* Get the CARROT value
*/
{
String url = URL_RM_CONSTRAINTS + "/" + constraintName + "/values/" + "CARROT";
Response response = sendRequest(new GetRequest(url), Status.STATUS_OK);
JSONObject top = new JSONObject(response.getContentAsString());
}
{
String url = URL_RM_CONSTRAINTS + "/" + constraintName + "/values/" + "ONION";
sendRequest(new GetRequest(url), Status.STATUS_NOT_FOUND);
}
}
}