diff options
author | Elena Kuleshov <evn@att.com> | 2019-06-04 20:49:09 -0400 |
---|---|---|
committer | Elena Kuleshov <evn@att.com> | 2019-06-04 20:55:37 -0400 |
commit | 8f01af4f635801a5d319bab7f9f9f2c437f7af37 (patch) | |
tree | b849f93825ae72ea2650a43ef6be3b347f6090dc /asdc-controller | |
parent | 59eff996497691e0fc82b627dcda306e861655b3 (diff) |
Handle 201 and 422 status codes
SDC activitySpec API returns 201 for success and 422 when already exists
Issue-ID: SO-1996
Signed-off-by: Kuleshov, Elena <evn@att.com>
Change-Id: I75837b75cbd24f4ccfb97a07e91219b3b61453f6
Diffstat (limited to 'asdc-controller')
-rw-r--r-- | asdc-controller/src/main/java/org/onap/so/asdc/activity/ActivitySpecsActions.java | 8 | ||||
-rw-r--r-- | asdc-controller/src/test/java/org/onap/asdc/activity/ActivitySpecsActionsTest.java | 53 |
2 files changed, 59 insertions, 2 deletions
diff --git a/asdc-controller/src/main/java/org/onap/so/asdc/activity/ActivitySpecsActions.java b/asdc-controller/src/main/java/org/onap/so/asdc/activity/ActivitySpecsActions.java index c80e84b574..619d89438e 100644 --- a/asdc-controller/src/main/java/org/onap/so/asdc/activity/ActivitySpecsActions.java +++ b/asdc-controller/src/main/java/org/onap/so/asdc/activity/ActivitySpecsActions.java @@ -67,7 +67,9 @@ public class ActivitySpecsActions { Response response = httpClient.post(payload); int statusCode = response.getStatus(); - if (statusCode != HttpStatus.SC_OK) { + if (statusCode == HttpStatus.SC_UNPROCESSABLE_ENTITY) { + logger.warn("{} {} {}", "ActivitySpec", activitySpec.getName(), "already exists in SDC"); + } else if (statusCode != HttpStatus.SC_OK && statusCode != HttpStatus.SC_CREATED) { logger.warn("{} {} {}", "Error creating activity spec", activitySpec.getName(), statusCode); } else { if (response.getEntity() != null) { @@ -108,7 +110,9 @@ public class ActivitySpecsActions { int statusCode = response.getStatus(); - if (statusCode != HttpStatus.SC_OK) { + if (statusCode == HttpStatus.SC_UNPROCESSABLE_ENTITY) { + logger.warn("{} {} {}", "ActivitySpec with id", activitySpecId, "is already certified in SDC"); + } else if (statusCode != HttpStatus.SC_OK) { logger.warn("{} {} {}", "Error certifying activity", activitySpecId, statusCode); } else { certificationResult = true; diff --git a/asdc-controller/src/test/java/org/onap/asdc/activity/ActivitySpecsActionsTest.java b/asdc-controller/src/test/java/org/onap/asdc/activity/ActivitySpecsActionsTest.java index 438120924a..7de35b5c13 100644 --- a/asdc-controller/src/test/java/org/onap/asdc/activity/ActivitySpecsActionsTest.java +++ b/asdc-controller/src/test/java/org/onap/asdc/activity/ActivitySpecsActionsTest.java @@ -56,6 +56,44 @@ public class ActivitySpecsActionsTest extends BaseTest { } @Test + public void CreateActivitySpecReturnsCreated_Test() throws Exception { + String HOSTNAME = createURLWithPort(""); + + ActivitySpec activitySpec = new ActivitySpec(); + activitySpec.setName("testActivitySpec"); + activitySpec.setDescription("Test Activity Spec"); + ActivitySpecCreateResponse activitySpecCreateResponse = new ActivitySpecCreateResponse(); + activitySpecCreateResponse.setId("testActivityId"); + ObjectMapper mapper = new ObjectMapper(); + String body = mapper.writeValueAsString(activitySpecCreateResponse); + wireMockServer.stubFor(post(urlPathMatching("/v1.0/activity-spec")) + .willReturn(aResponse().withHeader("Content-Type", "application/json") + .withStatus(org.springframework.http.HttpStatus.CREATED.value()).withBody(body))); + + String activitySpecId = activitySpecsActions.createActivitySpec(HOSTNAME, activitySpec); + assertEquals("testActivityId", activitySpecId); + } + + @Test + public void CreateActivitySpecReturnsExists_Test() throws Exception { + String HOSTNAME = createURLWithPort(""); + + ActivitySpec activitySpec = new ActivitySpec(); + activitySpec.setName("testActivitySpec"); + activitySpec.setDescription("Test Activity Spec"); + ActivitySpecCreateResponse activitySpecCreateResponse = new ActivitySpecCreateResponse(); + activitySpecCreateResponse.setId("testActivityId"); + ObjectMapper mapper = new ObjectMapper(); + String body = mapper.writeValueAsString(activitySpecCreateResponse); + wireMockServer.stubFor(post(urlPathMatching("/v1.0/activity-spec")) + .willReturn(aResponse().withHeader("Content-Type", "application/json") + .withStatus(org.springframework.http.HttpStatus.UNPROCESSABLE_ENTITY.value()).withBody(body))); + + String activitySpecId = activitySpecsActions.createActivitySpec(HOSTNAME, activitySpec); + assertEquals(null, activitySpecId); + } + + @Test public void CertifyActivitySpec_Test() throws Exception { String HOSTNAME = createURLWithPort(""); @@ -70,6 +108,21 @@ public class ActivitySpecsActionsTest extends BaseTest { assertTrue(certificationResult); } + @Test + public void CertifyActivitySpecReturnsExists_Test() throws Exception { + String HOSTNAME = createURLWithPort(""); + + String activitySpecId = "testActivitySpec"; + String urlPath = "/v1.0/activity-spec/testActivitySpec/versions/latest/actions"; + + wireMockServer.stubFor( + put(urlPathMatching(urlPath)).willReturn(aResponse().withHeader("Content-Type", "application/json") + .withStatus(org.springframework.http.HttpStatus.UNPROCESSABLE_ENTITY.value()))); + + boolean certificationResult = activitySpecsActions.certifyActivitySpec(HOSTNAME, activitySpecId); + assertFalse(certificationResult); + } + private String createURLWithPort(String uri) { return "http://localhost:" + wireMockPort + uri; } |