aboutsummaryrefslogtreecommitdiffstats
path: root/asdc-controller
diff options
context:
space:
mode:
authorElena Kuleshov <evn@att.com>2019-06-04 20:49:09 -0400
committerElena Kuleshov <evn@att.com>2019-06-04 20:55:37 -0400
commit8f01af4f635801a5d319bab7f9f9f2c437f7af37 (patch)
treeb849f93825ae72ea2650a43ef6be3b347f6090dc /asdc-controller
parent59eff996497691e0fc82b627dcda306e861655b3 (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.java8
-rw-r--r--asdc-controller/src/test/java/org/onap/asdc/activity/ActivitySpecsActionsTest.java53
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;
}