diff options
author | Manor, Yanir (ym903w) <ym903w@intl.att.com> | 2018-10-21 09:34:56 +0300 |
---|---|---|
committer | Manor, Yanir (ym903w) <ym903w@intl.att.com> | 2018-10-21 09:34:56 +0300 |
commit | c88cb68410da3e91698a2a2eab6be84ada83ba02 (patch) | |
tree | 496bd05755d305378c59a78f50cf6437336bfb58 /src/main | |
parent | 3de8b11db3f72a579ba9d725a1a995854c616be0 (diff) |
upgrade dace-d ci
upgrade dace-d ci
Change-Id: I4295bdf14706b8e678b3274585440148017d23d6
Issue-ID: DCAEGEN2-838
Signed-off-by: Manor, Yanir (ym903w) <ym903w@intl.att.com>
Diffstat (limited to 'src/main')
3 files changed, 143 insertions, 5 deletions
diff --git a/src/main/java/org/onap/dcae/ci/api/tests/composition/SaveAndSubmitCompositionFullFlowTest.java b/src/main/java/org/onap/dcae/ci/api/tests/composition/SaveAndSubmitCompositionFullFlowTest.java index f2d7a24..127c5aa 100644 --- a/src/main/java/org/onap/dcae/ci/api/tests/composition/SaveAndSubmitCompositionFullFlowTest.java +++ b/src/main/java/org/onap/dcae/ci/api/tests/composition/SaveAndSubmitCompositionFullFlowTest.java @@ -2,6 +2,7 @@ package org.onap.dcae.ci.api.tests.composition; import com.aventstack.extentreports.Status; +import com.google.gson.JsonObject; import com.google.gson.reflect.TypeToken; import org.onap.dcae.ci.api.tests.DcaeRestBaseTest; import org.onap.dcae.ci.entities.RestResponse; @@ -96,7 +97,9 @@ public class SaveAndSubmitCompositionFullFlowTest extends DcaeRestBaseTest { Report.log(Status.INFO, "Verify service vfi has references to both mc versions"); Type typeToken = new TypeToken<Map<String, List<MonitoringComponent>>>(){}.getType(); Map<String, List<MonitoringComponent>> monitoringComponents = gson.fromJson(response.getResponse(), typeToken); - assertThat(monitoringComponents.get("monitoringComponents").size()).isEqualTo(2); + assertThat(monitoringComponents.get("monitoringComponents").size()).isEqualTo(1); + MonitoringComponent monitoringComponent = monitoringComponents.get("monitoringComponents").get(0); + assertThat(monitoringComponent.getSubmittedUuid()).isEqualTo(initialUuid); Report.log(Status.INFO, "About to re-submit the composition"); response = DcaeRestClient.submitComposition(request.getServiceUuid(), request.getVfiName(), mc.getUuid()); assertThat(response.getStatusCode()) @@ -111,7 +114,6 @@ public class SaveAndSubmitCompositionFullFlowTest extends DcaeRestBaseTest { List<MonitoringComponent> mcList = monitoringComponents.get("monitoringComponents"); assertThat(mcList.size()).isEqualTo(1); assertThat(mcList.get(0).getUuid()).isEqualTo(mc.getUuid()); - } @@ -132,7 +134,7 @@ public class SaveAndSubmitCompositionFullFlowTest extends DcaeRestBaseTest { .isEqualTo(200); CreateMcResponse mcResponse = gson.fromJson(response.getResponse(), CreateMcResponse.class); - String initialUuid = mcResponse.getVfcmt().getUuid(); + String initialUuid = mcResponse.getVfcmt().getUuid(); response = DcaeRestClient.getLatestMcUuid(request.getContextType(), request.getServiceUuid(), request.getVfiName(), initialUuid); assertThat(response.getStatusCode()) @@ -149,6 +151,8 @@ public class SaveAndSubmitCompositionFullFlowTest extends DcaeRestBaseTest { Type typeToken = new TypeToken<Map<String, List<MonitoringComponent>>>(){}.getType(); Map<String, List<MonitoringComponent>> monitoringComponents = gson.fromJson(response.getResponse(), typeToken); assertThat(monitoringComponents.get("monitoringComponents").size()).isEqualTo(1); + MonitoringComponent monitoringComponent = monitoringComponents.get("monitoringComponents").get(0); + assertThat(monitoringComponent.getSubmittedUuid()).isNull(); Report.log(Status.INFO, "About to submit the composition"); response = DcaeRestClient.submitComposition(request.getServiceUuid(), request.getVfiName(), initialUuid); assertThat(response.getStatusCode()) @@ -169,8 +173,129 @@ public class SaveAndSubmitCompositionFullFlowTest extends DcaeRestBaseTest { Report.log(Status.INFO, "Verify service vfi has references to both mc versions"); monitoringComponents = gson.fromJson(response.getResponse(), typeToken); - assertThat(monitoringComponents.get("monitoringComponents").size()).isEqualTo(2); + assertThat(monitoringComponents.get("monitoringComponents").size()).isEqualTo(1); + monitoringComponent = monitoringComponents.get("monitoringComponents").get(0); + assertThat(monitoringComponent.getSubmittedUuid()).isEqualTo(initialUuid); } + @Test + public void revertOverwriteRevertedAndDeleteMcTest() throws IOException { + + CreateVFCMTRequest request = new CreateVFCMTRequest(); + // If you crashed here (below) it is because your environment has no Base Monitoring Templates + request.setTemplateUuid(baseTemplate.getUuid()); + Service service = createServiceWithVFiAsSdcDesigner(); + request.setVfiName(service.getResources().get(0).getResourceInstanceName()); + request.setServiceUuid(service.getUuid()); + DcaeRestClient.fillCreateMcRequestMandatoryFields(request); + + RestResponse response = DcaeRestClient.createMc(gson.toJson(request)); + assertThat(response.getStatusCode()) + .as("status code") + .isEqualTo(200); + + CreateMcResponse mcResponse = gson.fromJson(response.getResponse(), CreateMcResponse.class); + Report.log(Status.INFO, "Vfcmt created successfully. About to submit composition"); + String initialUuid = mcResponse.getVfcmt().getUuid(); + + Report.log(Status.INFO, "About to submit the composition"); + response = DcaeRestClient.submitComposition(request.getServiceUuid(), request.getVfiName(), initialUuid); + assertThat(response.getStatusCode()) + .as("status code") + .isEqualTo(200); + // the submit action should certify the mc. + Report.log(Status.INFO, "Save new composition version after submit"); + String nid = "12313"; + response = DcaeRestClient.saveComposition(request.getServiceUuid(), request.getVfiName(), initialUuid, String.format("{\"nid\":\"%s\"}", nid)); + assertThat(response.getStatusCode()) + .as("status code") + .isEqualTo(200); + // the save action should promote the mc version to 1.1 and a new reference should be created - both references should be kept at this point + ResourceDetailed mc = gson.fromJson(response.getResponse(), ResourceDetailed.class); + assertThat(mc.getLifecycleState()).isEqualTo(DcaeBeConstants.LifecycleStateEnum.NOT_CERTIFIED_CHECKIN.name()); + assertThat(mc.getVersion()).isEqualTo("1.1"); + response = DcaeRestClient.saveRule(mc.getUuid(), "dcaeComp", nid, "configParam", "{version:4.1,eventType:syslogFields,description:newRule,actions:[{from:{state:closed,value:fromField,regex:\"\"},target:event.commonEventHeader.target,id:id,actionType:copy}]}"); + assertThat(response.getStatusCode()) + .as("status code") + .isEqualTo(200); + response = DcaeRestClient.getServiceExternalReferences(service.getUuid(), service.getVersion()); + assertThat(response.getStatusCode()) + .as("status code") + .isEqualTo(200); + Report.log(Status.INFO, "Verify service vfi has references to both mc versions"); + Type typeToken = new TypeToken<Map<String, List<MonitoringComponent>>>(){}.getType(); + Map<String, List<MonitoringComponent>> monitoringComponents = gson.fromJson(response.getResponse(), typeToken); + assertThat(monitoringComponents.get("monitoringComponents").size()).isEqualTo(1); + MonitoringComponent monitoringComponent = monitoringComponents.get("monitoringComponents").get(0); + String revertableUuid = monitoringComponent.getUuid(); + assertThat(monitoringComponent.getSubmittedUuid()).isEqualTo(initialUuid); + Report.log(Status.INFO, "About to revert to the submitted composition"); + response = DcaeRestClient.revertToSubmittedComposition(request.getServiceUuid(), request.getVfiName(), monitoringComponent.getUuid(), initialUuid); + assertThat(response.getStatusCode()) + .as("status code") + .isEqualTo(200); + // a successful revert of the new version should result in the submitted MC referencing it + response = DcaeRestClient.getServiceExternalReferences(service.getUuid(), service.getVersion()); + assertThat(response.getStatusCode()) + .as("status code") + .isEqualTo(200); + monitoringComponents = gson.fromJson(response.getResponse(), typeToken); + List<MonitoringComponent> mcList = monitoringComponents.get("monitoringComponents"); + assertThat(mcList.size()).isEqualTo(1); + monitoringComponent = monitoringComponents.get("monitoringComponents").get(0); + assertThat(monitoringComponent.getUuid()).isEqualTo(initialUuid.concat("/").concat(revertableUuid)); + // before saving the composition the reverted MC has 3 artifacts - ref, cdump and rule. + response = DcaeRestClient.getResourceDetails(revertableUuid); + assertThat(response.getStatusCode()) + .as("status code") + .isEqualTo(200); + mc = gson.fromJson(response.getResponse(), ResourceDetailed.class); + assertThat(mc.getArtifacts().size()).isEqualTo(3); + // after saving the composition the reverted MC should be overwritten by the initial version and only contain 2 artifacts - ref and cdump (no rule). + response = DcaeRestClient.saveComposition(service.getUuid(), request.getVfiName(), monitoringComponent.getUuid(), gson.toJson(mcResponse.getCdump())); + assertThat(response.getStatusCode()) + .as("status code") + .isEqualTo(200); + response = DcaeRestClient.getResourceDetails(revertableUuid); + assertThat(response.getStatusCode()) + .as("status code") + .isEqualTo(200); + mc = gson.fromJson(response.getResponse(), ResourceDetailed.class); + assertThat(mc.getArtifacts().size()).isEqualTo(2); + // a save rule request should now fail with the provided nid as the composition has been reset to the initial one + response = DcaeRestClient.saveRule(mc.getUuid(), "dcaeComp", nid, "configParam", "{version:4.1,eventType:syslogFields,description:newRule,actions:[{from:{state:closed,value:fromField,regex:\"\"},target:event.commonEventHeader.target,id:id,actionType:copy}]}"); + assertThat(response.getStatusCode()) + .as("status code") + .isEqualTo(400); + assertThat(response.getResponse()).isEqualTo("{\"requestError\":{\"serviceException\":{\"messageId\":\"SVC6114\",\"text\":\"DCAE component %1 not found in composition\",\"variables\":[\"dcaeComp\"],\"formattedErrorMessage\":\"DCAE component dcaeComp not found in composition\"}},\"notes\":\"\"}"); + response = DcaeRestClient.getServiceExternalReferences(service.getUuid(), service.getVersion()); + assertThat(response.getStatusCode()) + .as("status code") + .isEqualTo(200); + monitoringComponents = gson.fromJson(response.getResponse(), typeToken); + mcList = monitoringComponents.get("monitoringComponents"); + assertThat(mcList.size()).isEqualTo(1); + monitoringComponent = monitoringComponents.get("monitoringComponents").get(0); + assertThat(monitoringComponent.getUuid()).isEqualTo(revertableUuid); + // revert again and then delete. table should be empty + Report.log(Status.INFO, "About to revert to the submitted composition"); + response = DcaeRestClient.revertToSubmittedComposition(request.getServiceUuid(), request.getVfiName(), revertableUuid, initialUuid); + assertThat(response.getStatusCode()) + .as("status code") + .isEqualTo(200); + monitoringComponent = gson.fromJson(response.getResponse(), MonitoringComponent.class); + Report.log(Status.INFO, "About to delete the submitted MC"); + response = DcaeRestClient.deleteMcReferenceAndBP(monitoringComponent.getName(), request.getServiceUuid(), request.getVfiName(), monitoringComponent.getUuid()); + assertThat(response.getStatusCode()) + .as("status code") + .isEqualTo(200); + response = DcaeRestClient.getServiceExternalReferences(service.getUuid(), service.getVersion()); + assertThat(response.getStatusCode()) + .as("status code") + .isEqualTo(200); + monitoringComponents = gson.fromJson(response.getResponse(), typeToken); + mcList = monitoringComponents.get("monitoringComponents"); + assertThat(mcList.size()).isEqualTo(0); + } } diff --git a/src/main/java/org/onap/dcae/ci/api/tests/configuration/ConfigurationControllerApiTest.java b/src/main/java/org/onap/dcae/ci/api/tests/configuration/ConfigurationControllerApiTest.java index 62e7e6b..550d32e 100644 --- a/src/main/java/org/onap/dcae/ci/api/tests/configuration/ConfigurationControllerApiTest.java +++ b/src/main/java/org/onap/dcae/ci/api/tests/configuration/ConfigurationControllerApiTest.java @@ -1,7 +1,6 @@ package org.onap.dcae.ci.api.tests.configuration; import com.aventstack.extentreports.Status; -import com.google.gson.JsonArray; import com.google.gson.JsonObject; import org.onap.dcae.ci.api.tests.DcaeRestBaseTest; import org.onap.dcae.ci.entities.RestResponse; diff --git a/src/main/java/org/onap/dcae/ci/utilities/DcaeRestClient.java b/src/main/java/org/onap/dcae/ci/utilities/DcaeRestClient.java index d754dfd..88fbd4d 100644 --- a/src/main/java/org/onap/dcae/ci/utilities/DcaeRestClient.java +++ b/src/main/java/org/onap/dcae/ci/utilities/DcaeRestClient.java @@ -169,10 +169,24 @@ public class DcaeRestClient extends BaseRestUtils { public static RestResponse getComposition(String componentId) throws IOException{ return sendGet(getApiUrl("/getComposition/"+ componentId), designerDefaultId); } + public static RestResponse submitComposition(String componentId, String serviceUuid, String vnfiName, String monitoringType) throws IOException{ return sendPost(getApiUrl("/createBluePrint/"+ componentId +"/"+ serviceUuid +"/"+ UrlEscapers.urlFragmentEscaper().escape(vnfiName) + "/"+ UrlEscapers.urlFragmentEscaper().escape(monitoringType)), "" ,designerDefaultId, "application/json"); } + public static RestResponse revertToSubmittedComposition(String serviceUuid, String vnfiName, String vfcmtUuid, String submittedUuid) throws IOException{ + return sendPost(getApiUrl("/service/" + serviceUuid +"/"+ UrlEscapers.urlFragmentEscaper().escape(vnfiName) + "/"+ vfcmtUuid + "/revert/" + submittedUuid), "" ,designerDefaultId, "application/json"); + } + + public static RestResponse deleteMcReferenceAndBP(String mcName, String serviceUuid, String vnfiName, String vfcmtUuid) throws IOException{ + return sendDelete(getApiUrl("/service/" + mcName + "/" + serviceUuid +"/"+ UrlEscapers.urlFragmentEscaper().escape(vnfiName) + "/"+ vfcmtUuid + "/deleteVfcmtReference"), designerDefaultId); + } + + public static RestResponse deleteMcReferenceAndBP(String mcName, String serviceUuid, String vnfiName, String vfcmtUuid, String submittedUuid) throws IOException{ + return sendDelete(getApiUrl(String.format("/service/%s/%s/%s/%s/deleteVfcmtReference/%s", mcName, serviceUuid, UrlEscapers.urlFragmentEscaper().escape(vnfiName), vfcmtUuid, submittedUuid)), designerDefaultId); + } + + /* Life Cycle */ public static RestResponse checkinVfcmt(String vfcmtUuid, String userId) throws IOException { |