From 43e2a1b35647567e5d05d29d495fc5b11191a836 Mon Sep 17 00:00:00 2001 From: Bernardo Date: Thu, 7 Apr 2022 13:33:54 +0200 Subject: [PATCH] Adding unit test for a different error case Small change, just for adding a little more info to the existing generic error mgmt --- .../edu/ksu/canvas/errors/ErrorsJsonTest.java | 17 +++++++++++++++++ .../course/CreateCourseSisidError.json | 11 +++++++++++ 2 files changed, 28 insertions(+) create mode 100644 src/test/resources/SampleJson/course/CreateCourseSisidError.json diff --git a/src/test/java/edu/ksu/canvas/errors/ErrorsJsonTest.java b/src/test/java/edu/ksu/canvas/errors/ErrorsJsonTest.java index 44918c36..2556c90e 100644 --- a/src/test/java/edu/ksu/canvas/errors/ErrorsJsonTest.java +++ b/src/test/java/edu/ksu/canvas/errors/ErrorsJsonTest.java @@ -102,4 +102,21 @@ public void testFailedCourseDateError() { assertNotNull(error.getMessage()); assertNotNull(error.getType()); } + + @Test + public void testFailedCourseSisIdError() { + InputStreamReader reader = new InputStreamReader(getClass().getResourceAsStream("/SampleJson/course/CreateCourseSisidError.json")); + Gson gson = GsonResponseParser.getDefaultGsonParser(false); + GenericErrorResponse response = gson.fromJson(reader, GenericErrorResponse.class); + assertNotNull(response); + assertNotNull(response.getErrors()); + assertNotNull(response.getErrors().get("sis_source_id")); + assertEquals(1, response.getErrors().get("sis_source_id").size()); + List errors = response.getErrors().get("sis_source_id"); + assertNotNull(errors); + ErrorDetails error = errors.get(0); + assertEquals("sis_source_id", error.getAttribute()); + assertNotNull(error.getMessage()); + assertNotNull(error.getType()); + } } diff --git a/src/test/resources/SampleJson/course/CreateCourseSisidError.json b/src/test/resources/SampleJson/course/CreateCourseSisidError.json new file mode 100644 index 00000000..f4bc55c1 --- /dev/null +++ b/src/test/resources/SampleJson/course/CreateCourseSisidError.json @@ -0,0 +1,11 @@ +{ + "errors": { + "sis_source_id": [ + { + "attribute": "sis_source_id", + "type": "SIS ID \"123\" is already in use", + "message": "SIS ID \"123\" is already in use" + } + ] + } +}