summaryrefslogtreecommitdiffstats
path: root/src/main
diff options
context:
space:
mode:
authorManor, Yanir (ym903w) <ym903w@intl.att.com>2018-10-21 09:34:56 +0300
committerManor, Yanir (ym903w) <ym903w@intl.att.com>2018-10-21 09:34:56 +0300
commitc88cb68410da3e91698a2a2eab6be84ada83ba02 (patch)
tree496bd05755d305378c59a78f50cf6437336bfb58 /src/main
parent3de8b11db3f72a579ba9d725a1a995854c616be0 (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')
-rw-r--r--src/main/java/org/onap/dcae/ci/api/tests/composition/SaveAndSubmitCompositionFullFlowTest.java133
-rw-r--r--src/main/java/org/onap/dcae/ci/api/tests/configuration/ConfigurationControllerApiTest.java1
-rw-r--r--src/main/java/org/onap/dcae/ci/utilities/DcaeRestClient.java14
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 {