You can create the request body as follows;
Map<String, Object> requestBody = new HashMap<>();
// Create actions object array
Map<String, Object> valueMap = new HashMap<>();
valueMap.put("value",true);
Map<String, Object> actionsObject = new HashMap<>();
actionsObject.put("n", "O");
actionsObject.put("r", "o");
actionsObject.put("value", valueMap);
Object[] actionsArray = new Object[1];
actionsArray[0] = actionsObject;
requestBody.put("actions", actionsArray);
// Create condition object
Map<String, Object> conditionsObject = new HashMap<>();
conditionsObject.put("i", "o");
conditionsObject.put("n", "O");
conditionsObject.put("operand", "true");
conditionsObject.put("operator", "=");
conditionsObject.put("property", "value");
conditionsObject.put("rt", "o");
conditionsObject.put("type", "boolean");
Object[] conditionsArray = new Object[1];
conditionsArray[0] = conditionsObject;
Map<String, Object> conditionMainObject = new HashMap<>();
conditionMainObject.put("condition", conditionsArray);
requestBody.put("conditions", conditionMainObject);
// add currentStatus
requestBody.put("currentStatus", "Enabled");
JSONObject request = new JSONObject(requestBody);
Then use the request
in POST call;
Response response = RestAssured
.given(RequestSpec).auth()
.body(request)
.post("?id=" + Id);
int statusCode = response.getStatusCode();
System.out.println(statusCode);
assertThat(statusCode, equalTo(200));
Required imports;
import org.json.JSONObject;
import java.util.HashMap;
import java.util.Map;