JSONArray payload formatting error

18 views
Skip to first unread message

Kehinde Adeoya

unread,
Mar 15, 2023, 8:39:05 AM3/15/23
to REST assured
I converted a JSONArray to a POJO, but RestAssured appended unnecessary string.

This is the JSONArray that worked perfectly in postman.
[
        {
            "op": "ADD",
            "path": "/fields/System.Title",
            "from": null,
            "value": "placeholder"
        }
 ]

I converted it to POJO classes
public class CreateTestcase {
private String op;
private String path;
private Object from;
private String value;
}

@Data
public class CreateTestcaseImpl {
List<CreateTestcase> createTestcaseList;
}

And I implemented it his way
@SneakyThrows
public static CreateTestcaseImpl createTestcaseImpl(){
CreateTestcase createTestcase = new CreateTestcase();

createTestcase.setOp(String.valueOf(Operations.TestCaseOperations.ADD));
createTestcase.setPath(AppProperties.getTestCasePath());
createTestcase.setFrom(null);
createTestcase.setValue("placeholder");
List<CreateTestcase> createTestcaseList = new ArrayList<>();
createTestcaseList.add(createTestcase);

CreateTestcaseImpl createTestcaseImpl = new CreateTestcaseImpl();
createTestcaseImpl.setCreateTestcaseList(createTestcaseList);

ObjectMapper objectMapper = new ObjectMapper();
String allEmployeeJson = objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(createTestcaseImpl);
System.out.println(allEmployeeJson);
return createTestcaseImpl;
}

When it is returned, it is this format.
{
    "createTestcaseList": [
        {
            "op": "ADD",
            "path": "/fields/System.Title",
            "from": null,
            "value": "placeholder"
        }
    ]
}

So the test fails.
How do i prepare the payload to return the expected format
[
        {
            "op": "ADD",
            "path": "/fields/System.Title",
            "from": null,
            "value": "placeholder"
        }
 ]




Reply all
Reply to author
Forward
0 new messages