Closed flacks closed 4 years ago
When Java retrieves the upstream JSON object, the object is ordered:
{"flashcards":[{"question":"core java question","answer":"dummy answer","id":1,"category":"core java"},{"question":"java reflection question","answer":"dummy answer","id":2,"category":"java reflection"},{"question":"java collections question","answer":"dummy answer","id":3,"category":"java collections"}]},
{"flashcards":[{"question":"core java question","answer":"dummy answer","id":1,"category":"core java"},{"question":"java reflection question","answer":"dummy answer","id":2,"category":"java reflection"},{"question":"java collections question","answer":"dummy answer","id":3,"category":"java collections"}]}
however the field ordering for test 2 is:
{"flashcards":[{"id":1,"question":"core java question","answer":"dummy answer","category":"core java"},{"id":2,"question":"java reflection question","answer":"dummy answer","category":"java reflection"},{"id":3,"question":"java collections question","answer":"dummy answer","category":"java collections"}]},
{"flashcards":[{"id":1,"question":"core java question","answer":"dummy answer","category":"core java"},{"id":2,"question":"java reflection question","answer":"dummy answer","category":"java reflection"},{"id":3,"question":"java collections question","answer":"dummy answer","category":"java collections"}]}
which results in assertion failure.
Fix Replace the assertion test (L57) with:
assertTrue(stringWriter.toString().contains( "{\"flashcards\":[{\"question\":\"core java question\",\"answer\":\"dummy answer\",\"id\":1,\"category\":\"core java\"},{\"question\":\"java reflection question\",\"answer\":\"dummy answer\",\"id\":2,\"category\":\"java reflection\"},{\"question\":\"java collections question\",\"answer\":\"dummy answer\",\"id\":3,\"category\":\"java collections\"}]}"));
Resolved the issue and updated the problem. The original test was checking for information from the endpoint in tier 5 instead of testing the entity created in tier 4.
When Java retrieves the upstream JSON object, the object is ordered:
{"flashcards":[{"question":"core java question","answer":"dummy answer","id":1,"category":"core java"},{"question":"java reflection question","answer":"dummy answer","id":2,"category":"java reflection"},{"question":"java collections question","answer":"dummy answer","id":3,"category":"java collections"}]}
,however the field ordering for test 2 is:
{"flashcards":[{"id":1,"question":"core java question","answer":"dummy answer","category":"core java"},{"id":2,"question":"java reflection question","answer":"dummy answer","category":"java reflection"},{"id":3,"question":"java collections question","answer":"dummy answer","category":"java collections"}]}
,which results in assertion failure.
Fix Replace the assertion test (L57) with: