aboutsummaryrefslogtreecommitdiffstats
path: root/vid-automation/src
diff options
context:
space:
mode:
Diffstat (limited to 'vid-automation/src')
-rw-r--r--vid-automation/src/main/java/org/onap/sdc/ci/tests/execute/setup/SetupCDTest.java17
-rw-r--r--vid-automation/src/main/java/org/onap/sdc/ci/tests/utilities/GeneralUIUtils.java12
-rw-r--r--vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/aaf/AAFGetUrlServicePreset.java25
-rw-r--r--vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/mso/PresetMSOCreateMacroPre1806Post.java2
-rw-r--r--vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/mso/PresetMSOCreateServiceInstanceAlacarte.java (renamed from vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/mso/PresetMSOCreateServiceInstanceAlacarte5GServiceWithNetwork.java)22
-rw-r--r--vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/mso/PresetMSOCreateVfModuleALaCarteCypress.java20
-rw-r--r--vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/mso/PresetMSOCreateVfModuleALaCarteE2E.java89
-rw-r--r--vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/mso/PresetMSOCreateVfModuleBase.java25
-rw-r--r--vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/mso/PresetMSOCreateVnfALaCarteCypress2.java2
-rw-r--r--vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/mso/PresetMSOCreateVnfALaCarteE2E.java67
-rw-r--r--vid-automation/src/main/java/org/onap/vid/api/AsyncInstantiationBase.java55
-rw-r--r--vid-automation/src/main/java/org/onap/vid/api/BaseApiTest.java36
-rw-r--r--vid-automation/src/main/java/vid/automation/test/Constants.java3
-rw-r--r--vid-automation/src/main/java/vid/automation/test/infra/Features.java11
-rw-r--r--vid-automation/src/main/java/vid/automation/test/infra/Get.java3
-rw-r--r--vid-automation/src/main/java/vid/automation/test/infra/ModelInfo.java23
-rw-r--r--vid-automation/src/main/java/vid/automation/test/infra/ModelInfoBase.java34
-rw-r--r--vid-automation/src/main/java/vid/automation/test/infra/ModelInfoWithCustomization.java20
-rw-r--r--vid-automation/src/main/java/vid/automation/test/infra/SelectOption.java29
-rw-r--r--vid-automation/src/main/java/vid/automation/test/sections/DeployMacroDialogBase.java12
-rw-r--r--vid-automation/src/main/java/vid/automation/test/sections/InstantiationStatusPage.java29
-rw-r--r--vid-automation/src/main/java/vid/automation/test/sections/deploy/DeployDialogBase.java21
-rw-r--r--vid-automation/src/main/java/vid/automation/test/sections/deploy/DeployModernUIALaCarteDialog.java12
-rw-r--r--vid-automation/src/main/java/vid/automation/test/sections/deploy/DeployModernUIBase.java (renamed from vid-automation/src/main/java/vid/automation/test/sections/DeployMacroDialog.java)36
-rw-r--r--vid-automation/src/main/java/vid/automation/test/sections/deploy/DeployModernUIMacroDialog.java13
-rw-r--r--vid-automation/src/main/java/vid/automation/test/sections/deploy/DeployOldALaCarteDialog.java9
-rw-r--r--vid-automation/src/main/java/vid/automation/test/sections/deploy/DeployOldDialogBase.java (renamed from vid-automation/src/main/java/vid/automation/test/sections/DeployMacroDialogOld.java)32
-rw-r--r--vid-automation/src/main/java/vid/automation/test/sections/deploy/DeployOldMacroDialog.java9
-rw-r--r--vid-automation/src/main/java/vid/automation/test/services/AsyncJobsService.java12
-rw-r--r--vid-automation/src/main/java/vid/automation/test/services/SimulatorApi.java22
-rw-r--r--vid-automation/src/main/java/vid/automation/test/test/BrowseASDCTest.java192
-rw-r--r--vid-automation/src/main/java/vid/automation/test/test/CreateNewInstanceTest.java14
-rw-r--r--vid-automation/src/main/java/vid/automation/test/test/EnvironmentsTest.java23
-rw-r--r--vid-automation/src/main/java/vid/automation/test/test/HealthStatusTest.java23
-rw-r--r--vid-automation/src/main/java/vid/automation/test/test/NewServiceInstanceTest.java312
-rw-r--r--vid-automation/src/main/java/vid/automation/test/test/PreviousVersionsPopupTest.java32
-rw-r--r--vid-automation/src/main/java/vid/automation/test/test/SanityMacroDeployTest.java12
-rw-r--r--vid-automation/src/main/java/vid/automation/test/test/VidBaseTestCase.java105
-rw-r--r--vid-automation/src/main/java/vid/automation/test/test/ViewEditServiceInstanceTest.java44
-rw-r--r--vid-automation/src/main/java/vid/automation/test/utils/CookieAndJsonHttpHeadersInterceptor.java18
-rw-r--r--vid-automation/src/main/java/vid/automation/test/utils/InsecureHttpsClient.java26
-rw-r--r--vid-automation/src/main/resources/NewServiceInstanceTest/createNewServiceInstance_macro_validPopupDataAndUI__dynamicFieldsEcompNamingFalse.json6
-rw-r--r--vid-automation/src/main/resources/registration_to_simulator/sanity/get_csar_zip_file.json10
-rw-r--r--vid-automation/src/main/resources/registration_to_simulator/sanity/get_sdc_catalog_services_4d71990b.json6
-rw-r--r--vid-automation/src/test/java/org/onap/vid/api/AsyncInstantiationALaCarteApiTest.java88
-rw-r--r--vid-automation/src/test/java/org/onap/vid/api/ChangeManagementApiTest.java87
-rw-r--r--vid-automation/src/test/java/org/onap/vid/api/ChangeManagementUserApiLoggingTest.java1
-rw-r--r--vid-automation/src/test/java/org/onap/vid/api/InstantiationTemplatesApiTest.java138
-rw-r--r--vid-automation/src/test/java/org/onap/vid/api/ProbeApiTest.java37
-rw-r--r--vid-automation/src/test/java/org/onap/vid/api/SdcApiTest.java36
-rw-r--r--vid-automation/src/test/java/org/onap/vid/api/ServiceTreeApiTest.java6
-rw-r--r--vid-automation/src/test/java/org/onap/vid/api/VersionControllerApiTest.java7
-rw-r--r--vid-automation/src/test/java/org/onap/vid/more/LoggerFormatTest.java162
-rw-r--r--vid-automation/src/test/java/org/onap/vid/more/RequestIdFilterInstalled.java6
-rw-r--r--vid-automation/src/test/resources/a-la-carte/redux-a-la-carte-no-testapi.json5
-rw-r--r--vid-automation/src/test/resources/a-la-carte/redux-a-la-carte.json2
-rw-r--r--vid-automation/src/test/resources/asyncInstantiation/ServiceTreeForRetry_serviceInstance.json2
-rw-r--r--vid-automation/src/test/resources/asyncInstantiation/ServiceWithFailedServiceInstance.json2
-rw-r--r--vid-automation/src/test/resources/asyncInstantiation/templates__instance_template.json130
-rw-r--r--vid-automation/src/test/resources/features.properties7
60 files changed, 1657 insertions, 584 deletions
diff --git a/vid-automation/src/main/java/org/onap/sdc/ci/tests/execute/setup/SetupCDTest.java b/vid-automation/src/main/java/org/onap/sdc/ci/tests/execute/setup/SetupCDTest.java
index bb6a19a36..b3be16a42 100644
--- a/vid-automation/src/main/java/org/onap/sdc/ci/tests/execute/setup/SetupCDTest.java
+++ b/vid-automation/src/main/java/org/onap/sdc/ci/tests/execute/setup/SetupCDTest.java
@@ -20,10 +20,12 @@
package org.onap.sdc.ci.tests.execute.setup;
+import com.aventstack.extentreports.ExtentTest;
+import com.aventstack.extentreports.Status;
import java.io.File;
import java.io.IOException;
import java.util.UUID;
-
+import net.lightbody.bmp.core.har.Har;
import org.onap.sdc.ci.tests.datatypes.Configuration;
import org.onap.sdc.ci.tests.datatypes.User;
import org.onap.sdc.ci.tests.datatypes.UserCredentials;
@@ -44,11 +46,6 @@ import org.testng.annotations.BeforeMethod;
import org.testng.annotations.BeforeSuite;
import org.testng.annotations.Test;
-import com.aventstack.extentreports.ExtentTest;
-import com.aventstack.extentreports.Status;
-
-import net.lightbody.bmp.core.har.Har;
-
public abstract class SetupCDTest extends DriverFactory {
private static final String RE_RUN = "<html><font color=\"red\">ReRun - </font></html>";
@@ -172,7 +169,7 @@ public abstract class SetupCDTest extends DriverFactory {
return url;
}
- public static void navigateToUrl(String url) throws Exception {
+ public static void navigateToUrl(String url) {
try {
System.out.println("Deleting cookies...");
deleteCookies();
@@ -282,7 +279,7 @@ public abstract class SetupCDTest extends DriverFactory {
}
}
- public void navigateAndLogin(UserCredentials userCredentials) throws Exception {
+ public void navigateAndLogin(UserCredentials userCredentials) {
int refreshAttempts = getWindowTest().getRefreshAttempts() != 0 ? getWindowTest().getRefreshAttempts() : 0;
setRefreshAttempts(refreshAttempts);
setUser(userCredentials);
@@ -300,7 +297,7 @@ public abstract class SetupCDTest extends DriverFactory {
return user;
}
- protected void reloginWithNewRole(UserCredentials userCredentials) throws Exception {
+ protected void reloginWithNewRole(UserCredentials userCredentials) {
System.out.println(String.format("Setup before relogin with the userId %s", userCredentials.getUserId()));
navigateAndLogin(userCredentials);
}
@@ -353,4 +350,4 @@ public abstract class SetupCDTest extends DriverFactory {
StartTest.main(testSuiteArr);
}
-} \ No newline at end of file
+}
diff --git a/vid-automation/src/main/java/org/onap/sdc/ci/tests/utilities/GeneralUIUtils.java b/vid-automation/src/main/java/org/onap/sdc/ci/tests/utilities/GeneralUIUtils.java
index b10636bf1..e834c15ac 100644
--- a/vid-automation/src/main/java/org/onap/sdc/ci/tests/utilities/GeneralUIUtils.java
+++ b/vid-automation/src/main/java/org/onap/sdc/ci/tests/utilities/GeneralUIUtils.java
@@ -475,6 +475,18 @@ public final class GeneralUIUtils {
return element;
}
+ public static boolean isOptionSelectedInMultiSelect(String dataTestId, String option) {
+ GeneralUIUtils.ultimateWait();
+ List<WebElement> selectedElements = getDriver().findElements(By.xpath("//*[@data-tests-id='" + dataTestId + "']//span[@class='c-label']"));
+
+
+ for (WebElement selectedElement : selectedElements) {
+ if (selectedElement.getText().equals(option)) {
+ return true;
+ }
+ }
+ return false;
+ }
public static WebElement getSelectedElementFromDropDown(String dataTestId){
GeneralUIUtils.ultimateWait();;
WebElement selectedElement = new Select (getDriver().findElement(By.xpath("//*[@data-tests-id='" + dataTestId + "']"))).getFirstSelectedOption();
diff --git a/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/aaf/AAFGetUrlServicePreset.java b/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/aaf/AAFGetUrlServicePreset.java
index b3376e61a..c3914660e 100644
--- a/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/aaf/AAFGetUrlServicePreset.java
+++ b/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/aaf/AAFGetUrlServicePreset.java
@@ -2,6 +2,7 @@ package org.onap.simulator.presetGenerator.presets.aaf;
import org.onap.simulator.presetGenerator.presets.BasePresets.BasePreset;
import org.springframework.http.HttpMethod;
+import vid.automation.test.services.SimulatorApi;
public class AAFGetUrlServicePreset extends BasePreset {
@Override
@@ -11,7 +12,11 @@ public class AAFGetUrlServicePreset extends BasePreset {
@Override
public String getReqPath() {
- return "/locate/com.att.aaf.service:2.0";
+ return "/locate/" + regexAafServerName() + ":2.0";
+ }
+
+ private String regexAafServerName() {
+ return "([a-z-]+\\.)*[a-z-]+";
}
@Override
@@ -21,6 +26,22 @@ public class AAFGetUrlServicePreset extends BasePreset {
@Override
public Object getResponseBody() {
- return "{\"endpoint\":[{\"name\":\"com.att.aaf.service\",\"major\": 2,\"minor\": 0,\"patch\": 19,\"pkg\": 21,\"latitude\": 38.627346,\"longitude\": -90.19377,\"protocol\": \"http\",\"subprotocol\": [],\"hostname\": \"127.0.0.1\",\"port\": 1080}]}";
+ return ""
+ + "{"
+ + " \"endpoint\": [{"
+ + " \"name\": \"aaf-service\","
+ + " \"major\": 2,"
+ + " \"minor\": 0,"
+ + " \"patch\": 19,"
+ + " \"pkg\": 21,"
+ + " \"latitude\": 38.627346,"
+ + " \"longitude\": -90.19377,"
+ + " \"protocol\": \"http\","
+ + " \"subprotocol\": [],"
+ + " \"port\": " + SimulatorApi.getSimulatedResponsesPort() + ","
+ + " \"hostname\": \"" + SimulatorApi.getSimulatorHost() + "\""
+ + " }"
+ + " ]"
+ + "}";
}
}
diff --git a/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/mso/PresetMSOCreateMacroPre1806Post.java b/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/mso/PresetMSOCreateMacroPre1806Post.java
index 29e1365af..e2f342f0e 100644
--- a/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/mso/PresetMSOCreateMacroPre1806Post.java
+++ b/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/mso/PresetMSOCreateMacroPre1806Post.java
@@ -25,7 +25,7 @@ public class PresetMSOCreateMacroPre1806Post extends PresetMSOBaseCreateInstance
" }," +
" \"modelInfo\": {" +
" \"modelType\": \"service\"," +
- " \"modelInvariantId\": \"d27e42cf-087e-4d31-88ac-6c4b7585f800\"," +
+ " \"modelInvariantId\": \"a8dcd72d-d44d-44f2-aa85-53aa9ca99cba\"," +
" \"modelVersionId\": \"4d71990b-d8ad-4510-ac61-496288d9078e\"," +
" \"modelName\": \"vidmacrofalsenaming\"," +
" \"modelVersion\": \"1.0\"" +
diff --git a/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/mso/PresetMSOCreateServiceInstanceAlacarte5GServiceWithNetwork.java b/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/mso/PresetMSOCreateServiceInstanceAlacarte.java
index 40c18fa55..180aaefd1 100644
--- a/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/mso/PresetMSOCreateServiceInstanceAlacarte5GServiceWithNetwork.java
+++ b/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/mso/PresetMSOCreateServiceInstanceAlacarte.java
@@ -1,16 +1,20 @@
package org.onap.simulator.presetGenerator.presets.mso;
-import java.util.Map;
-
import static org.onap.simulator.presetGenerator.presets.mso.PresetMSOServiceInstanceGen2WithNames.Keys.SERVICE_NAME;
-public class PresetMSOCreateServiceInstanceAlacarte5GServiceWithNetwork extends PresetMSOCreateServiceInstanceGen2WithNames {
+import java.util.Map;
+import vid.automation.test.infra.ModelInfo;
+
+public class PresetMSOCreateServiceInstanceAlacarte extends PresetMSOCreateServiceInstanceGen2WithNames {
private final String requestorId;
+ protected final ModelInfo modelInfo;
- public PresetMSOCreateServiceInstanceAlacarte5GServiceWithNetwork(Map<Keys, String> names, String requestId, String requestorId) {
- super(names, 0, requestId);
+ public PresetMSOCreateServiceInstanceAlacarte(Map<Keys, String> names, String requestId, String responseInstanceId,
+ String requestorId, ModelInfo modelInfo) {
+ super(names, 0, requestId, responseInstanceId);
this.requestorId = requestorId;
+ this.modelInfo = modelInfo;
}
@Override
@@ -22,13 +26,7 @@ public class PresetMSOCreateServiceInstanceAlacarte5GServiceWithNetwork extends
public Object getRequestBody() {
return "{" +
" \"requestDetails\": {" +
- " \"modelInfo\": {" +
- " \"modelInvariantId\": \"16e56d12-40b3-4db1-a40e-d48c36679e2e\"," +
- " \"modelVersionId\": \"4659e8bd-0920-4eed-8ec5-550b4c8dceeb\"," +
- " \"modelName\": \"SR-IOV Provider-1\"," +
- " \"modelType\": \"service\"," +
- " \"modelVersion\": \"1.0\"" +
- " }," +
+ modelInfo.createMsoModelInfo()+
" \"owningEntity\": {" +
" \"owningEntityId\": \"d61e6f2d-12fa-4cc2-91df-7c244011d6fc\"," +
" \"owningEntityName\": \"WayneHolland\"" +
diff --git a/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/mso/PresetMSOCreateVfModuleALaCarteCypress.java b/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/mso/PresetMSOCreateVfModuleALaCarteCypress.java
index 7b434d559..2a353a38b 100644
--- a/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/mso/PresetMSOCreateVfModuleALaCarteCypress.java
+++ b/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/mso/PresetMSOCreateVfModuleALaCarteCypress.java
@@ -1,12 +1,10 @@
package org.onap.simulator.presetGenerator.presets.mso;
import com.google.common.collect.ImmutableMap;
-
import java.util.Map;
-public class PresetMSOCreateVfModuleALaCarteCypress extends PresetMSOBaseCreateInstancePost {
- private String serviceInstanceId;
- private String vnfInstanceId;
+public class PresetMSOCreateVfModuleALaCarteCypress extends PresetMSOCreateVfModuleBase {
+
protected final Map<Keys, String> names;
public enum Keys {
@@ -34,25 +32,13 @@ public class PresetMSOCreateVfModuleALaCarteCypress extends PresetMSOBaseCreateI
.build();
public PresetMSOCreateVfModuleALaCarteCypress(String overrideRequestId, String serviceInstanceId, String vnfInstanceId, Map<Keys, String> names, String testApi, boolean withTestApi) {
- super(overrideRequestId);
- this.vnfInstanceId = vnfInstanceId;
- this.serviceInstanceId = serviceInstanceId;
+ super(overrideRequestId, DEFAULT_INSTANCE_ID, serviceInstanceId, vnfInstanceId, "vfModule");
this.names = names;
this.msoTestApi = testApi;
this.withTestApi = withTestApi;
}
@Override
- public boolean isStrictMatch() {
- return true;
- }
-
- @Override
- public String getReqPath() {
- return getRootPath() + "/serviceInstantiation/v./serviceInstances/" + serviceInstanceId + "/vnfs/" + vnfInstanceId + "/vfModules";
- }
-
- @Override
public Object getRequestBody() {
return "" +
"{" +
diff --git a/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/mso/PresetMSOCreateVfModuleALaCarteE2E.java b/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/mso/PresetMSOCreateVfModuleALaCarteE2E.java
new file mode 100644
index 000000000..89744a723
--- /dev/null
+++ b/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/mso/PresetMSOCreateVfModuleALaCarteE2E.java
@@ -0,0 +1,89 @@
+package org.onap.simulator.presetGenerator.presets.mso;
+
+import org.apache.commons.lang3.ObjectUtils;
+import vid.automation.test.infra.ModelInfo;
+import vid.automation.test.infra.ModelInfoWithCustomization;
+
+public class PresetMSOCreateVfModuleALaCarteE2E extends PresetMSOCreateVfModuleBase {
+
+ protected final String requestorId;
+ protected final ModelInfo serviceModelInfo;
+ private final String instanceName;
+ private final ModelInfoWithCustomization resourceModelInfo;
+ private final String relatedInstance;
+
+ public PresetMSOCreateVfModuleALaCarteE2E(
+ String overrideRequestId,
+ String responseInstanceId,
+ String serviceInstanceId,
+ String vnfInstanceId,
+ String requestorId,
+ ModelInfo serviceModelInfo,
+ String instanceName,
+ ModelInfoWithCustomization resourceModelInfo,
+ String relatedInstance) {
+ super(overrideRequestId, responseInstanceId, serviceInstanceId, vnfInstanceId, resourceModelInfo.resourceType);
+ this.requestorId = requestorId;
+ this.serviceModelInfo = serviceModelInfo;
+ this.instanceName = instanceName;
+ this.resourceModelInfo = resourceModelInfo;
+ this.relatedInstance = relatedInstance;
+ }
+
+ @Override
+ public Object getRequestBody() {
+ return "{"
+ + " \"requestDetails\": {"
+ + resourceModelInfo.createMsoModelInfo()
+ + " \"cloudConfiguration\": {"
+ + " \"lcpCloudRegionId\": \"hvf6\","
+ + addCloudOwnerIfNeeded()
+ + " \"tenantId\": \"bae71557c5bb4d5aac6743a4e5f1d054\""
+ + " },"
+ + " \"requestInfo\": {"
+ + addInstanceName()
+ + " \"source\": \"VID\","
+ + " \"suppressRollback\": false,"
+ + " \"requestorId\": \""+requestorId+"\""
+ + " },"
+ + " \"relatedInstanceList\": [{"
+ + " \"relatedInstance\": {"
+ + serviceModelInfo.createMsoModelInfo()
+ + " \"instanceId\": \""+serviceInstanceId+"\""
+ + " }"
+ + " }, {"
+ + " \"relatedInstance\": {"
+ + " \"modelInfo\": {"
+ + " \"modelCustomizationName\": \"vOCG_1804_VF 0\","
+ + " \"modelCustomizationId\": \"e9ed1da0-c078-426a-8e84-6f4e85eace59\","
+ + " \"modelInvariantId\": \"db23d71a-4cb4-4030-9c9b-e3f886c2b35c\","
+ + " \"modelVersionId\": \"aca3f7b1-15f9-45a5-b182-b8b5aca84a76\","
+ + " \"modelName\": \"vOCG_1804_VF\","
+ + " \"modelType\": \"vnf\","
+ + " \"modelVersion\": \"4.0\""
+ + " },"
+ + " \"instanceId\": \""+vnfInstanceId+"\""
+ + " }"
+ + " }" + addRelatedInstance()
+ + " ],"
+ + " \"requestParameters\": {"
+ + " \"userParams\": [{"
+ + " \"param\": \"ABCD\","
+ + " \"vnf_instance_name\": \"sample\""
+ + " }"
+ + " ],"
+ + " \"testApi\": \"VNF_API\""
+ + " }"
+ + " }"
+ + "}";
+ }
+
+ private String addInstanceName() {
+ return instanceName==null ? "" :
+ "\"instanceName\": \""+instanceName+"\",";
+ }
+
+ private String addRelatedInstance() {
+ return ObjectUtils.defaultIfNull(relatedInstance, "");
+ }
+}
diff --git a/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/mso/PresetMSOCreateVfModuleBase.java b/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/mso/PresetMSOCreateVfModuleBase.java
new file mode 100644
index 000000000..7c148fa08
--- /dev/null
+++ b/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/mso/PresetMSOCreateVfModuleBase.java
@@ -0,0 +1,25 @@
+package org.onap.simulator.presetGenerator.presets.mso;
+
+public class PresetMSOCreateVfModuleBase extends PresetMSOBaseCreateInstancePost {
+
+ private final String resourceType;
+ protected String serviceInstanceId;
+ protected String vnfInstanceId;
+
+ public PresetMSOCreateVfModuleBase(String requestId, String responseInstanceId, String serviceInstanceId, String vnfInstanceId, String resourceType) {
+ super(requestId, responseInstanceId);
+ this.serviceInstanceId = serviceInstanceId;
+ this.vnfInstanceId = vnfInstanceId;
+ this.resourceType = resourceType;
+ }
+
+ @Override
+ public boolean isStrictMatch() {
+ return true;
+ }
+
+ @Override
+ public String getReqPath() {
+ return getRootPath() + String.format("/serviceInstantiation/v./serviceInstances/%s/vnfs/%s/%ss",serviceInstanceId, vnfInstanceId, resourceType);
+ }
+}
diff --git a/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/mso/PresetMSOCreateVnfALaCarteCypress2.java b/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/mso/PresetMSOCreateVnfALaCarteCypress2.java
index 96424e803..da1c3ffcf 100644
--- a/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/mso/PresetMSOCreateVnfALaCarteCypress2.java
+++ b/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/mso/PresetMSOCreateVnfALaCarteCypress2.java
@@ -24,7 +24,7 @@ public class PresetMSOCreateVnfALaCarteCypress2 extends PresetMSOCreateVnfBase {
"{\"lcpCloudRegionId\":\"just another region\"," +
addCloudOwnerIfNeeded() +
"\"tenantId\":\"092eb9e8e4b7412e8787dd091bc58e86\"}," +
- "\"platform\":{\"platformName\":\"xxx1\"}," +
+ "\"platform\":{\"platformName\":\"xxx1,platform\"}," +
"\"modelInfo\":" +
"{\"modelCustomizationId\":\"1da7b585-5e61-4993-b95e-8e6606c81e45\"," +
"\"modelCustomizationName\":\"2017-488_PASQUALE-vPE 0\"," +
diff --git a/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/mso/PresetMSOCreateVnfALaCarteE2E.java b/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/mso/PresetMSOCreateVnfALaCarteE2E.java
new file mode 100644
index 000000000..dba42f32f
--- /dev/null
+++ b/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/mso/PresetMSOCreateVnfALaCarteE2E.java
@@ -0,0 +1,67 @@
+package org.onap.simulator.presetGenerator.presets.mso;
+
+import vid.automation.test.infra.ModelInfo;
+
+public class PresetMSOCreateVnfALaCarteE2E extends PresetMSOCreateVnfBase {
+
+ private final String requestorId;
+ protected String lineOfBusinessName;
+ protected final ModelInfo serviceModelInfo;
+
+ public PresetMSOCreateVnfALaCarteE2E(
+ String overrideRequestId,
+ String serviceInstanceId,
+ String vnfInstanceId,
+ String lineOfBusinessName,
+ String requestorId,
+ ModelInfo serviceModelInfo) {
+ super(overrideRequestId, serviceInstanceId, vnfInstanceId);
+ this.lineOfBusinessName = lineOfBusinessName;
+ this.requestorId = requestorId;
+ this.serviceModelInfo = serviceModelInfo;
+ }
+
+ @Override
+ public Object getRequestBody() {
+ return "{"
+ + " \"requestDetails\": {"
+ + " \"modelInfo\": {"
+ + " \"modelCustomizationName\": \"vOCG_1804_VF 0\","
+ + " \"modelCustomizationId\": \"e9ed1da0-c078-426a-8e84-6f4e85eace59\","
+ + " \"modelInvariantId\": \"db23d71a-4cb4-4030-9c9b-e3f886c2b35c\","
+ + " \"modelVersionId\": \"aca3f7b1-15f9-45a5-b182-b8b5aca84a76\","
+ + " \"modelName\": \"vOCG_1804_VF\","
+ + " \"modelType\": \"vnf\","
+ + " \"modelVersion\": \"4.0\""
+ + " },"
+ + " \"cloudConfiguration\": {"
+ + " \"lcpCloudRegionId\": \"some legacy region\","
+ + addCloudOwnerIfNeeded()
+ + " \"tenantId\": \"092eb9e8e4b7412e8787dd091bc58e86\""
+ + " },"
+ + " \"requestInfo\": {"
+ + " \"source\": \"VID\","
+ + " \"suppressRollback\": false,"
+ + " \"requestorId\": \""+requestorId+"\""
+ + " },"
+ + " \"platform\": {"
+ + " \"platformName\": \"platform\""
+ + " },"
+ + " \"lineOfBusiness\": {"
+ + " \"lineOfBusinessName\": \""+lineOfBusinessName+"\""
+ + " },"
+ + " \"relatedInstanceList\": [{"
+ + " \"relatedInstance\": {"
+ + serviceModelInfo.createMsoModelInfo()
+ + " \"instanceId\": \""+serviceInstanceId+"\""
+ + " }"
+ + " }"
+ + " ],"
+ + " \"requestParameters\": {"
+ + " \"userParams\": [],"
+ + " \"testApi\": \"VNF_API\""
+ + " }"
+ + " }"
+ + "}";
+ }
+}
diff --git a/vid-automation/src/main/java/org/onap/vid/api/AsyncInstantiationBase.java b/vid-automation/src/main/java/org/onap/vid/api/AsyncInstantiationBase.java
index 66bde727e..5e1310535 100644
--- a/vid-automation/src/main/java/org/onap/vid/api/AsyncInstantiationBase.java
+++ b/vid-automation/src/main/java/org/onap/vid/api/AsyncInstantiationBase.java
@@ -1,8 +1,34 @@
package org.onap.vid.api;
+import static java.lang.Boolean.FALSE;
+import static java.lang.Boolean.TRUE;
+import static java.util.Collections.emptyList;
+import static java.util.stream.Collectors.joining;
+import static java.util.stream.Collectors.toMap;
+import static org.hamcrest.CoreMatchers.hasItem;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.containsInAnyOrder;
+import static org.hamcrest.Matchers.hasSize;
+import static org.onap.simulator.presetGenerator.presets.mso.PresetMSOServiceInstanceGen2WithNames.Keys;
+import static org.testng.Assert.assertNotNull;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertTrue;
+import static vid.automation.test.utils.ExtendedHamcrestMatcher.hasItemsFromCollection;
+
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
import com.google.common.util.concurrent.Uninterruptibles;
+import java.time.Instant;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.UUID;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicReference;
+import java.util.function.Predicate;
+import java.util.stream.Collectors;
+import java.util.stream.IntStream;
+import java.util.stream.Stream;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
@@ -38,33 +64,6 @@ import vid.automation.test.model.ServiceAction;
import vid.automation.test.services.AsyncJobsService;
import vid.automation.test.services.SimulatorApi;
-import java.time.Instant;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.UUID;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.atomic.AtomicReference;
-import java.util.function.Predicate;
-import java.util.stream.Collectors;
-import java.util.stream.IntStream;
-import java.util.stream.Stream;
-
-import static java.lang.Boolean.FALSE;
-import static java.lang.Boolean.TRUE;
-import static java.util.Collections.emptyList;
-import static java.util.stream.Collectors.joining;
-import static java.util.stream.Collectors.toMap;
-import static org.hamcrest.CoreMatchers.hasItem;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.Matchers.containsInAnyOrder;
-import static org.hamcrest.Matchers.hasSize;
-import static org.onap.simulator.presetGenerator.presets.mso.PresetMSOServiceInstanceGen2WithNames.Keys;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.AssertJUnit.assertEquals;
-import static org.testng.AssertJUnit.assertTrue;
-import static vid.automation.test.utils.ExtendedHamcrestMatcher.hasItemsFromCollection;
-
public class AsyncInstantiationBase extends BaseMsoApiTest {
public static final String CREATE_BULK_OF_ALACARTE_REQUEST_WITH_VNF = "asyncInstantiation/vidRequestCreateALaCarteWithVnf.json";
@@ -507,7 +506,7 @@ public class AsyncInstantiationBase extends BaseMsoApiTest {
.filter(serviceInfo -> serviceInfo.jobId.equals(jobId))
.findFirst().orElse(null);
Assert.assertNotNull(serviceInfoFromDB);
- Assert.assertEquals(serviceInfoDataReflected(expectedServiceInfo), serviceInfoDataReflected(serviceInfoFromDB));
+ Assert.assertEquals(serviceInfoDataReflected(serviceInfoFromDB), serviceInfoDataReflected(expectedServiceInfo));
assertTrue("actual service instance doesn't contain template service name:" + expectedServiceInfo.serviceInstanceName,
serviceInfoFromDB.serviceInstanceName.contains(expectedServiceInfo.serviceInstanceName));
diff --git a/vid-automation/src/main/java/org/onap/vid/api/BaseApiTest.java b/vid-automation/src/main/java/org/onap/vid/api/BaseApiTest.java
index 3778e4b16..4819b813f 100644
--- a/vid-automation/src/main/java/org/onap/vid/api/BaseApiTest.java
+++ b/vid-automation/src/main/java/org/onap/vid/api/BaseApiTest.java
@@ -8,7 +8,6 @@ import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.isEmptyOrNullString;
import static org.hamcrest.Matchers.not;
-//import com.automation.common.report_portal_integration.listeners.ReportPortalListener;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
@@ -21,7 +20,6 @@ import java.util.Properties;
import java.util.Random;
import java.util.TimeZone;
import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
import org.apache.commons.io.IOUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -39,6 +37,7 @@ import vid.automation.reportportal.ReportPortalListenerDelegator;
import vid.automation.test.infra.FeaturesTogglingConfiguration;
import vid.automation.test.services.UsersService;
import vid.automation.test.utils.CookieAndJsonHttpHeadersInterceptor;
+import vid.automation.test.utils.InsecureHttpsClient;
@Listeners(ReportPortalListenerDelegator.class)
public class BaseApiTest {
@@ -51,16 +50,16 @@ public class BaseApiTest {
@SuppressWarnings("WeakerAccess")
protected Client client;
protected Random random;
- protected final RestTemplate restTemplate = new RestTemplate();
+ protected final RestTemplate restTemplate = InsecureHttpsClient.newRestTemplate();
protected final UsersService usersService = new UsersService();
- protected final RestTemplate restTemplateErrorAgnostic = new RestTemplate();
+ protected final RestTemplate restTemplateErrorAgnostic = InsecureHttpsClient.newRestTemplate();
@BeforeClass
public void init() {
uri = getUri();
objectMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
- client = ClientBuilder.newClient();
+ client = InsecureHttpsClient.newJaxrsClient();
client.property(ClientProperties.SUPPRESS_HTTP_COMPLIANCE_VALIDATION, true);
random = new Random(System.currentTimeMillis());
FeaturesTogglingConfiguration.initializeFeatureManager();
@@ -69,7 +68,8 @@ public class BaseApiTest {
private URI getUri() {
String host = System.getProperty("VID_HOST", "127.0.0.1");
int port = Integer.valueOf(System.getProperty("VID_PORT", "8080"));
- return new JerseyUriBuilder().host(host).port(port).scheme("http").path("vid").build();
+ String protocol = System.getProperty("VID_PROTOCOL", "http");
+ return new JerseyUriBuilder().host(host).port(port).scheme(protocol).path("vid").build();
}
public void login() {
@@ -77,9 +77,20 @@ public class BaseApiTest {
}
public void login(UserCredentials userCredentials) {
+ final List<ClientHttpRequestInterceptor> interceptors = loginWithChosenRESTClient(userCredentials, restTemplate);
+ restTemplateErrorAgnostic.setInterceptors(interceptors);
+ restTemplateErrorAgnostic.setErrorHandler(new DefaultResponseErrorHandler() {
+ @Override
+ public boolean hasError(ClientHttpResponse response) {
+ return false;
+ }
+ });
+ }
+
+ public List<ClientHttpRequestInterceptor> loginWithChosenRESTClient(UserCredentials userCredentials,RestTemplate givenRestTemplate) {
final List<ClientHttpRequestInterceptor> interceptors = singletonList(new CookieAndJsonHttpHeadersInterceptor(getUri(), userCredentials));
- restTemplate.setInterceptors(interceptors);
- restTemplate.setErrorHandler(new DefaultResponseErrorHandler() {
+ givenRestTemplate.setInterceptors(interceptors);
+ givenRestTemplate.setErrorHandler(new DefaultResponseErrorHandler() {
@Override
public void handleError(ClientHttpResponse response) throws IOException {
try {
@@ -90,14 +101,7 @@ public class BaseApiTest {
}
}
});
-
- restTemplateErrorAgnostic.setInterceptors(interceptors);
- restTemplateErrorAgnostic.setErrorHandler(new DefaultResponseErrorHandler() {
- @Override
- public boolean hasError(ClientHttpResponse response) {
- return false;
- }
- });
+ return interceptors;
}
diff --git a/vid-automation/src/main/java/vid/automation/test/Constants.java b/vid-automation/src/main/java/vid/automation/test/Constants.java
index 689c46387..7256f0a2e 100644
--- a/vid-automation/src/main/java/vid/automation/test/Constants.java
+++ b/vid-automation/src/main/java/vid/automation/test/Constants.java
@@ -303,7 +303,7 @@ public class Constants {
}};
}
- public static final String CREATE_SERVICE_INSTANCE_MACRO_MODAL = "Set a new service instance";
+
}
@@ -506,6 +506,7 @@ public class Constants {
public static final String PROJECT_SELECT_TEST_ID = "project";
public static final String OWNING_ENTITY_SELECT_TEST_ID = "owningEntity";
public static final String PLATFORM_SELECT_TEST_ID = "platform";
+ public static final String PLATFORM_MULTI_SELECT_TEST_ID = "multi-selectPlatform";
public static final String LOB_SELECT_TEST_ID = "lineOfBusiness";
}
diff --git a/vid-automation/src/main/java/vid/automation/test/infra/Features.java b/vid-automation/src/main/java/vid/automation/test/infra/Features.java
index 329bb4a89..289151b88 100644
--- a/vid-automation/src/main/java/vid/automation/test/infra/Features.java
+++ b/vid-automation/src/main/java/vid/automation/test/infra/Features.java
@@ -5,8 +5,6 @@ import org.togglz.core.context.FeatureContext;
public enum Features implements Feature {
- CREATE_INSTANCE_TEST,
- EMPTY_DRAWING_BOARD_TEST,
FLAG_ADD_MSO_TESTAPI_FIELD,
FLAG_SERVICE_MODEL_CACHE,
FLAG_NETWORK_TO_ASYNC_INSTANTIATION,
@@ -14,8 +12,6 @@ public enum Features implements Feature {
FLAG_UNASSIGN_SERVICE,
FLAG_FABRIC_CONFIGURATION_ASSIGNMENTS,
FLAG_SHOW_VERIFY_SERVICE,
- FLAG_DEFAULT_VNF,
- FLAG_SETTING_DEFAULTS_IN_DRAWING_BOARD,
FLAG_RESTRICTED_SELECT,
FLAG_5G_IN_NEW_INSTANTIATION_UI,
FLAG_ASYNC_ALACARTE_VNF,
@@ -27,7 +23,6 @@ public enum Features implements Feature {
FLAG_ENABLE_WEBPACK_MODERN_UI,
FLAG_1810_CR_LET_SELECTING_COLLECTOR_TYPE_UNCONDITIONALLY,
FLAG_1810_CR_ADD_CLOUD_OWNER_TO_MSO_REQUEST,
- FLAG_1810_CR_SOFT_DELETE_ALACARTE_VF_MODULE,
FLAG_1810_AAI_LOCAL_CACHE,
FLAG_1810_IDENTIFY_SERVICE_FOR_NEW_UI,
FLAG_1902_NEW_VIEW_EDIT,
@@ -55,7 +50,11 @@ public enum Features implements Feature {
FLAG_FLASH_REDUCED_RESPONSE_CHANGEMG,
FLAG_FLASH_CLOUD_REGION_AND_NF_ROLE_OPTIONAL_SEARCH,
FLAG_1911_INSTANTIATION_ORDER_IN_ASYNC_ALACARTE,
- FLAG_1911_INSTANTIATION_ORDER_BUTTON_IN_ASYNC_ALACARTE
+ FLAG_2002_ANY_ALACARTE_BESIDES_EXCLUDED_NEW_INSTANTIATION_UI,
+ FLAG_2002_VNF_PLATFORM_MULTI_SELECT,
+ FLAG_2002_VFM_UPGRADE_ADDITIONAL_OPTIONS,
+ FLAG_2002_IDENTIFY_INVARIANT_MACRO_UUID_BY_BACKEND,
+ FLAG_2004_TEMP_BUTTON_TO_INSTANTIATION_STATUS_FILTER,
;
public boolean isActive() {
diff --git a/vid-automation/src/main/java/vid/automation/test/infra/Get.java b/vid-automation/src/main/java/vid/automation/test/infra/Get.java
index 9bcad7b64..1e0c94844 100644
--- a/vid-automation/src/main/java/vid/automation/test/infra/Get.java
+++ b/vid-automation/src/main/java/vid/automation/test/infra/Get.java
@@ -97,6 +97,9 @@ public class Get {
return GeneralUIUtils.getSelectedElementFromDropDown(dataTestId).getText();
}
+ public static Boolean isOptionSelectedInMultiSelect(String dataTestId, String option) {
+ return GeneralUIUtils.isOptionSelectedInMultiSelect(dataTestId, option);
+ }
public static List<WebElement> byClass(String className) {
return GeneralUIUtils.getWebElementsListByContainsClassName(className);
diff --git a/vid-automation/src/main/java/vid/automation/test/infra/ModelInfo.java b/vid-automation/src/main/java/vid/automation/test/infra/ModelInfo.java
index 59e48013c..546b80b05 100644
--- a/vid-automation/src/main/java/vid/automation/test/infra/ModelInfo.java
+++ b/vid-automation/src/main/java/vid/automation/test/infra/ModelInfo.java
@@ -2,9 +2,8 @@ package vid.automation.test.infra;
import com.google.common.collect.ImmutableList;
-public class ModelInfo {
- public final String modelVersionId; //aka model uuid
- public final String modelInvariantId;
+public class ModelInfo extends ModelInfoBase {
+
public final String zipFileName;
public static class ModelInfoWithMultipleVersions {
@@ -32,8 +31,11 @@ public class ModelInfo {
}
public ModelInfo(String modelVersionId, String modelInvariantId, String zipFileName) {
- this.modelVersionId = modelVersionId;
- this.modelInvariantId = modelInvariantId;
+ this(modelVersionId, modelInvariantId, zipFileName, null, null);
+ }
+
+ public ModelInfo(String modelVersionId, String modelInvariantId, String zipFileName, String modelName, String modelVersion) {
+ super(modelVersionId, modelInvariantId, modelName, modelVersion, "service");
this.zipFileName = zipFileName;
}
@@ -50,16 +52,22 @@ public class ModelInfo {
public static final ModelInfo macroSriovNoDynamicFieldsEcompNamingFalseFullModelDetails = new ModelInfo ("1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd", "cdb90b57-ed78-4d44-a5b4-7f43a02ec632", "csar-noDynamicFields-ecompNamingFalse-fullModelDetails-1a80c596.zip");
public static final ModelInfo macroSriovWithDynamicFieldsEcompNamingFalsePartialModelDetailsVnfEcompNamingFalse = new ModelInfo("6b528779-44a3-4472-bdff-9cd15ec93450", "e49fbd11-e60c-4a8e-b4bf-30fbe8f4fcc0" , "csar-withDynamicFields-ecompNamingFalse-partialModelDetails-vnfEcompNamingFalse.zip");
public static final ModelInfo macroSriovNoDynamicFieldsEcompNamingFalseFullModelDetailsVnfEcompNamingFalse = new ModelInfo("4a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd", "4140a873-00bb-4f57-ac46-0494cc9e674a", "csar-noDynamicFields-ecompNamingFalse-fullModelDetails-1a80c596-vnfEcompNamingFalse.zip");
- public static final ModelInfo aLaCarteNetworkProvider5G = new ModelInfo("4659e8bd-0920-4eed-8ec5-550b4c8dceeb", "16e56d12-40b3-4db1-a40e-d48c36679e2e", "service-SrIovProvider1-csar.zip");
+ public static final ModelInfo aLaCarteNetworkProvider5G = new ModelInfo("4659e8bd-0920-4eed-8ec5-550b4c8dceeb", "16e56d12-40b3-4db1-a40e-d48c36679e2e", "service-SrIovProvider1-csar.zip", "SR-IOV Provider-1", "1.0");
public static final ModelInfo pasqualeVmxVpeBvService488Annotations = new ModelInfo("f4d84bb4-a416-4b4e-997e-0059973630b9", "598e3f9e-3244-4d8f-a8e0-0e5d7a29eda9", "service-PasqualeVmxVpeBvService488-csar-annotations.zip");
public static final ModelInfo macroDrawingBoardComplexService = new ModelInfo("6e59c5de-f052-46fa-aa7e-2fca9d674c44","cfef8302-d90f-475f-87cc-3f49a62ef14c", "service-Complexservice-csar.zip" );
public static final ModelInfo aLaCarteServiceCreationTest = new ModelInfo("f913c5d0-206e-45c2-9284-1c68f4e67dc7", "45e61192-876c-4e28-9139-5a0c47410379", "serviceCreationTest.zip");
+ public static final ModelInfo aLaCarteServiceCreationNewUI = new ModelInfo("f3862254-8df2-4a0a-8137-0a9fe985860c", "d1068db8-b933-4919-8972-8bc1aed366c8", "service-Vocg1804Svc.zip", "vOCG_1804_SVC", "1.0");
+ public static final ModelInfo aLaCarteServiceOldVersionTest = new ModelInfo("04743c62-ab58-41a0-bc53-1052ef1c094a", "5d353b28-e5b7-419b-98e8-cad5d258be13", "serviceCreationTest04743c62-ab58-41a0-bc53-1052ef1c094a.zip");
public static final ModelInfo aLaCarteVnfGroupingService = new ModelInfo("4117a0b6-e234-467d-b5b9-fe2f68c8b0fc", "7ee41ce4-4827-44b0-a48e-2707a59905d2", "csar15782222_instantiationTypeAlacarte_VnfGrouping.zip");
public static final ModelInfo serviceFabricSriovService = new ModelInfo("253f1467-fe68-4e80-ba71-308000caec31", "c15fe228-7d40-4f99-afa7-10abeedf9aac", "service-fabric-SriovService-csar.zip");
public static final ModelInfo infrastructureVpnService = new ModelInfo("f028b2e2-7080-4b13-91b2-94944d4c42d8", "dfc2c44c-2429-44ca-ae26-1e6dc1f207fb", "service-Infravpn-csar.zip");
public static final ModelInfo collectionResourceService = new ModelInfo("abd0cb02-5f97-42cd-be93-7dd3e31a6a64", "04bdd793-32ed-4045-adea-4e096304a067", "csar_collection_resource.zip");
public static final ModelInfo collectionResourceForResume = new ModelInfo("6e0bec91-09f3-43aa-9cf3-e617cd0146be", "f6342be5-d66b-4d03-a1aa-c82c3094c4ea", "csar_collection_resource_for_resume.zip");
public static final ModelInfo transportWithPnfsService = new ModelInfo("12550cd7-7708-4f53-a09e-41d3d6327ebc", "561faa57-7bbb-40ec-a81c-c0d4133e98d4", "csarTransportWithPnfs.zip");
+ public static final ModelInfo serviceWithInstantiationTypeMacro = new ModelInfo(
+ "fca0674c-f825-44bc-a87f-41ba7a0b4ab7",
+ "44173a37-0fce-486b-84be-40582bf3e40b",
+ "csar15782222_instantiationTypeMacro_invariantUUIDAlacarte_withoutNetworks.zip");
public static final ImmutableList<ModelInfo> superSetOfModelInfos = buildModelInfos();
public static ImmutableList<ModelInfo> buildModelInfos() {
@@ -81,8 +89,11 @@ public class ModelInfo {
.add(transportWithPnfsService)
.add(collectionResourceService)
.add(collectionResourceForResume)
+ .add(aLaCarteServiceCreationNewUI)
+ .add(serviceWithInstantiationTypeMacro)
.build();
}
+
}
diff --git a/vid-automation/src/main/java/vid/automation/test/infra/ModelInfoBase.java b/vid-automation/src/main/java/vid/automation/test/infra/ModelInfoBase.java
new file mode 100644
index 000000000..e26339667
--- /dev/null
+++ b/vid-automation/src/main/java/vid/automation/test/infra/ModelInfoBase.java
@@ -0,0 +1,34 @@
+package vid.automation.test.infra;
+
+public class ModelInfoBase {
+
+ public final String modelVersionId; //aka model uuid
+ public final String modelInvariantId;
+ public final String modelName;
+ public final String modelVersion;
+ public final String resourceType;
+
+ public ModelInfoBase(String modelVersionId, String modelInvariantId, String modelName, String modelVersion, String resourceType) {
+ this.modelVersionId = modelVersionId;
+ this.modelInvariantId = modelInvariantId;
+ this.modelName = modelName;
+ this.modelVersion = modelVersion;
+ this.resourceType = resourceType;
+ }
+
+ public String createMsoModelInfo() {
+ return
+ " \"modelInfo\": {" +
+ " \"modelInvariantId\": \""+modelInvariantId+"\"," +
+ " \"modelVersionId\": \""+modelVersionId+"\"," +
+ " \"modelName\": \""+modelName+"\"," +
+ " \"modelType\": \""+resourceType+"\"," +
+ addAdditionalFields() +
+ " \"modelVersion\": \""+modelVersion+"\"" +
+ " },";
+ }
+
+ protected String addAdditionalFields() {
+ return "";
+ }
+}
diff --git a/vid-automation/src/main/java/vid/automation/test/infra/ModelInfoWithCustomization.java b/vid-automation/src/main/java/vid/automation/test/infra/ModelInfoWithCustomization.java
new file mode 100644
index 000000000..8ee690f7c
--- /dev/null
+++ b/vid-automation/src/main/java/vid/automation/test/infra/ModelInfoWithCustomization.java
@@ -0,0 +1,20 @@
+package vid.automation.test.infra;
+
+public class ModelInfoWithCustomization extends ModelInfoBase {
+
+ public final String modelCustomizationName;
+ public final String modelCustomizationId;
+
+ public ModelInfoWithCustomization(String modelVersionId, String modelInvariantId, String modelName, String modelVersion, String resourceType,
+ String modelCustomizationName, String modelCustomizationId) {
+ super(modelVersionId, modelInvariantId, modelName, modelVersion, resourceType);
+ this.modelCustomizationName = modelCustomizationName;
+ this.modelCustomizationId = modelCustomizationId;
+ }
+
+ @Override
+ protected String addAdditionalFields() {
+ return "\"modelCustomizationName\": \""+modelCustomizationName+"\","
+ + "\"modelCustomizationId\": \""+modelCustomizationId+"\",";
+ }
+}
diff --git a/vid-automation/src/main/java/vid/automation/test/infra/SelectOption.java b/vid-automation/src/main/java/vid/automation/test/infra/SelectOption.java
index cd766c5bf..096ff47d9 100644
--- a/vid-automation/src/main/java/vid/automation/test/infra/SelectOption.java
+++ b/vid-automation/src/main/java/vid/automation/test/infra/SelectOption.java
@@ -67,14 +67,29 @@ public class SelectOption {
}
public static void selectOptionsFromMultiselectById(String multiSelectId, List<String> options) {
- Click.byId(multiSelectId);
- try {
- Thread.sleep(1000);
- } catch (InterruptedException e) {
- throw new RuntimeException(e);
+ WebElement multiselectComponent = Get.byXpath("//*[@data-tests-id='" + multiSelectId +"']//div[contains(@class, 'c-btn')]");
+ if(multiselectComponent != null){
+ multiselectComponent.click();
+ try {
+ Thread.sleep(1000);
+ for(String option:options) {
+ String multiSelectOptionPath = "//label[@data-tests-id='" + multiSelectId + "-" + option + "']";
+ WebElement multiSelelctOption = Get.byXpath(multiSelectOptionPath);
+ if(multiSelelctOption != null){
+ multiSelelctOption.click();
+ }
+ }
+ multiselectComponent.click();
+ } catch (InterruptedException e) {
+ throw new RuntimeException(e);
+ }
}
- for(String option:options) {
- Click.byClassAndVisibleText(Constants.MULTI_SELECT_UNSELECTED_CLASS, option);
+ }
+
+ public static void selectFirstOptionsFromMultiselect(String multiSelectId){
+ WebElement multiSelectOption = Get.byXpath("//*[@data-tests-id='" + multiSelectId +"']//label[contains(@class, 'multiSelectOption')]");
+ if(multiSelectOption != null){
+ SelectOption.selectOptionsFromMultiselectById(multiSelectId, ImmutableList.of(multiSelectOption.getText()));
}
}
}
diff --git a/vid-automation/src/main/java/vid/automation/test/sections/DeployMacroDialogBase.java b/vid-automation/src/main/java/vid/automation/test/sections/DeployMacroDialogBase.java
deleted file mode 100644
index 270f53e97..000000000
--- a/vid-automation/src/main/java/vid/automation/test/sections/DeployMacroDialogBase.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package vid.automation.test.sections;
-
-public abstract class DeployMacroDialogBase extends VidBasePage {
-
- public abstract void assertTitle();
- public abstract void closeDialog();
- public abstract void assertDialogExists();
- public abstract void clickOwningEntitySelect();
- public abstract void clickProjectSelect();
-
-
-}
diff --git a/vid-automation/src/main/java/vid/automation/test/sections/InstantiationStatusPage.java b/vid-automation/src/main/java/vid/automation/test/sections/InstantiationStatusPage.java
index 1bb095fda..4bd380841 100644
--- a/vid-automation/src/main/java/vid/automation/test/sections/InstantiationStatusPage.java
+++ b/vid-automation/src/main/java/vid/automation/test/sections/InstantiationStatusPage.java
@@ -1,5 +1,16 @@
package vid.automation.test.sections;
+import static java.util.stream.Collectors.toMap;
+import static org.hamcrest.CoreMatchers.containsString;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.testng.Assert.assertEquals;
+
+import java.nio.charset.Charset;
+import java.util.List;
+import java.util.Map;
+import java.util.function.Consumer;
+import java.util.stream.Collectors;
import org.apache.http.NameValuePair;
import org.apache.http.client.utils.URLEncodedUtils;
import org.onap.sdc.ci.tests.utilities.GeneralUIUtils;
@@ -10,20 +21,9 @@ import org.openqa.selenium.support.ui.WebDriverWait;
import vid.automation.test.Constants;
import vid.automation.test.infra.Click;
import vid.automation.test.infra.Get;
+import vid.automation.test.infra.Input;
import vid.automation.test.infra.Wait;
-import java.nio.charset.Charset;
-import java.util.List;
-import java.util.Map;
-import java.util.function.Consumer;
-import java.util.stream.Collectors;
-
-import static java.util.stream.Collectors.toMap;
-import static org.hamcrest.CoreMatchers.containsString;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.testng.Assert.assertEquals;
-
public abstract class InstantiationStatusPage extends VidBasePage {
public static final String refreshButtonId = "refresh-btn";
@@ -40,6 +40,11 @@ public abstract class InstantiationStatusPage extends VidBasePage {
return wait.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.xpath("//*[table]//tbody/tr"))).size();
}
+ public static void verifyInstantiationStatusFilterValue(String serviceModelId) {
+ final String filterValue = Input.getValueByTestId("instantiation-status-filter");
+ assertEquals(filterValue, serviceModelId);
+ }
+
public static WebElement assertInstantiationStatusRow(String spanIdSelector, Map<String, String> fieldsIdsAndExpected) {
try {
WebElement newTrRow = getInstantiationStatusRow(spanIdSelector);
diff --git a/vid-automation/src/main/java/vid/automation/test/sections/deploy/DeployDialogBase.java b/vid-automation/src/main/java/vid/automation/test/sections/deploy/DeployDialogBase.java
new file mode 100644
index 000000000..5101a8438
--- /dev/null
+++ b/vid-automation/src/main/java/vid/automation/test/sections/deploy/DeployDialogBase.java
@@ -0,0 +1,21 @@
+package vid.automation.test.sections.deploy;
+
+import vid.automation.test.sections.VidBasePage;
+
+public abstract class DeployDialogBase extends VidBasePage {
+
+ public abstract void closeDialog();
+
+ public abstract void assertDialog();
+
+ public abstract void waitForDialogToLoad();
+
+ public abstract String getModelVersionId();
+
+ public void waitForDialogAssertAndClose() {
+ waitForDialogToLoad();
+ assertDialog();
+ closeDialog();
+ }
+
+}
diff --git a/vid-automation/src/main/java/vid/automation/test/sections/deploy/DeployModernUIALaCarteDialog.java b/vid-automation/src/main/java/vid/automation/test/sections/deploy/DeployModernUIALaCarteDialog.java
new file mode 100644
index 000000000..c4338551b
--- /dev/null
+++ b/vid-automation/src/main/java/vid/automation/test/sections/deploy/DeployModernUIALaCarteDialog.java
@@ -0,0 +1,12 @@
+package vid.automation.test.sections.deploy;
+
+import static org.testng.AssertJUnit.assertFalse;
+
+public class DeployModernUIALaCarteDialog extends DeployModernUIBase {
+
+ @Override
+ public void assertDialog() {
+ super.assertDialog();
+ assertFalse(isLcpRegionExist());
+ }
+}
diff --git a/vid-automation/src/main/java/vid/automation/test/sections/DeployMacroDialog.java b/vid-automation/src/main/java/vid/automation/test/sections/deploy/DeployModernUIBase.java
index e7288ea79..747f4ebde 100644
--- a/vid-automation/src/main/java/vid/automation/test/sections/DeployMacroDialog.java
+++ b/vid-automation/src/main/java/vid/automation/test/sections/deploy/DeployModernUIBase.java
@@ -1,20 +1,28 @@
-package vid.automation.test.sections;
+package vid.automation.test.sections.deploy;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.containsString;
import org.onap.sdc.ci.tests.utilities.GeneralUIUtils;
import org.openqa.selenium.WebElement;
import vid.automation.test.Constants;
+import vid.automation.test.infra.Exists;
+import vid.automation.test.infra.Get;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.Matchers.containsString;
+public abstract class DeployModernUIBase extends DeployDialogBase {
-public class DeployMacroDialog extends DeployMacroDialogBase {
- String dialogTitle = Constants.BrowseASDC.CREATE_SERVICE_INSTANCE_MACRO_MODAL;
@Override
- public void assertTitle(){
+ public void waitForDialogToLoad() {
+ goToIframe();
+ }
+ String dialogTitle = "Set a new service instance";
+
+ public void assertTitle(){
WebElement modalTitle = GeneralUIUtils.getWebElementByTestID(Constants.CREATE_MODAL_TITLE_ID, 30);
assertThat(modalTitle.getText(), containsString(dialogTitle));
}
+
@Override
public void closeDialog(){
GeneralUIUtils.ultimateWait();
@@ -23,17 +31,29 @@ public class DeployMacroDialog extends DeployMacroDialogBase {
}
@Override
- public void assertDialogExists() {
+ public void assertDialog() {
assertTitle();
}
@Override
+ public String getModelVersionId() {
+ return Get.byTestId("model-item-value-uuid").getText();
+ }
+
+ protected boolean isLcpRegionExist() {
+ return Exists.byTestId(Constants.ViewEdit.LCP_REGION_SELECT_TESTS_ID);
+ }
+
public void clickOwningEntitySelect() {
GeneralUIUtils.clickOnElementByTestId(Constants.OwningEntity.OWNING_ENTITY_SELECT_TEST_ID);
}
- @Override
public void clickProjectSelect() {
GeneralUIUtils.clickOnElementByTestId(Constants.OwningEntity.PROJECT_SELECT_TEST_ID);
}
+
+ public void clickPreviousInstantiationButton() {
+ GeneralUIUtils.clickOnElementByTestIdWithoutWait("ShowPreviousInstancesButton");
+ }
+
}
diff --git a/vid-automation/src/main/java/vid/automation/test/sections/deploy/DeployModernUIMacroDialog.java b/vid-automation/src/main/java/vid/automation/test/sections/deploy/DeployModernUIMacroDialog.java
new file mode 100644
index 000000000..33b4b05ef
--- /dev/null
+++ b/vid-automation/src/main/java/vid/automation/test/sections/deploy/DeployModernUIMacroDialog.java
@@ -0,0 +1,13 @@
+package vid.automation.test.sections.deploy;
+
+import static org.testng.Assert.assertTrue;
+
+public class DeployModernUIMacroDialog extends DeployModernUIBase {
+
+ @Override
+ public void assertDialog() {
+ super.assertDialog();
+ assertTrue(isLcpRegionExist());
+ }
+
+}
diff --git a/vid-automation/src/main/java/vid/automation/test/sections/deploy/DeployOldALaCarteDialog.java b/vid-automation/src/main/java/vid/automation/test/sections/deploy/DeployOldALaCarteDialog.java
new file mode 100644
index 000000000..aad4c9fb2
--- /dev/null
+++ b/vid-automation/src/main/java/vid/automation/test/sections/deploy/DeployOldALaCarteDialog.java
@@ -0,0 +1,9 @@
+package vid.automation.test.sections.deploy;
+
+public class DeployOldALaCarteDialog extends DeployOldDialogBase {
+
+ @Override
+ public String getTitle() {
+ return "a la carte";
+ }
+}
diff --git a/vid-automation/src/main/java/vid/automation/test/sections/DeployMacroDialogOld.java b/vid-automation/src/main/java/vid/automation/test/sections/deploy/DeployOldDialogBase.java
index e0e391b4d..59c013a09 100644
--- a/vid-automation/src/main/java/vid/automation/test/sections/DeployMacroDialogOld.java
+++ b/vid-automation/src/main/java/vid/automation/test/sections/deploy/DeployOldDialogBase.java
@@ -1,42 +1,42 @@
-package vid.automation.test.sections;
+package vid.automation.test.sections.deploy;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.containsString;
import org.junit.Assert;
import org.onap.sdc.ci.tests.utilities.GeneralUIUtils;
import org.openqa.selenium.WebElement;
import vid.automation.test.Constants;
+import vid.automation.test.infra.Get;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.Matchers.containsString;
-
-public class DeployMacroDialogOld extends DeployMacroDialogBase {
- String dialogTitle = "macro";
+public abstract class DeployOldDialogBase extends DeployDialogBase {
@Override
- public void assertTitle(){
- WebElement modalTitle = GeneralUIUtils.getWebElementByTestID(Constants.CREATE_MODAL_TITLE_ID, 30);
- assertThat(modalTitle.getText().toLowerCase(), containsString(dialogTitle));
+ public void waitForDialogToLoad() {
+ GeneralUIUtils.ultimateWait();
}
@Override
public void closeDialog(){
- GeneralUIUtils.ultimateWait();
clickCancelButtonByTestID();
}
@Override
- public void assertDialogExists(){
+ public void assertDialog(){
+ assertTitle();
boolean byText = GeneralUIUtils.findAndWaitByText(Constants.BrowseASDC.CREATE_SERVICE_INSTANCE, 15);
Assert.assertTrue(byText);
}
- @Override
- public void clickOwningEntitySelect(){
- GeneralUIUtils.clickOnElementByTestId(Constants.OwningEntity.OWNING_ENTITY_SELECT_TEST_ID);
+ public void assertTitle(){
+ WebElement modalTitle = GeneralUIUtils.getWebElementByTestID(Constants.CREATE_MODAL_TITLE_ID, 30);
+ assertThat(modalTitle.getText().toLowerCase(), containsString(getTitle()));
}
@Override
- public void clickProjectSelect(){
- GeneralUIUtils.clickOnElementByTestId(Constants.OwningEntity.PROJECT_SELECT_TEST_ID);
+ public String getModelVersionId() {
+ return Get.byTestId("Service UUID").getText();
}
+ public abstract String getTitle();
}
diff --git a/vid-automation/src/main/java/vid/automation/test/sections/deploy/DeployOldMacroDialog.java b/vid-automation/src/main/java/vid/automation/test/sections/deploy/DeployOldMacroDialog.java
new file mode 100644
index 000000000..73ae4c55a
--- /dev/null
+++ b/vid-automation/src/main/java/vid/automation/test/sections/deploy/DeployOldMacroDialog.java
@@ -0,0 +1,9 @@
+package vid.automation.test.sections.deploy;
+
+public class DeployOldMacroDialog extends DeployOldDialogBase {
+
+ @Override
+ public String getTitle() {
+ return "macro";
+ }
+}
diff --git a/vid-automation/src/main/java/vid/automation/test/services/AsyncJobsService.java b/vid-automation/src/main/java/vid/automation/test/services/AsyncJobsService.java
index 35849b481..05d6553d3 100644
--- a/vid-automation/src/main/java/vid/automation/test/services/AsyncJobsService.java
+++ b/vid-automation/src/main/java/vid/automation/test/services/AsyncJobsService.java
@@ -1,16 +1,18 @@
package vid.automation.test.services;
import com.google.common.collect.ImmutableList;
-import vid.automation.test.utils.DB_CONFIG;
-
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.List;
+import vid.automation.test.utils.DB_CONFIG;
public class AsyncJobsService {
+ private static final String MUTE_JOB_STATEMENT =
+ "UPDATE `vid_job` SET `TAKEN_BY`='muteAllAsyncJobs', `JOB_STATUS`=CONCAT('MUTED_', `JOB_STATUS`), `AGE`=`AGE`+5 ";
+
public void dropAllAsyncJobs() {
runStatementsInDb(ImmutableList.of(
"DELETE FROM `vid_service_info`",
@@ -44,7 +46,11 @@ public class AsyncJobsService {
public void muteAllAsyncJobs() {
- runStatementInDb("UPDATE `vid_job` SET `TAKEN_BY`='muteAllAsyncJobs', `JOB_STATUS`=CONCAT('MUTED_', `JOB_STATUS`), `AGE`=`AGE`+5 WHERE `TAKEN_BY` is NULL or `TAKEN_BY`<>'muteAllAsyncJobs'");
+ runStatementInDb(MUTE_JOB_STATEMENT + "WHERE `TAKEN_BY` is NULL or `TAKEN_BY`<>'muteAllAsyncJobs'");
+ }
+
+ public void muteAsyncJobById(String uuid) {
+ runStatementInDb(MUTE_JOB_STATEMENT + String.format("WHERE JOB_ID='%s'",uuid));
}
public void dropAllFromNameCounter() {
diff --git a/vid-automation/src/main/java/vid/automation/test/services/SimulatorApi.java b/vid-automation/src/main/java/vid/automation/test/services/SimulatorApi.java
index 6e15b7b52..c8ac7ead9 100644
--- a/vid-automation/src/main/java/vid/automation/test/services/SimulatorApi.java
+++ b/vid-automation/src/main/java/vid/automation/test/services/SimulatorApi.java
@@ -56,17 +56,24 @@ public class SimulatorApi {
public List<StringWrapper> values;
}
+ public static class BodyWrapper {
+ public String value;
+ }
+
public static class HttpRequest {
public StringWrapper path;
+ public BodyWrapper body;
public List<RecordedHeaders> headers;
}
public static class RecordedRequests {
public String path;
+ public String body;
public Map<String, List<String>> headers;
- public RecordedRequests(String path, Map<String, List<String>> headers) {
+ public RecordedRequests(String path, String body, Map<String, List<String>> headers) {
this.path = path;
+ this.body = body;
this.headers = headers;
}
@@ -82,7 +89,7 @@ public class SimulatorApi {
ImmutableList.of(dropTestApiFieldFromString(), dropFieldCloudOwnerFromString());
static {
- String host = System.getProperty("SIM_HOST", System.getProperty("VID_HOST", "127.0.0.1"));
+ String host = getSimulatorHost();
Integer port = Integer.valueOf(System.getProperty("SIM_PORT", System.getProperty("VID_PORT", "8080"))); //port for registration
uri = new JerseyUriBuilder().host(host).port(port).scheme("http").path("vidSimulator").build();
client = ClientBuilder.newClient();
@@ -94,10 +101,18 @@ public class SimulatorApi {
jacksonJsonProvider.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
client.register(jacksonJsonProvider);
- Integer simulationPort = Integer.valueOf(System.getProperty("SIMULATION_PORT", "1080")); //port getting simulated responses
+ Integer simulationPort = getSimulatedResponsesPort();
simulationUri = new JerseyUriBuilder().host(host).port(simulationPort).scheme("http").build();
}
+ public static String getSimulatorHost() {
+ return System.getProperty("SIM_HOST", System.getProperty("VID_HOST", "127.0.0.1"));
+ }
+
+ public static Integer getSimulatedResponsesPort() {
+ return Integer.valueOf(System.getProperty("SIMULATION_PORT", "1080"));
+ }
+
public static URI getSimulationUri() {
return simulationUri;
}
@@ -180,6 +195,7 @@ public class SimulatorApi {
List<HttpRequest> rawRequests = retrieveRecordedHttpRequests();
return rawRequests.stream().map(request->new RecordedRequests(
request.path.value,
+ request.body != null && request.body != null ? request.body.value : "",
request.headers.stream().collect(
Collectors.toMap(
x->x.name.value,
diff --git a/vid-automation/src/main/java/vid/automation/test/test/BrowseASDCTest.java b/vid-automation/src/main/java/vid/automation/test/test/BrowseASDCTest.java
index eb08c1f2a..f6b883ac1 100644
--- a/vid-automation/src/main/java/vid/automation/test/test/BrowseASDCTest.java
+++ b/vid-automation/src/main/java/vid/automation/test/test/BrowseASDCTest.java
@@ -1,49 +1,68 @@
package vid.automation.test.test;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertFalse;
+import static vid.automation.test.infra.Features.FLAG_1908_COLLECTION_RESOURCE_NEW_INSTANTIATION_UI;
+import static vid.automation.test.infra.Features.FLAG_2002_ANY_ALACARTE_BESIDES_EXCLUDED_NEW_INSTANTIATION_UI;
+import static vid.automation.test.infra.Features.FLAG_2002_IDENTIFY_INVARIANT_MACRO_UUID_BY_BACKEND;
+import static vid.automation.test.infra.Features.FLAG_2004_TEMP_BUTTON_TO_INSTANTIATION_STATUS_FILTER;
+import static vid.automation.test.infra.Features.FLAG_5G_IN_NEW_INSTANTIATION_UI;
+import static vid.automation.test.infra.Features.FLAG_NETWORK_TO_ASYNC_INSTANTIATION;
+import static vid.automation.test.infra.Features.FLAG_SHOW_ORCHESTRATION_TYPE;
+import static vid.automation.test.infra.ModelInfo.aLaCarteForBrowseSdc;
+import static vid.automation.test.infra.ModelInfo.aLaCarteServiceCreationTest;
+import static vid.automation.test.infra.ModelInfo.instantiationTypeAlacarte_vidNotionsInstantiationUIByUUID;
+import static vid.automation.test.infra.ModelInfo.macroForBrowseSdc;
+import static vid.automation.test.sections.VidBasePage.goOutFromIframe;
+import static vid.automation.test.sections.VidBasePage.goToIframe;
+
import com.google.common.collect.ImmutableList;
+import java.util.List;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.hamcrest.Matchers;
+import org.jetbrains.annotations.NotNull;
+import org.onap.sdc.ci.tests.datatypes.UserCredentials;
+import org.onap.sdc.ci.tests.utilities.GeneralUIUtils;
import org.onap.simulator.presetGenerator.presets.BasePresets.BasePreset;
import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetServicesGet;
import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetSubscribersGet;
import org.onap.simulator.presetGenerator.presets.aai.PresetAAIServiceDesignAndCreationPut;
import org.onap.simulator.presetGenerator.presets.ecompportal_att.PresetGetSessionSlotCheckIntervalGet;
-import org.onap.sdc.ci.tests.datatypes.UserCredentials;
-import org.onap.sdc.ci.tests.utilities.GeneralUIUtils;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.testng.Assert;
+import org.testng.SkipException;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import vid.automation.test.Constants;
-import vid.automation.test.infra.*;
+import vid.automation.test.infra.Click;
+import vid.automation.test.infra.Exists;
+import vid.automation.test.infra.FeatureTogglingTest;
+import vid.automation.test.infra.Get;
+import vid.automation.test.infra.ModelInfo;
+import vid.automation.test.infra.SelectOption;
import vid.automation.test.model.Service;
import vid.automation.test.model.User;
-import vid.automation.test.sections.*;
+import vid.automation.test.sections.BrowseASDCPage;
+import vid.automation.test.sections.InstantiationStatusPage;
+import vid.automation.test.sections.SideMenu;
+import vid.automation.test.sections.ViewEditPage;
+import vid.automation.test.sections.deploy.DeployDialogBase;
+import vid.automation.test.sections.deploy.DeployModernUIALaCarteDialog;
+import vid.automation.test.sections.deploy.DeployModernUIMacroDialog;
+import vid.automation.test.sections.deploy.DeployOldALaCarteDialog;
+import vid.automation.test.sections.deploy.DeployOldMacroDialog;
import vid.automation.test.services.ServicesService;
import vid.automation.test.services.SimulatorApi;
-import java.util.List;
-
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertFalse;
-import static vid.automation.test.infra.Features.FLAG_5G_IN_NEW_INSTANTIATION_UI;
-import static vid.automation.test.infra.Features.FLAG_SHOW_ORCHESTRATION_TYPE;
-import static vid.automation.test.infra.Features.FLAG_1908_TRANSPORT_SERVICE_NEW_INSTANTIATION_UI;
-import static vid.automation.test.infra.ModelInfo.*;
-
public class BrowseASDCTest extends CreateInstanceDialogBaseTest {
private final String invariantUUIDAlacarte = aLaCarteForBrowseSdc.modelInvariantId;
private final String invariantUUIDMacro = macroForBrowseSdc.modelInvariantId;
- private final String instantiationTypeNameAlacarte = "a la carte";
- private final String instantiationTypeNameMacro = "macro";
- private final String oldMacro = "old macro";
- private final String newAlacarte = "new a la carte";
public static final String modelInvariantUUID1 = "aeababbc-010b-4a60-8df7-e64c07389466";
public static final String modelInvariantUUID2 = "aa2f8e9c-9e47-4b15-a95c-4a9385599abc";
public static final String modelInvariantUUID3 = "d849c57d-b6fe-4843-8349-4ab8bbb08d71";
@@ -69,7 +88,7 @@ public class BrowseASDCTest extends CreateInstanceDialogBaseTest {
return new UserCredentials(user.credentials.userId, user.credentials.password, Constants.Users.EMANUEL_EMANUEL, "", "");
}
- @Test(groups = {"shouldBeMigratedToWorkWithSimulator"})
+ //@Test(groups = {"shouldBeMigratedToWorkWithSimulator"})
public void testPNFOnCreatePopup() {
Service service = servicesService.getService("f39389e4-2a9c-4085-8ac3-04aea9c651be");
BrowseASDCPage browseASDCPage = new BrowseASDCPage();
@@ -85,12 +104,9 @@ public class BrowseASDCTest extends CreateInstanceDialogBaseTest {
validateServiceCreationDialog(service);
}
-// @BeforeMethod
-// public void clearSimulator() {
-// SimulatorApi.clearAll();
-// }
- @Test(groups = {"shouldBeMigratedToWorkWithSimulator"})
+
+ //@Test(groups = {"shouldBeMigratedToWorkWithSimulator"})
private void testPNFMacroInstantation() throws Exception {
User user = usersService.getUser(Constants.Users.EMANUEL_EMANUEL);
relogin(user.credentials);
@@ -126,89 +142,97 @@ public class BrowseASDCTest extends CreateInstanceDialogBaseTest {
}
@Test
- private void browseServiceModel_deployServiceALaCarteByBackendInput_creationPopupIsALaCarte() throws Exception {
+ private void browseServiceModel_deployServiceALaCarteByBackendInput_creationPopupIsALaCarte() {
// model uuid should be of macro
deployServiceAndAssertInstantiationType(
"csar15782222_instantiationTypeAlacarte_invariantUUIDMacro.zip",
invariantUUIDMacro,
- instantiationTypeNameAlacarte
+ getAlacarteDialogByFlagValue()
);
}
+ @NotNull
+ public static DeployDialogBase getAlacarteDialogByFlagValue() {
+ return FLAG_2002_ANY_ALACARTE_BESIDES_EXCLUDED_NEW_INSTANTIATION_UI.isActive() ?
+ new DeployModernUIALaCarteDialog() :
+ new DeployOldALaCarteDialog();
+ }
+
@Test
@FeatureTogglingTest(FLAG_5G_IN_NEW_INSTANTIATION_UI)
- private void browseServiceModel_deployServiceALaCarteByBackendInputHintNewUI_creationPopupIsAngular2() throws Exception {
+ private void browseServiceModel_deployServiceALaCarteByBackendInputHintNewUI_creationPopupIsAngular2() {
deployServiceAndAssertInstantiationType(
instantiationTypeAlacarte_vidNotionsInstantiationUIByUUID,
- newAlacarte
+ new DeployModernUIALaCarteDialog()
);
}
@Test
- private void browseServiceModel_deployServiceALaCarteBecauseNotOnMACRO_SERVICESConfig_creationPopupIsALaCarte() throws Exception {
+ private void browseServiceModel_deployServiceALaCarteBecauseNotOnMACRO_SERVICESConfig_creationPopupIsALaCarte() {
deployServiceAndAssertInstantiationType(
"csar15782222_instantiationTypeEmpty_invariantUUIDAlacarte.zip",
invariantUUIDAlacarte,
- instantiationTypeNameAlacarte
+ getAlacarteDialogByFlagValue()
);
}
@Test
- private void browseServiceModel_deployServiceMacroByBackendInput_creationPopupIsMacro() throws Exception {
+ private void browseServiceModel_deployServiceMacroByBackendInput_creationPopupIsMacro() {
deployServiceAndAssertInstantiationType(
- "csar15782222_instantiationTypeMacro_invariantUUIDAlacarte_withoutNetworks.zip",
- invariantUUIDAlacarte,
- instantiationTypeNameMacro
+ ModelInfo.serviceWithInstantiationTypeMacro,
+ new DeployModernUIMacroDialog()
);
}
@Test
- private void browseServiceModel_deployServiceMacroByMACRO_SERVICESConfig_creationPopupIsOldMacro() throws Exception {
+ private void browseServiceModel_deployServiceMacroByMACRO_SERVICESConfig_creationPopupIsOldMacro() {
+ if (FLAG_2002_ANY_ALACARTE_BESIDES_EXCLUDED_NEW_INSTANTIATION_UI.isActive() &&
+ ! FLAG_2002_IDENTIFY_INVARIANT_MACRO_UUID_BY_BACKEND.isActive()) {
+ throw new SkipException("some 2002 flags shall come along together");
+ }
deployServiceAndAssertInstantiationType(
"csar15782222_invariantUUIDMacro.zip",
invariantUUIDMacro,
- oldMacro
-
+ new DeployOldMacroDialog()
);
}
@Test
- private void browseServiceModel_deployServiceMacroWithPnf_creationPopupIsOldMacro() throws Exception {
+ private void browseServiceModel_deployServiceMacroWithPnf_creationPopupIsOldMacro() {
deployServiceAndAssertInstantiationType(
"csar15782222_instantiationTypeMacroWithPnf.zip",
invariantUUIDMacro,
- oldMacro
-
+ new DeployOldMacroDialog()
);
}
@Test
- @FeatureTogglingTest(flagActive = false, value = FLAG_1908_TRANSPORT_SERVICE_NEW_INSTANTIATION_UI)
- public void browseServiceModel_deployServiceMacroWithCR_creationPopupIsOldMacro() throws Exception {
+ public void browseServiceModel_deployServiceMacroWithCR_creationPopupIsOldMacro() {
deployServiceAndAssertInstantiationType(
- "csar15782222_instantiationTypeMacroWithCR.zip",
- invariantUUIDMacro,
- oldMacro
-
+ ModelInfo.collectionResourceService,
+ FLAG_1908_COLLECTION_RESOURCE_NEW_INSTANTIATION_UI.isActive() ?
+ new DeployModernUIMacroDialog() :
+ new DeployOldMacroDialog()
);
}
@Test
- private void browseServiceModel_deployServiceMacroWithNetwork_creationPopupIsMacroByFF() throws Exception {
- String macroInstantiationAccordingFF = Features.FLAG_NETWORK_TO_ASYNC_INSTANTIATION.isActive() ? instantiationTypeNameMacro : oldMacro;
+ private void browseServiceModel_deployServiceMacroWithNetwork_creationPopupIsMacroByFF() {
deployServiceAndAssertInstantiationType(
"csar15782222_instantiationTypeMacroWithNetwork.zip",
invariantUUIDMacro,
- macroInstantiationAccordingFF
+ FLAG_NETWORK_TO_ASYNC_INSTANTIATION.isActive() ?
+ new DeployModernUIMacroDialog() :
+ new DeployOldMacroDialog()
);
}
- private void deployServiceAndAssertInstantiationType(String modelZipFileName, String modelInvariantId, String expectedInstantiationType) throws Exception {
- deployServiceAndAssertInstantiationType(new ModelInfo("4d71990b-d8ad-4510-ac61-496288d9078e", modelInvariantId, modelZipFileName), expectedInstantiationType);
+ private void deployServiceAndAssertInstantiationType(String modelZipFileName, String modelInvariantId, DeployDialogBase deployDialog) {
+ deployServiceAndAssertInstantiationType(new ModelInfo("4d71990b-d8ad-4510-ac61-496288d9078e", modelInvariantId, modelZipFileName), deployDialog);
}
- private void deployServiceAndAssertInstantiationType(ModelInfo modelInfo, String expectedInstantiationType) throws Exception {
+ private void deployServiceAndAssertInstantiationType(ModelInfo modelInfo, DeployDialogBase deployDialog) {
registerExpectationForLegacyServiceDeployment(modelInfo, "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb");
User user = usersService.getUser(Constants.Users.EMANUEL_EMANUEL);
@@ -219,19 +243,13 @@ public class BrowseASDCTest extends CreateInstanceDialogBaseTest {
GeneralUIUtils.ultimateWait();
browseASDCPage.clickDeployServiceButtonByServiceUUID(modelInfo.modelVersionId);
- DeployMacroDialogBase macroDialog = null;
- if (expectedInstantiationType.equals(instantiationTypeNameAlacarte)) {
- GeneralUIUtils.ultimateWait();
- browseASDCPage.clickCancelButtonByTestID();
- } else { //macro
- macroDialog = expectedInstantiationType.equals(oldMacro) ? new DeployMacroDialogOld() : getMacroDialog();
- macroDialog.assertTitle();
- macroDialog.closeDialog();
- }
+
+ deployDialog.waitForDialogAssertAndClose();
}
+ @FeatureTogglingTest(value = FLAG_2002_ANY_ALACARTE_BESIDES_EXCLUDED_NEW_INSTANTIATION_UI, flagActive = false)
@Test
- private void testServiceInstantiationAlaCarte() throws Exception {
+ private void testServiceInstantiationAlaCarte() {
User user = usersService.getUser(Constants.Users.EMANUEL_EMANUEL);
relogin(user.credentials);
@@ -283,7 +301,10 @@ public class BrowseASDCTest extends CreateInstanceDialogBaseTest {
@DataProvider
public static Object[][] filterTexts() {
- return new Object[][]{{serviceName},{modelInvariantId},{serviceUuid}};
+ return new Object[][]{
+ {serviceName},
+ {modelInvariantId},
+ {serviceUuid}};
}
@Test(dataProvider = "filterTexts")
@@ -300,15 +321,43 @@ public class BrowseASDCTest extends CreateInstanceDialogBaseTest {
@Test
private void testCategoryParamsDropdownsExistsInCreationDialog() throws Exception {
- BrowseASDCPage browseASDCPage = registerSimulatorAndGoToBrowseSDC();
- Service service = servicesService.getService("2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd");
- browseASDCPage.clickDeployServiceButtonByServiceUUID(service.uuid);
- DeployMacroDialogBase deployMacroDialog = getMacroDialog();
- deployMacroDialog.assertDialogExists();
+ String serviceId = "2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd";
+
+ DeployModernUIMacroDialog deployMacroDialog = getDeployModernUIMacroDialog(serviceId);
+ deployMacroDialog.assertDialog();
deployMacroDialog.clickProjectSelect();
deployMacroDialog.clickOwningEntitySelect();
}
+ private DeployModernUIMacroDialog getDeployModernUIMacroDialog(String serviceId) {
+ BrowseASDCPage browseASDCPage = registerSimulatorAndGoToBrowseSDC();
+ Service service = servicesService.getService(serviceId);
+ browseASDCPage.clickDeployServiceButtonByServiceUUID(service.uuid);
+ DeployModernUIMacroDialog deployMacroDialog = new DeployModernUIMacroDialog();
+ deployMacroDialog.waitForDialogToLoad();
+ return deployMacroDialog;
+ }
+
+ @Test
+ @FeatureTogglingTest(FLAG_2004_TEMP_BUTTON_TO_INSTANTIATION_STATUS_FILTER)
+ public void testClickPreviousInstantiationsInCreationDialog() {
+ try {
+ String serviceId = "2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd";
+ DeployModernUIMacroDialog deployMacroDialog = getDeployModernUIMacroDialog(serviceId);
+ deployMacroDialog.clickPreviousInstantiationButton();
+
+ //exit form deploy dialog
+ goOutFromIframe();
+ //go into Instantiation Status page
+ goToIframe();
+
+ InstantiationStatusPage.verifyInstantiationStatusFilterValue(serviceId);
+ }
+ finally {
+ goOutFromIframe();
+ }
+ }
+
private BrowseASDCPage registerSimulatorAndGoToBrowseSDC() {
SimulatorApi.registerExpectation(SimulatorApi.RegistrationStrategy.CLEAR_THEN_SET,
"ecompportal_getSessionSlotCheckInterval.json",
@@ -324,7 +373,7 @@ public class BrowseASDCTest extends CreateInstanceDialogBaseTest {
return new BrowseASDCPage();
}
- @Test(groups = {"shouldBeMigratedToWorkWithSimulator"})
+ //@Test(groups = {"shouldBeMigratedToWorkWithSimulator"})
private void testOwningEntityRequiredAndProjectOptional() throws Exception {
User user = usersService.getUser(Constants.Users.SILVIA_ROBBINS_TYLER_SILVIA);
relogin(user.credentials);
@@ -358,7 +407,7 @@ public class BrowseASDCTest extends CreateInstanceDialogBaseTest {
assertSuccessfulServiceInstanceCreation();
}
- @Test(groups = {"shouldBeMigratedToWorkWithSimulator"})
+ //@Test(groups = {"shouldBeMigratedToWorkWithSimulator"})
protected void testLineOfBusinessOptionalAndPlatformRequired() throws Exception {
User user = usersService.getUser(Constants.Users.SILVIA_ROBBINS_TYLER_SILVIA);
@@ -404,8 +453,7 @@ public class BrowseASDCTest extends CreateInstanceDialogBaseTest {
browseASDCPage.clickConfirmButton();
GeneralUIUtils.findAndWaitByText("Missing data", 5);
-
- Click.onFirstSelectOptionById(Constants.OwningEntity.PLATFORM_SELECT_TEST_ID);
+ SelectOption.selectFirstTwoOptionsFromMultiselectById("multi-selectPlatform");
viewEditPage.clickConfirmButton();
assertSuccessfulVNFCreation();
diff --git a/vid-automation/src/main/java/vid/automation/test/test/CreateNewInstanceTest.java b/vid-automation/src/main/java/vid/automation/test/test/CreateNewInstanceTest.java
index b57d18789..be96e6992 100644
--- a/vid-automation/src/main/java/vid/automation/test/test/CreateNewInstanceTest.java
+++ b/vid-automation/src/main/java/vid/automation/test/test/CreateNewInstanceTest.java
@@ -1,11 +1,12 @@
package vid.automation.test.test;
+import java.io.IOException;
+import java.util.List;
import org.onap.sdc.ci.tests.utilities.GeneralUIUtils;
import org.openqa.selenium.WebElement;
import org.testng.Assert;
import org.testng.annotations.Test;
import vid.automation.test.Constants;
-import vid.automation.test.infra.Features;
import vid.automation.test.infra.Get;
import vid.automation.test.infra.SelectOption;
import vid.automation.test.model.Service;
@@ -16,24 +17,15 @@ import vid.automation.test.services.BulkRegistration;
import vid.automation.test.services.ServicesService;
import vid.automation.test.services.SimulatorApi;
-import java.io.IOException;
-import java.util.List;
-
public class CreateNewInstanceTest extends CreateInstanceDialogBaseTest {
private ServicesService servicesService = new ServicesService();
public CreateNewInstanceTest() throws IOException {
}
- @Test
+ @Test(groups = { "underDevelopment" })
private void testCreateNewServiceInstance() throws Exception {
- if (!Features.CREATE_INSTANCE_TEST.isActive()) {
-
- // time bomb, as it fails on pipeline and I don't know how to fix it
- return;
- }
-
SimulatorApi.clearAll();
BulkRegistration.createNewServiceInstance("SILVIA ROBBINS");
diff --git a/vid-automation/src/main/java/vid/automation/test/test/EnvironmentsTest.java b/vid-automation/src/main/java/vid/automation/test/test/EnvironmentsTest.java
index 03378b615..962a1de53 100644
--- a/vid-automation/src/main/java/vid/automation/test/test/EnvironmentsTest.java
+++ b/vid-automation/src/main/java/vid/automation/test/test/EnvironmentsTest.java
@@ -1,6 +1,13 @@
package vid.automation.test.test;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static vid.automation.test.Constants.TestEnvironments.REFRESH_BUTTON;
+
import com.google.common.collect.ImmutableMap;
+import java.util.List;
+import java.util.Map;
import org.junit.Assert;
import org.onap.sdc.ci.tests.utilities.GeneralUIUtils;
import org.openqa.selenium.WebElement;
@@ -9,7 +16,13 @@ import org.testng.annotations.BeforeMethod;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import vid.automation.test.Constants;
-import vid.automation.test.infra.*;
+import vid.automation.test.infra.Click;
+import vid.automation.test.infra.Exists;
+import vid.automation.test.infra.Features;
+import vid.automation.test.infra.Get;
+import vid.automation.test.infra.Input;
+import vid.automation.test.infra.SelectOption;
+import vid.automation.test.infra.Wait;
import vid.automation.test.model.Environment;
import vid.automation.test.sections.SideMenu;
import vid.automation.test.sections.TestEnvironmentPage;
@@ -17,12 +30,6 @@ import vid.automation.test.sections.VidBasePage;
import vid.automation.test.services.SimulatorApi;
import vid.automation.test.utils.ReadFile;
-import java.util.List;
-import java.util.Map;
-
-import static org.junit.Assert.*;
-import static vid.automation.test.Constants.TestEnvironments.REFRESH_BUTTON;
-
/*
@@ -349,7 +356,7 @@ public class EnvironmentsTest extends VidBaseTestCase {
}
@Test
- public void testApplicationEnvironmentActivationBadManifestStructure() throws Exception {
+ public void testApplicationEnvironmentActivationBadManifestStructure() {
testApplicationEnvironmentActivationBadManifestStructure("bad_manifest_structure.json", "Manifest structure is wrong");
testApplicationEnvironmentActivationBadManifestStructure("manifest_with_wrong_recovery_action.json",
"Wrong value for RecoveryAction in manifest. Allowed options are: abort, retry, skip. Wrong value is: leave");
diff --git a/vid-automation/src/main/java/vid/automation/test/test/HealthStatusTest.java b/vid-automation/src/main/java/vid/automation/test/test/HealthStatusTest.java
index 2bb97aa2e..b8f90c22d 100644
--- a/vid-automation/src/main/java/vid/automation/test/test/HealthStatusTest.java
+++ b/vid-automation/src/main/java/vid/automation/test/test/HealthStatusTest.java
@@ -1,30 +1,27 @@
package vid.automation.test.test;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.containsString;
+import static org.hamcrest.Matchers.equalTo;
+import static vid.automation.test.services.SimulatorApi.RegistrationStrategy.CLEAR_THEN_SET;
+
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.collect.ImmutableList;
+import java.io.IOException;
+import java.util.Collection;
+import java.util.Map;
+import org.onap.sdc.ci.tests.utilities.GeneralUIUtils;
import org.onap.simulator.presetGenerator.presets.BasePresets.BasePreset;
import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetSubscribersGet;
import org.onap.simulator.presetGenerator.presets.ecompportal_att.PresetGetSessionSlotCheckIntervalGet;
-import org.onap.sdc.ci.tests.utilities.GeneralUIUtils;
import org.openqa.selenium.remote.RemoteWebElement;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import vid.automation.test.infra.Click;
import vid.automation.test.infra.Get;
-import vid.automation.test.infra.Wait;
import vid.automation.test.sections.VidBasePage;
import vid.automation.test.services.SimulatorApi;
-import java.io.IOException;
-import java.util.Collection;
-import java.util.Map;
-
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.Matchers.containsString;
-import static org.hamcrest.Matchers.equalTo;
-import static org.testng.Assert.assertTrue;
-import static vid.automation.test.services.SimulatorApi.RegistrationStrategy.CLEAR_THEN_SET;
-
public class HealthStatusTest extends VidBaseTestCase {
private VidBasePage vidBasePage = new VidBasePage();
@@ -45,7 +42,7 @@ public class HealthStatusTest extends VidBaseTestCase {
public void testAaiHealthStatus(Collection<BasePreset> presets, String cssName, String description, int httpCode) throws IOException {
SimulatorApi.registerExpectationFromPresets(presets, CLEAR_THEN_SET);
refreshStatus();
- assertTrue(Wait.waitByClassAndTextXpathOnly(cssName, "AAI", 10)); //instead of ultimate wait
+ GeneralUIUtils.ultimateWait(); //instead of assertTrue(Wait.waitByClassAndTextXpathOnly(cssName, "AAI", 10))
RemoteWebElement componentName = (RemoteWebElement)Get.byTestId("component-name-AAI");
assertThat("Wrong component name", componentName.getText(), equalTo("AAI"));
assertThat("Wrong css for component name", componentName.getAttribute("class"), containsString(cssName));
diff --git a/vid-automation/src/main/java/vid/automation/test/test/NewServiceInstanceTest.java b/vid-automation/src/main/java/vid/automation/test/test/NewServiceInstanceTest.java
index a701f1029..5a9dc2c01 100644
--- a/vid-automation/src/main/java/vid/automation/test/test/NewServiceInstanceTest.java
+++ b/vid-automation/src/main/java/vid/automation/test/test/NewServiceInstanceTest.java
@@ -1,12 +1,12 @@
package vid.automation.test.test;
-//import com.automation.common.report_portal_integration.annotations.Step;
-
+import static java.util.Collections.emptyList;
import static junit.framework.TestCase.assertNull;
import static org.apache.commons.lang3.RandomStringUtils.randomAlphabetic;
import static org.hamcrest.CoreMatchers.startsWith;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.containsInAnyOrder;
+import static org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetCloudOwnersByCloudRegionId.PRESET_MTN6_TO_ATT_AIC;
import static org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetCloudOwnersByCloudRegionId.PRESET_SOME_LEGACY_REGION_TO_ATT_AIC;
import static org.onap.simulator.presetGenerator.presets.mso.PresetMSOOrchestrationRequestGet.COMPLETE;
import static org.onap.simulator.presetGenerator.presets.mso.PresetMSOOrchestrationRequestGet.DEFAULT_SERVICE_INSTANCE_ID;
@@ -17,6 +17,7 @@ import static vid.automation.test.infra.Features.FLAG_1908_COLLECTION_RESOURCE_N
import static vid.automation.test.infra.Features.FLAG_1908_INFRASTRUCTURE_VPN;
import static vid.automation.test.infra.Features.FLAG_1908_MACRO_NOT_TRANSPORT_NEW_VIEW_EDIT;
import static vid.automation.test.infra.Features.FLAG_1908_TRANSPORT_SERVICE_NEW_INSTANTIATION_UI;
+import static vid.automation.test.infra.Features.FLAG_2002_ANY_ALACARTE_BESIDES_EXCLUDED_NEW_INSTANTIATION_UI;
import static vid.automation.test.infra.Features.FLAG_5G_IN_NEW_INSTANTIATION_UI;
import static vid.automation.test.infra.Features.FLAG_ENABLE_WEBPACK_MODERN_UI;
import static vid.automation.test.infra.ModelInfo.aLaCarteNetworkProvider5G;
@@ -53,18 +54,20 @@ import org.apache.commons.lang3.mutable.MutableInt;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.hamcrest.Matchers;
+import org.jetbrains.annotations.NotNull;
import org.onap.sdc.ci.tests.datatypes.UserCredentials;
import org.onap.sdc.ci.tests.utilities.GeneralUIUtils;
-import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetCloudOwnersByCloudRegionId;
import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetL3NetworksByCloudRegionSpecificState;
import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetTenants;
import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetVpnsByType;
import org.onap.simulator.presetGenerator.presets.aai.PresetAAIPostNamedQueryForViewEdit;
import org.onap.simulator.presetGenerator.presets.mso.PresetMSOBaseCreateInstancePost;
import org.onap.simulator.presetGenerator.presets.mso.PresetMSOCreateNetworkALaCarte5G;
-import org.onap.simulator.presetGenerator.presets.mso.PresetMSOCreateServiceInstanceAlacarte5GServiceWithNetwork;
+import org.onap.simulator.presetGenerator.presets.mso.PresetMSOCreateServiceInstanceAlacarte;
import org.onap.simulator.presetGenerator.presets.mso.PresetMSOCreateServiceInstanceGen2WithNamesAlacarteGroupingService;
import org.onap.simulator.presetGenerator.presets.mso.PresetMSOCreateServiceInstanceGen2WithNamesEcompNamingFalse;
+import org.onap.simulator.presetGenerator.presets.mso.PresetMSOCreateVfModuleALaCarteE2E;
+import org.onap.simulator.presetGenerator.presets.mso.PresetMSOCreateVnfALaCarteE2E;
import org.onap.simulator.presetGenerator.presets.mso.PresetMSOOrchestrationRequestGet;
import org.onap.simulator.presetGenerator.presets.mso.PresetMSOOrchestrationRequestsGet5GServiceInstanceAndNetwork;
import org.onap.simulator.presetGenerator.presets.mso.PresetMSOOrchestrationRequestsGet5GServiceInstanceAndNetwork.ResponseDetails;
@@ -86,6 +89,7 @@ import vid.automation.test.infra.Features;
import vid.automation.test.infra.Get;
import vid.automation.test.infra.Input;
import vid.automation.test.infra.ModelInfo;
+import vid.automation.test.infra.ModelInfoWithCustomization;
import vid.automation.test.infra.SelectOption;
import vid.automation.test.infra.Wait;
import vid.automation.test.model.Service;
@@ -229,12 +233,13 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
new ArrayList<>(),
IS_GENERATED_NAMING.FALSE, true, true, true,
"2017-488_PASQUALE-vPE 0",
- "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", 0, 1, new ArrayList<>(), "25284168-24bb-4698-8cb4-3f509146eca5");
+ "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
+ 0, 1, new ArrayList<>(), "25284168-24bb-4698-8cb4-3f509146eca5", false);
prepareServicePreset(macroSriovNoDynamicFieldsEcompNamingFalseFullModelDetails, false);
final String serviceInstanceName = createMacroService(serviceData, true);
- createVnf(serviceData, true, true, serviceInstanceName);
+ createVnf(serviceData, true, serviceInstanceName);
createVfModule(serviceData, serviceInstanceName, false, false);
@@ -277,7 +282,7 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
IS_GENERATED_NAMING.FALSE, false, true, false,
"2017-488_PASQUALE-vPE 0",
"2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", 0, 1, ImmutableList.of("Bandwidth", "Bandwidth units"),
- "25284168-24bb-4698-8cb4-3f509146eca5");
+ "25284168-24bb-4698-8cb4-3f509146eca5", false);
// this is the instance-name that createMacroService is going to use
String serviceInstanceName = randomAlphabetic + "instancename";
@@ -289,7 +294,7 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
});
doReduxStep(reduxStates, randomAlphabetic, startInStep, reduxForStep, i, mode, () ->
- createVnf(serviceData, false, true, serviceInstanceName)
+ createVnf(serviceData, false, serviceInstanceName)
);
final String vnfInstanceName2 = randomAlphabetic + "instanceName";
@@ -297,7 +302,7 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
doReduxStep(reduxStates, randomAlphabetic, startInStep, reduxForStep, i, mode, () ->
createVnf(new VnfData(vnfName2 + " 0", "afacccf6-397d-45d6-b5ae-94c39734b168", vnfInstanceName2, false),
- false, Features.FLAG_DEFAULT_VNF.isActive(), serviceInstanceName)
+ false, serviceInstanceName)
);
doReduxStep(reduxStates, randomAlphabetic, startInStep, reduxForStep, i, mode, () ->
@@ -329,7 +334,7 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
.build();
registerExpectationFromPresets(ImmutableList.of(
// although "some legacy region" is provided for vnf, Service's region "hvf6" overrides it
- PresetAAIGetCloudOwnersByCloudRegionId.PRESET_MTN6_TO_ATT_AIC,
+ PRESET_MTN6_TO_ATT_AIC,
new PresetMSOCreateServiceInstanceGen2WithNamesEcompNamingFalse(vars, 0, request1),
new PresetMSOCreateServiceInstanceGen2WithNamesEcompNamingFalse(vars, 1, request2)
), SimulatorApi.RegistrationStrategy.APPEND);
@@ -345,13 +350,13 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
@Test
@FeatureTogglingTest(FLAG_1908_INFRASTRUCTURE_VPN)
public void createNewServiceInstance_infraStructureVpn() {
- String requestId = UUID.randomUUID().toString();
- String instanceId = UUID.randomUUID().toString();
+ String requestId = uuid();
+ String instanceId = uuid();
prepareServicePreset(infrastructureVpnService, false);
SimulatorApi.registerExpectationFromPresets(ImmutableList.of(
- PresetAAIGetCloudOwnersByCloudRegionId.PRESET_MTN6_TO_ATT_AIC,
+ PRESET_MTN6_TO_ATT_AIC,
new PresetAAIGetL3NetworksByCloudRegionSpecificState("irma-aic", "hvf6", "bae71557c5bb4d5aac6743a4e5f1d054"),
new PresetAAIGetVpnsByType()
), APPEND);
@@ -361,7 +366,7 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
new ArrayList<>(),
IS_GENERATED_NAMING.TRUE_BUT_GIVE_NAME_EITHER_WAY, true, true, false,
null,
- null, 0, 1, new ArrayList<>(), null);
+ null, 0, 1, new ArrayList<>(), null, false);
final String serviceInstanceName = createMacroService(serviceData, false);
SimulatorApi.registerExpectationFromPresets(ImmutableList.of(
@@ -388,11 +393,11 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
@FeatureTogglingTest(FLAG_1908_COLLECTION_RESOURCE_NEW_INSTANTIATION_UI)
public void createNewServiceInstance_collectionResource() {
prepareServicePreset(collectionResourceService, false);
- String requestId = UUID.randomUUID().toString();
- String instanceId = UUID.randomUUID().toString();
+ String requestId = uuid();
+ String instanceId = uuid();
SimulatorApi.registerExpectationFromPresets(ImmutableList.of(
- PresetAAIGetCloudOwnersByCloudRegionId.PRESET_MTN6_TO_ATT_AIC,
+ PRESET_MTN6_TO_ATT_AIC,
PresetMsoCreateMacroCommonPre1806.ofCollectionResource(requestId, instanceId),
new PresetMSOOrchestrationRequestGet(COMPLETE, requestId)
), APPEND);
@@ -402,7 +407,7 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
new ArrayList<>(),
IS_GENERATED_NAMING.TRUE, true, true, false,
null,
- null, 0, 1, new ArrayList<>(), null);
+ null, 0, 1, new ArrayList<>(), null, false);
createMacroService(serviceData, false, randomAlphabetic(5), true, 1);
drawingBoardPage.deploy();
@@ -413,8 +418,8 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
@FeatureTogglingTest(FLAG_1908_TRANSPORT_SERVICE_NEW_INSTANTIATION_UI)
public void createNewServiceInstance_transportService() {
prepareServicePreset(transportWithPnfsService, false);
- String requestId = UUID.randomUUID().toString();
- String instanceId = UUID.randomUUID().toString();
+ String requestId = uuid();
+ String instanceId = uuid();
SimulatorApi.registerExpectationFromPresets(ImmutableList.of(
PresetMsoCreateMacroCommonPre1806.ofTransportService(requestId, instanceId),
@@ -426,7 +431,7 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
new ArrayList<>(),
IS_GENERATED_NAMING.TRUE, true, true, false,
null,
- null, 0, 1, new ArrayList<>(), null);
+ null, 0, 1, new ArrayList<>(), null, false);
createMacroService(serviceData, false, randomAlphabetic(5), false, 1);
drawingBoardPage.deploy();
@@ -443,7 +448,7 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
aLaCarteVnfGroupingService.modelVersionId,
ImmutableList.of(),
IS_GENERATED_NAMING.FALSE, false, true, false,
- null, null, 0, 1, ImmutableList.of(), null);
+ null, null, 0, 1, ImmutableList.of(), null, false);
prepareServicePreset(aLaCarteVnfGroupingService, false);
createALaCarteService(serviceData, randomAlphabetic);
@@ -529,11 +534,7 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
//@Step("edit vf module and just set name")
private void editVfModuleAndJustSetName(String vfModuleName, String vfModuleUUID) {
- if (Features.FLAG_SETTING_DEFAULTS_IN_DRAWING_BOARD.isActive()) {
- hoverAndClickEditButton(vfModuleUUID + "-" + vfModuleName);
- } else {
- drawingBoardPage.clickAddButtonByNodeName(vfModuleName);
- }
+ hoverAndClickEditButton(vfModuleUUID + "-" + vfModuleName);
Input.text("VF instance name ZERO", "instanceName");
Click.byTestId(VNF_SET_BUTTON_TEST_ID);
}
@@ -545,12 +546,12 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
new ArrayList<>(),
IS_GENERATED_NAMING.FALSE, true, false, true,
"2017-488_PASQUALE-vPE 0",
- vfModule0Name, 1, 1, new ArrayList<>(), vfModule0UUID);
+ vfModule0Name, 1, 1, new ArrayList<>(), vfModule0UUID, false);
prepareServicePreset(macroSriovNoDynamicFieldsEcompNamingFalseFullModelDetails, false);
final String serviceInstanceName = createMacroService(serviceData, true);
- createVnf(serviceData, true, true, serviceInstanceName);
+ createVnf(serviceData, true, serviceInstanceName);
createVfModule(serviceData, serviceInstanceName, true, false);
}
@@ -562,12 +563,12 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
new ArrayList<>(),
IS_GENERATED_NAMING.FALSE, false, false, false,
"2017-488_PASQUALE-vPE 0",
- vfModule0Name, 1, 1, new ArrayList<>(), vfModule0UUID);
+ vfModule0Name, 1, 1, new ArrayList<>(), vfModule0UUID, false);
prepareServicePreset(macroSriovNoDynamicFieldsEcompNamingFalseFullModelDetailsVnfEcompNamingFalse, false);
final String serviceInstanceName = createMacroService(serviceData, true);
- createVnf(serviceData, true, true, serviceInstanceName);
+ createVnf(serviceData, true, serviceInstanceName);
createVfModule(serviceData, serviceInstanceName, true, false);
}
@@ -579,35 +580,149 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
new ArrayList<>(),
IS_GENERATED_NAMING.FALSE, false, true, false,
"2017-488_PASQUALE-vPE 0",
- "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", 0, 1, new ArrayList<>(), "25284168-24bb-4698-8cb4-3f509146eca5");
+ "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", 0, 1, new ArrayList<>(), "25284168-24bb-4698-8cb4-3f509146eca5", false);
prepareServicePreset(macroSriovNoDynamicFieldsEcompNamingFalseFullModelDetailsVnfEcompNamingFalse, false);
final String serviceInstanceName = createMacroService(serviceData, true);
- createVnf(serviceData, true, true, serviceInstanceName);
+ createVnf(serviceData, true, serviceInstanceName);
clickRemoveVfModule(vfModule0UUID, vfModule0Name);
createVfModule(serviceData, serviceInstanceName, false, true);
}
+ @Test
+ @FeatureTogglingTest(FLAG_2002_ANY_ALACARTE_BESIDES_EXCLUDED_NEW_INSTANTIATION_UI)
+ public void createNewServiceInstance_aLaCarte_WithVnf() {
+ final ModelInfo serviceModelInfo = ModelInfo.aLaCarteServiceCreationNewUI;
+ String serviceInstanceName = "ALaCarteWithVnf"+randomAlphabetic(5);
+ String vnfInstanceName= "VnfForALaCarte"+randomAlphabetic(5);
+ VnfData vnfData = new VnfData("vOCG_1804_VF 0", "aca3f7b1-15f9-45a5-b182-b8b5aca84a76", vnfInstanceName, true);
+ VfData vfmData = new VfData("vocg_1804_vf0..Vocg1804Vf..base_ocg..module-0", false, 1, 1, emptyList(), "815db6e5-bdfd-4cb6-9575-82c36df8747a", null);
+ ServiceData serviceData = new ServiceData(IS_GENERATED_NAMING.TRUE, vnfData, vfmData, true);
+
+ resetGetServicesCache();
+
+ prepareServicePreset(serviceModelInfo, true);
+
+ String requestorID = getUserCredentials().getUserId();
+
+ String serviceRequestId = uuid();
+ String serviceInstanceId = uuid();
+ String vnfRequestId = uuid();
+ String vnfInstanceId = uuid();
+ String vfm0RequestId = uuid();
+ String vfm0InstanceId = uuid();
+ String vg1RequestId = uuid();
+ String vg1InstanceId = uuid();
+ String vfm1RequestId = uuid();
+ String vfm1InstanceId = uuid();
+ String vfm12RequestId = uuid();
+ String vfm12InstanceId = uuid();
+
+ ModelInfoWithCustomization vfm0 = new ModelInfoWithCustomization(
+ "815db6e5-bdfd-4cb6-9575-82c36df8747a",
+ "e9c795c8-6b98-4db3-bd90-a84b8ca5181b",
+ "Vocg1804Vf..base_ocg..module-0",
+ "4",
+ "vfModule",
+ "Vocg1804Vf..base_ocg..module-0",
+ "a7b333d7-7633-4197-b40d-80fcfcadee94");
+
+ ModelInfoWithCustomization vg1 = new ModelInfoWithCustomization(
+ "9c219e70-1177-494b-8977-1395c9f9168c",
+ "0ad14d60-98b6-4575-a9b8-458a796c3f98",
+ "Vocg1804Vf..ocgmgr..module-1",
+ "4",
+ "volumeGroup",
+ "Vocg1804Vf..ocgmgr..module-1",
+ "f332f3ce-434d-4084-a1e7-5261c16d4940"
+ );
+
+ ModelInfoWithCustomization vfm1 = new ModelInfoWithCustomization(
+ "9c219e70-1177-494b-8977-1395c9f9168c",
+ "0ad14d60-98b6-4575-a9b8-458a796c3f98",
+ "Vocg1804Vf..ocgmgr..module-1",
+ "4",
+ "vfModule",
+ "Vocg1804Vf..ocgmgr..module-1",
+ "f332f3ce-434d-4084-a1e7-5261c16d4940"
+ );
+
+ ModelInfoWithCustomization vfm12 = new ModelInfoWithCustomization(
+ "b601eef4-62fd-4201-a788-ae30e06a1aec",
+ "e3cb8b85-7a3c-4897-b20b-70640c26d671",
+ "Vocg1804Vf..ocgapp_001..module-12",
+ "2",
+ "vfModule",
+ "Vocg1804Vf..ocgapp_001..module-12",
+ "fcc82961-865e-4d38-9c7a-207c511405b6"
+ );
+
+ final String vgName = "vg_for_module1";
+
+ String vgRelatedInstance = ",{\"relatedInstance\": {"
+ + " \"modelInfo\": {"
+ + " \"modelType\": \"volumeGroup\""
+ + " },"
+ + " \"instanceId\": \""+vg1InstanceId+"\","
+ + " \"instanceName\": \""+vgName+"\""
+ + " }}";
+
+
+ registerExpectationFromPresets(
+ ImmutableList.of(
+ new PresetMSOCreateServiceInstanceAlacarte(
+ ImmutableMap.of(Keys.SERVICE_NAME, serviceInstanceName),
+ serviceRequestId, serviceInstanceId,
+ requestorID, serviceModelInfo),
+ PRESET_SOME_LEGACY_REGION_TO_ATT_AIC,
+ new PresetMSOOrchestrationRequestGet(COMPLETE, serviceRequestId),
+ new PresetMSOCreateVnfALaCarteE2E(vnfRequestId, serviceInstanceId, vnfInstanceId, "ONAP", requestorID, serviceModelInfo),
+ new PresetMSOOrchestrationRequestGet(COMPLETE, vnfRequestId),
+ PRESET_MTN6_TO_ATT_AIC,
+ new PresetMSOCreateVfModuleALaCarteE2E(vfm0RequestId, vfm0InstanceId, serviceInstanceId, vnfInstanceId, requestorID, serviceModelInfo, null, vfm0, null),
+ new PresetMSOOrchestrationRequestGet(COMPLETE, vfm0RequestId),
+ new PresetMSOCreateVfModuleALaCarteE2E(vg1RequestId, vg1InstanceId, serviceInstanceId, vnfInstanceId, requestorID, serviceModelInfo, vgName, vg1, null),
+ new PresetMSOOrchestrationRequestGet(COMPLETE, vg1RequestId),
+ new PresetMSOCreateVfModuleALaCarteE2E(vfm1RequestId, vfm1InstanceId, serviceInstanceId, vnfInstanceId, requestorID, serviceModelInfo, null, vfm1, vgRelatedInstance),
+ new PresetMSOOrchestrationRequestGet(COMPLETE, vfm1RequestId),
+ new PresetMSOCreateVfModuleALaCarteE2E(vfm12RequestId, vfm12InstanceId, serviceInstanceId, vnfInstanceId, requestorID, serviceModelInfo, null, vfm12, null),
+ new PresetMSOOrchestrationRequestGet(COMPLETE, vfm12RequestId)
+ ),
+ APPEND
+ );
+
+ loadServicePopup(serviceModelInfo.modelVersionId);
+ fillALaCarteServicePopup(serviceInstanceName);
+
+ createVnf(vnfData, false, serviceInstanceName);
+ createVfModule(serviceData, serviceInstanceName, true, false);
+ serviceData.vfData = new VfData("vocg_1804_vf0..Vocg1804Vf..ocgmgr..module-1", true, 0, 1, emptyList(), "9c219e70-1177-494b-8977-1395c9f9168c", vgName);
+ createVfModule(serviceData, serviceInstanceName, false, false);
+ serviceData.vfData = new VfData("vocg_1804_vf0..Vocg1804Vf..ocgapp_001..module-12", true, 0, 1, emptyList(), "b601eef4-62fd-4201-a788-ae30e06a1aec", null);
+ createVfModule(serviceData, serviceInstanceName, false, false);
+ drawingBoardPage.deploy();
+ drawingBoardPage.verifyServiceCompletedOnTime(serviceInstanceName, "service "+serviceInstanceName);
+ }
@Test
@FeatureTogglingTest(FLAG_5G_IN_NEW_INSTANTIATION_UI)
- public void createNewServiceInstance_aLaCarte_validPopupDataAndUI() {
+ public void createNewServiceInstance_aLaCarte_withNetwork_validPopupDataAndUI() {
String serviceInstanceName = "NcService"+randomAlphabetic(5);
String networkInstanceName= "NcNetowrk"+randomAlphabetic(5);
String defactoNetworkInstanceName = "ExtVL"+networkInstanceName;
- BrowseASDCPage browseASDCPage = new BrowseASDCPage();
+
prepareServicePreset(aLaCarteNetworkProvider5G, true);
- String serviceRequestId = UUID.randomUUID().toString();
- String networkRequestId = UUID.randomUUID().toString();
+ String serviceRequestId = uuid();
+ String networkRequestId = uuid();
String requestorID = getUserCredentials().getUserId();
registerExpectationFromPresets(
ImmutableList.of(
- new PresetMSOCreateServiceInstanceAlacarte5GServiceWithNetwork(
+ new PresetMSOCreateServiceInstanceAlacarte(
ImmutableMap.of(Keys.SERVICE_NAME, serviceInstanceName),
- serviceRequestId,
- requestorID),
+ serviceRequestId, DEFAULT_SERVICE_INSTANCE_ID,
+ requestorID, aLaCarteNetworkProvider5G),
new PresetMSOOrchestrationRequestGet(COMPLETE, serviceRequestId),
PRESET_SOME_LEGACY_REGION_TO_ATT_AIC,
new PresetMSOCreateNetworkALaCarte5G(networkRequestId, DEFAULT_SERVICE_INSTANCE_ID, defactoNetworkInstanceName, requestorID),
@@ -620,6 +735,16 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
APPEND
);
loadServicePopup(aLaCarteNetworkProvider5G.modelVersionId);
+ fillALaCarteServicePopup(serviceInstanceName);
+ VnfData networkData = new VnfData("SR-IOV Provider-1", "840ffc47-e4cf-46de-8e23-525fd8c6fdc3", defactoNetworkInstanceName, false);
+ createNetwork(networkData, false, false, serviceInstanceName);
+
+ drawingBoardPage.deploy();
+ drawingBoardPage.verifyServiceCompletedOnTime(serviceInstanceName, "service "+serviceInstanceName);
+ }
+
+ private void fillALaCarteServicePopup(String serviceInstanceName) {
+ BrowseASDCPage browseASDCPage = new BrowseASDCPage();
WebElement instanceNameInput = Get.byId("instanceName");
instanceNameInput.sendKeys(serviceInstanceName);
VidBasePage.selectSubscriberById("e433710f-9217-458d-a79d-1c7aff376d89");
@@ -631,11 +756,6 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
Click.byTestId("form-set");
VidBasePage.goOutFromIframe();
browseASDCPage.goToIframe();
- VnfData networkData = new VnfData("SR-IOV Provider-1", "840ffc47-e4cf-46de-8e23-525fd8c6fdc3", defactoNetworkInstanceName, false);
- createNetwork(networkData, false, false, serviceInstanceName);
-
- drawingBoardPage.deploy();
- drawingBoardPage.verifyServiceCompletedOnTime(serviceInstanceName, "service "+serviceInstanceName);
}
@Test
@@ -647,12 +767,12 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
serviceDynamicFields,
IS_GENERATED_NAMING.TRUE, true, true, false,
"2017-488_PASQUALE-vPE 0",
- "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", 0, 1, new ArrayList<>(), "25284168-24bb-4698-8cb4-3f509146eca5");
+ "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", 0, 1, new ArrayList<>(), "25284168-24bb-4698-8cb4-3f509146eca5", false);
prepareServicePreset(macroSriovWithDynamicFieldsEcompNamingTruePartialModelDetails, false);
final String serviceInstanceName = createMacroService(serviceData, true);
- createVnf(serviceData, true, true, serviceInstanceName);
+ createVnf(serviceData, true, serviceInstanceName);
clickRemoveVfModule(vfModule0UUID, vfModule0Name);
createVfModule(serviceData, serviceInstanceName, false, false);
@@ -1019,23 +1139,23 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
}
//@Step("create vnf")
- private void createVnf(ServiceData serviceData, boolean tryCancelsAndReentries, boolean addedByDefault, String serviceInstanceName) {
- createVnf(serviceData.vnfData, tryCancelsAndReentries, addedByDefault, serviceInstanceName);
+ private void createVnf(ServiceData serviceData, boolean tryCancelsAndReentries, String serviceInstanceName) {
+ createVnf(serviceData.vnfData, tryCancelsAndReentries, serviceInstanceName);
}
private void createNetwork(VnfData vnfData, boolean tryCancelsAndReentries, boolean addedByDefault, String serviceInstanceName) {
createVnf(vnfData, tryCancelsAndReentries, addedByDefault, serviceInstanceName, true);
}
- private void createVnf(VnfData vnfData, boolean tryCancelsAndReentries, boolean addedByDefault, String serviceInstanceName) {
- createVnf(vnfData, tryCancelsAndReentries, addedByDefault, serviceInstanceName, false);
+ private void createVnf(VnfData vnfData, boolean tryCancelsAndReentries, String serviceInstanceName) {
+ createVnf(vnfData, tryCancelsAndReentries, true, serviceInstanceName, false);
}
private void createVnf(VnfData vnfData, boolean tryCancelsAndReentries, boolean addedByDefault, String serviceInstanceName, boolean isNetwork) {
BrowseASDCPage browseASDCPage = new BrowseASDCPage();
String nodeToEdit = extractNodeToEdit(vnfData);
- if (addedByDefault && Features.FLAG_SETTING_DEFAULTS_IN_DRAWING_BOARD.isActive()) {
+ if (addedByDefault) {
hoverAndClickEditButton(nodeToEdit);
} else {
drawingBoardPage.clickAddButtonByNodeName(vnfData.vnfName);
@@ -1065,7 +1185,11 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
assertSetButtonDisabled(VNF_SET_BUTTON_TEST_ID);
- browseASDCPage.selectPlatform("platform");
+ if(isNetwork){
+ browseASDCPage.selectPlatform("platform");
+ }else {
+ SelectOption.selectOptionsFromMultiselectById("multi-selectPlatform", ImmutableList.of("platform"));
+ }
browseASDCPage.selectLineOfBusiness("ONAP");
assertSetButtonEnabled(VNF_SET_BUTTON_TEST_ID);
@@ -1094,7 +1218,9 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
assertThat(Get.selectedOptionText(Constants.ViewEdit.LCP_REGION_SELECT_TESTS_ID), startsWith("AAIAIC25"));
Assert.assertEquals(Get.selectedOptionText(Constants.ViewEdit.TENANT_SELECT_TESTS_ID), "USP-SIP-IC-24335-T-01");
Assert.assertEquals(Get.selectedOptionText(Constants.ViewEdit.LINE_OF_BUSINESS_SELECT_TESTS_ID), "ONAP");
- Assert.assertEquals(Get.selectedOptionText(Constants.OwningEntity.PLATFORM_SELECT_TEST_ID), "platform");
+
+ Assert.assertTrue(Get.isOptionSelectedInMultiSelect(Constants.OwningEntity.PLATFORM_MULTI_SELECT_TEST_ID, "platform"));
+
Click.byTestId(Constants.CANCEL_BUTTON_TEST_ID);
GeneralUIUtils.ultimateWait();
} else {
@@ -1170,20 +1296,36 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
Input.text("VF instance name", "instanceName");
}
- if (serviceData.vfData.vgEnabled) {
- browseASDCPage.setInputText("volumeGroupName", "_abc");
- Assert.assertEquals(isElementByIdRequired("volumeGroupName-label"), false, "volume Group name input should be always optional");
- } else {
- Assert.assertNull(Get.byTestId("volumeGroupName"), "volumeGroupName input should be invisible when vgEnabled == false");
+ if (!serviceData.vfData.vgEnabled || (!serviceData.isALaCarte && serviceData.vnfData.isGeneratedNaming)) {
+ Assert.assertNull(Get.byTestId("volumeGroupName"), "volumeGroupName input should be invisible "
+ + "when vgEnabled is false or when vgEnabled is true and EcompGenName is true "
+ + "(was: serviceData.vfData.vgEnabled=>" + serviceData.vfData.vgEnabled + ", serviceData.isGeneratedNaming=>" + IS_GENERATED_NAMING.FALSE + ")");
+ }
+ else {
+ Assert.assertFalse(isElementByIdRequired("volumeGroupName-label"),
+ "volume Group name input should be always optional");
+ if (serviceData.vfData.vgName!=null) {
+ browseASDCPage.setInputText("volumeGroupName", serviceData.vfData.vgName);
+ }
}
+
+
Wait.waitByTestId("model-item-value-subscriberName", 10);
Assert.assertEquals(Get.byTestId("model-item-value-subscriberName").getText(), "SILVIA ROBBINS", "Subscriber name should be shown in vf module");
Assert.assertEquals(Get.byTestId("model-item-value-min").getText(), Integer.toString(serviceData.vfData.vfMin), "Min should be shown");
Assert.assertEquals(Get.byTestId("model-item-value-max").getText(), Integer.toString(serviceData.vfData.vfMax), "Max should be shown");
- if (!serviceData.vnfData.isGeneratedNaming) {
+ if (serviceData.isGeneratedNaming!=IS_GENERATED_NAMING.TRUE) {
Wait.byText(serviceInstanceName);
Assert.assertEquals(Get.byTestId("model-item-value-serviceName").getText(), serviceInstanceName, "Service name should be shown in vf module");
}
+
+ if (serviceData.isALaCarte) {
+ String lcpRegion = "hvf6";
+ Wait.waitByClassAndText("lcpRegionOption", lcpRegion, 30);
+ viewEditPage.selectLcpRegion(lcpRegion, AIC);
+ browseASDCPage.selectTenant("bae71557c5bb4d5aac6743a4e5f1d054");
+ }
+
validateDynamicFields(serviceData.vfData.dynamicFields);
uploadSupplementaryFile("invalid-file.json", false, browseASDCPage, setButtonTestId);
@@ -1195,13 +1337,11 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
}
private void clickEditVfModule(ServiceData serviceData) {
- if (Features.FLAG_SETTING_DEFAULTS_IN_DRAWING_BOARD.isActive()) {
- hoverAndClickEditButton(serviceData.vfData.uuid + "-" + serviceData.vfData.vfName);
- }
+ hoverAndClickEditButton(serviceData.vfData.uuid + "-" + serviceData.vfData.vfName);
}
private void clickAddVfModule(ServiceData serviceData, boolean addedByDefault) {
- if (Features.FLAG_SETTING_DEFAULTS_IN_DRAWING_BOARD.isActive() && addedByDefault) {
+ if (addedByDefault) {
return;
}
System.out.println("VFModule should be added 'manually'");
@@ -1216,10 +1356,8 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
}
private void clickRemoveVfModule(String vfModuleId, String vfModuleName) {
- if (Features.FLAG_SETTING_DEFAULTS_IN_DRAWING_BOARD.isActive()) {
- System.out.println("will remove " + vfModule0Name);
- hoverAndClickDeleteButton(vfModuleId + "-" + vfModuleName);
- }
+ System.out.println("will remove " + vfModule0Name);
+ hoverAndClickDeleteButton(vfModuleId + "-" + vfModuleName);
}
private void assertPauseOnPausePointsVisibility(boolean visibility) {
@@ -1232,6 +1370,12 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
}
}
+ @NotNull
+ private String uuid() {
+ return UUID.randomUUID().toString();
+ }
+
+
private void assertNotificationAreaVisibilityBehaviourAndSetBulkSize(int size) {
WebElement webElement = Get.byId("notification-area");
Assert.assertNull(webElement, "notification area should be invisible if only 1 qty.");
@@ -1259,21 +1403,33 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
}
static class ServiceData {
- ServiceData(String modelUuid, List<String> dynamicFields, IS_GENERATED_NAMING isServiceGeneratedNaming, boolean isVnfGeneratedNaming, boolean isVgEnabled, boolean multiStageDesign, String vnfName, String vfName, int vfMin, int vfMax, List<String> vfModuleDynamicFields, String vfVersionId) {
+
+ ServiceData(String modelUuid, List<String> dynamicFields, IS_GENERATED_NAMING isServiceGeneratedNaming,
+ boolean isVnfGeneratedNaming, boolean isVgEnabled, boolean multiStageDesign, String vnfName,
+ String vfName, int vfMin, int vfMax, List<String> vfModuleDynamicFields, String vfVersionId, boolean isALaCarte) {
this.modelUuid = modelUuid;
this.dynamicFields = dynamicFields;
this.isGeneratedNaming = isServiceGeneratedNaming;
this.multiStageDesign = multiStageDesign;
+ this.isALaCarte = isALaCarte;
this.vnfData = new VnfData(vnfName, "69e09f68-8b63-4cc9-b9ff-860960b5db09", "VNF instance name", isVnfGeneratedNaming);
- this.vfData = new VfData(vfName, isVgEnabled, vfMin, vfMax, vfModuleDynamicFields, vfVersionId);
+ this.vfData = new VfData(vfName, isVgEnabled, vfMin, vfMax, vfModuleDynamicFields, vfVersionId, "_abc");
}
- final String modelUuid;
- final List<String> dynamicFields;
- final IS_GENERATED_NAMING isGeneratedNaming;
- final boolean multiStageDesign;
- final VnfData vnfData;
- final VfData vfData;
+ public ServiceData(IS_GENERATED_NAMING isGeneratedNaming, VnfData vnfData, VfData vfData, boolean isALaCarte) {
+ this.isGeneratedNaming = isGeneratedNaming;
+ this.vnfData = vnfData;
+ this.vfData = vfData;
+ this.isALaCarte = isALaCarte;
+ }
+
+ String modelUuid;
+ List<String> dynamicFields;
+ IS_GENERATED_NAMING isGeneratedNaming;
+ boolean multiStageDesign;
+ VnfData vnfData;
+ VfData vfData;
+ boolean isALaCarte;
enum IS_GENERATED_NAMING { TRUE, FALSE, TRUE_BUT_GIVE_NAME_EITHER_WAY}
}
@@ -1294,13 +1450,14 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
private static class VfData {
- VfData(String vfName, boolean vgEnabled, int vfMin, int vfMax, List<String> dynamicFields, String uuid) {
+ VfData(String vfName, boolean vgEnabled, int vfMin, int vfMax, List<String> dynamicFields, String uuid, String vgName) {
this.vfName = vfName;
this.vgEnabled = vgEnabled;
this.vfMin = vfMin;
this.vfMax = vfMax;
this.dynamicFields = dynamicFields;
this.uuid = uuid;
+ this.vgName = vgName;
}
final int vfMin;
@@ -1309,6 +1466,7 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
final String vfName;
final boolean vgEnabled;
final List<String> dynamicFields;
+ final String vgName;
}
diff --git a/vid-automation/src/main/java/vid/automation/test/test/PreviousVersionsPopupTest.java b/vid-automation/src/main/java/vid/automation/test/test/PreviousVersionsPopupTest.java
index c52dd6bac..beef5d966 100644
--- a/vid-automation/src/main/java/vid/automation/test/test/PreviousVersionsPopupTest.java
+++ b/vid-automation/src/main/java/vid/automation/test/test/PreviousVersionsPopupTest.java
@@ -1,29 +1,36 @@
package vid.automation.test.test;
+import static org.testng.Assert.assertEquals;
+import static vid.automation.test.infra.ModelInfo.ModelInfoWithMultipleVersions.modelInfoWithMultipleVersions;
+import static vid.automation.test.infra.ModelInfo.serviceWithOneVersion;
+
import com.google.common.collect.ImmutableList;
import org.junit.Assert;
+import org.onap.sdc.ci.tests.utilities.GeneralUIUtils;
import org.onap.simulator.presetGenerator.presets.BasePresets.BasePreset;
-import org.onap.simulator.presetGenerator.presets.aai.*;
+import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetNetworkZones;
+import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetServicesGet;
+import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetSubDetailsGet;
+import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetSubDetailsWithoutInstancesGet;
+import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetSubscribersGet;
+import org.onap.simulator.presetGenerator.presets.aai.PresetAAIServiceDesignAndCreationPut;
import org.onap.simulator.presetGenerator.presets.ecompportal_att.PresetGetSessionSlotCheckIntervalGet;
import org.onap.simulator.presetGenerator.presets.mso.PresetMSOCreateServiceInstancePost;
import org.onap.simulator.presetGenerator.presets.mso.PresetMSOOrchestrationRequestGet;
import org.onap.simulator.presetGenerator.presets.sdc.PresetSDCGetServiceMetadataGet;
import org.onap.simulator.presetGenerator.presets.sdc.PresetSDCGetServiceToscaModelGet;
-import org.onap.sdc.ci.tests.utilities.GeneralUIUtils;
import org.openqa.selenium.By;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import vid.automation.test.infra.Click;
import vid.automation.test.infra.Get;
+import vid.automation.test.infra.ModelInfo;
import vid.automation.test.sections.BrowseASDCPage;
-import vid.automation.test.sections.CreateNewInstancePage;
import vid.automation.test.sections.PreviousVersionDialog;
import vid.automation.test.sections.SideMenu;
+import vid.automation.test.sections.deploy.DeployDialogBase;
import vid.automation.test.services.SimulatorApi;
-import static vid.automation.test.infra.ModelInfo.ModelInfoWithMultipleVersions.modelInfoWithMultipleVersions;
-import static vid.automation.test.infra.ModelInfo.serviceWithOneVersion;
-
public class PreviousVersionsPopupTest extends CreateInstanceDialogBaseTest{
BrowseASDCPage browseASDCPage = new BrowseASDCPage();
@@ -79,17 +86,16 @@ public class PreviousVersionsPopupTest extends CreateInstanceDialogBaseTest{
}
@Test
private void openPreviousVersionPopup_deployOldVersion_creationPopupIsALaCarte(){
- String expectedPopupIsALaCarteName = "Create Service Instance -- a la carte";
prepareSimulatorWithThreeVersionsBeforeBrowseASDCService();
- CreateNewInstancePage newInstance= new CreateNewInstancePage();
+ registerExpectationForLegacyServiceDeployment(ModelInfo.aLaCarteServiceOldVersionTest, "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb");
newVersionDialog = new PreviousVersionDialog();
navigateToBrowseAsdcAndClickPreviousButton();
newVersionDialog.clickDeployServiceButtonByServiceUUID(modelVersionId2);
- assertNewInstanceFormOpened(createModalTitleTestId,expectedPopupIsALaCarteName);
- newInstance.clickCancelButtonByTestID();
- GeneralUIUtils.ultimateWait();
- newVersionDialog.clickCancelButton();
-
+ final DeployDialogBase deployDialog = BrowseASDCTest.getAlacarteDialogByFlagValue();
+ deployDialog.waitForDialogToLoad();
+ deployDialog.assertDialog();
+ assertEquals(deployDialog.getModelVersionId(), modelVersionId2);
+ deployDialog.closeDialog();
}
private void navigateToBrowseAsdcAndClickPreviousButton() {
diff --git a/vid-automation/src/main/java/vid/automation/test/test/SanityMacroDeployTest.java b/vid-automation/src/main/java/vid/automation/test/test/SanityMacroDeployTest.java
index ba951bc55..032e729a2 100644
--- a/vid-automation/src/main/java/vid/automation/test/test/SanityMacroDeployTest.java
+++ b/vid-automation/src/main/java/vid/automation/test/test/SanityMacroDeployTest.java
@@ -1,5 +1,10 @@
package vid.automation.test.test;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.containsString;
+import static vid.automation.test.infra.ModelInfo.macroForBrowseSdc;
+import static vid.automation.test.services.SimulatorApi.RegistrationStrategy.APPEND;
+
import com.google.common.collect.ImmutableList;
import org.junit.Assert;
import org.onap.sdc.ci.tests.datatypes.UserCredentials;
@@ -17,11 +22,6 @@ import vid.automation.test.sections.BrowseASDCPage;
import vid.automation.test.sections.SideMenu;
import vid.automation.test.services.SimulatorApi;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.Matchers.containsString;
-import static vid.automation.test.infra.ModelInfo.macroForBrowseSdc;
-import static vid.automation.test.services.SimulatorApi.RegistrationStrategy.APPEND;
-
public class SanityMacroDeployTest extends CreateInstanceDialogBaseTest {
static final String NEW_INSTANCE_NAME = "New Instance Name";
@@ -150,7 +150,7 @@ public class SanityMacroDeployTest extends CreateInstanceDialogBaseTest {
Assert.assertEquals(currElem.getText(), RESOURCE_DESCRIPTION);
currElem = GeneralUIUtils.getWebElementByTestID(Constants.SERVICE_INVARIANT_UUID, 30);
- Assert.assertEquals(currElem.getText(), macroForBrowseSdc.modelInvariantId);
+ Assert.assertEquals(currElem.getText(), "a8dcd72d-d44d-44f2-aa85-53aa9ca99cba");
currElem = GeneralUIUtils.getWebElementByTestID(Constants.SERVICE_VERSION, 30);
Assert.assertEquals(currElem.getText(), SERVICE_VERSION);
diff --git a/vid-automation/src/main/java/vid/automation/test/test/VidBaseTestCase.java b/vid-automation/src/main/java/vid/automation/test/test/VidBaseTestCase.java
index a45f25853..41ede9a3f 100644
--- a/vid-automation/src/main/java/vid/automation/test/test/VidBaseTestCase.java
+++ b/vid-automation/src/main/java/vid/automation/test/test/VidBaseTestCase.java
@@ -1,17 +1,59 @@
package vid.automation.test.test;
-//import com.automation.common.report_portal_integration.annotations.Step;
-//import com.automation.common.report_portal_integration.listeners.ReportPortalListener;
-//import com.automation.common.report_portal_integration.screenshots.WebDriverScreenshotsProvider;
+import static java.util.Collections.emptySet;
+import static java.util.Collections.singletonList;
+import static java.util.stream.Collectors.groupingBy;
+import static java.util.stream.Collectors.mapping;
+import static java.util.stream.Collectors.toSet;
+import static org.hamcrest.CoreMatchers.not;
+import static org.hamcrest.Matchers.contains;
+import static org.hamcrest.Matchers.containsInAnyOrder;
+import static org.hamcrest.collection.IsEmptyCollection.empty;
+import static org.hamcrest.core.Is.is;
+import static org.junit.Assert.assertThat;
+import static org.onap.simulator.presetGenerator.presets.mso.PresetMSOOrchestrationRequestGet.COMPLETE;
+import static org.testng.Assert.assertEquals;
+import static org.testng.AssertJUnit.fail;
+import static vid.automation.test.utils.TestHelper.GET_SERVICE_MODELS_BY_DISTRIBUTION_STATUS;
+import static vid.automation.test.utils.TestHelper.GET_TENANTS;
+
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.collect.ImmutableList;
+import java.io.File;
+import java.lang.reflect.Method;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.TimeUnit;
import org.apache.commons.lang3.StringUtils;
import org.glassfish.jersey.uri.internal.JerseyUriBuilder;
import org.junit.Assert;
import org.onap.sdc.ci.tests.datatypes.Configuration;
+import org.onap.sdc.ci.tests.datatypes.UserCredentials;
+import org.onap.sdc.ci.tests.execute.setup.SetupCDTest;
+import org.onap.sdc.ci.tests.utilities.FileHandling;
+import org.onap.sdc.ci.tests.utilities.GeneralUIUtils;
import org.onap.simulator.presetGenerator.presets.BasePresets.BaseMSOPreset;
import org.onap.simulator.presetGenerator.presets.BasePresets.BasePreset;
-import org.onap.simulator.presetGenerator.presets.aai.*;
+import org.onap.simulator.presetGenerator.presets.aai.PresetAAICloudRegionAndSourceFromConfigurationPut;
+import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetNetworkZones;
+import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetPortMirroringSourcePorts;
+import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetServicesGet;
+import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetSubDetailsGet;
+import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetSubDetailsWithoutInstancesGet;
+import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetSubscribersGet;
+import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetTenants;
+import org.onap.simulator.presetGenerator.presets.aai.PresetAAIPostNamedQueryForViewEdit;
+import org.onap.simulator.presetGenerator.presets.aai.PresetAAIServiceDesignAndCreationPut;
import org.onap.simulator.presetGenerator.presets.ecompportal_att.EcompPortalPresetsUtils;
import org.onap.simulator.presetGenerator.presets.ecompportal_att.PresetGetSessionSlotCheckIntervalGet;
import org.onap.simulator.presetGenerator.presets.mso.PresetMSOCreateServiceInstanceGen2;
@@ -19,10 +61,6 @@ import org.onap.simulator.presetGenerator.presets.mso.PresetMSOCreateServiceInst
import org.onap.simulator.presetGenerator.presets.mso.PresetMSOOrchestrationRequestGet;
import org.onap.simulator.presetGenerator.presets.sdc.PresetSDCGetServiceMetadataGet;
import org.onap.simulator.presetGenerator.presets.sdc.PresetSDCGetServiceToscaModelGet;
-import org.onap.sdc.ci.tests.datatypes.UserCredentials;
-import org.onap.sdc.ci.tests.execute.setup.SetupCDTest;
-import org.onap.sdc.ci.tests.utilities.FileHandling;
-import org.onap.sdc.ci.tests.utilities.GeneralUIUtils;
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebElement;
@@ -36,47 +74,36 @@ import org.testng.annotations.Test;
import vid.automation.reportportal.ReportPortalListenerDelegator;
import vid.automation.test.Constants;
import vid.automation.test.Constants.ViewEdit;
-import vid.automation.test.infra.*;
+import vid.automation.test.infra.Click;
+import vid.automation.test.infra.Exists;
+import vid.automation.test.infra.Features;
+import vid.automation.test.infra.Get;
+import vid.automation.test.infra.ModelInfo;
+import vid.automation.test.infra.SelectOption;
+import vid.automation.test.infra.Wait;
import vid.automation.test.model.Credentials;
import vid.automation.test.model.User;
-import vid.automation.test.sections.*;
+import vid.automation.test.sections.LoginExternalPage;
+import vid.automation.test.sections.SearchExistingPage;
+import vid.automation.test.sections.SideMenu;
+import vid.automation.test.sections.VidBasePage;
+import vid.automation.test.sections.ViewEditPage;
+import vid.automation.test.sections.deploy.DeployModernUIMacroDialog;
import vid.automation.test.services.CategoryParamsService;
import vid.automation.test.services.SimulatorApi;
import vid.automation.test.services.UsersService;
import vid.automation.test.utils.CookieAndJsonHttpHeadersInterceptor;
import vid.automation.test.utils.DB_CONFIG;
+import vid.automation.test.utils.InsecureHttpsClient;
import vid.automation.test.utils.TestConfigurationHelper;
import vid.automation.test.utils.TestHelper;
-import java.io.File;
-import java.lang.reflect.Method;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.sql.*;
-import java.util.*;
-import java.util.concurrent.TimeUnit;
-
-import static java.util.Collections.emptySet;
-import static java.util.Collections.singletonList;
-import static java.util.stream.Collectors.*;
-import static org.hamcrest.CoreMatchers.not;
-import static org.hamcrest.Matchers.contains;
-import static org.hamcrest.Matchers.containsInAnyOrder;
-import static org.hamcrest.collection.IsEmptyCollection.empty;
-import static org.hamcrest.core.Is.is;
-import static org.junit.Assert.assertThat;
-import static org.onap.simulator.presetGenerator.presets.mso.PresetMSOOrchestrationRequestGet.COMPLETE;
-import static org.testng.Assert.assertEquals;
-import static org.testng.AssertJUnit.fail;
-import static vid.automation.test.utils.TestHelper.GET_SERVICE_MODELS_BY_DISTRIBUTION_STATUS;
-import static vid.automation.test.utils.TestHelper.GET_TENANTS;
-
@Listeners(ReportPortalListenerDelegator.class)
public class VidBaseTestCase extends SetupCDTest{
protected final UsersService usersService = new UsersService();
protected final CategoryParamsService categoryParamsService = new CategoryParamsService();
- protected final RestTemplate restTemplate = new RestTemplate();
+ protected final RestTemplate restTemplate = InsecureHttpsClient.newRestTemplate();
protected final URI uri;
protected final URI envUrI;
@@ -229,7 +256,7 @@ public class VidBaseTestCase extends SetupCDTest{
return presets;
}
- protected void relogin(Credentials credentials) throws Exception {
+ protected void relogin(Credentials credentials) {
// `getWindowTest().getPreviousUser()` is SetupCDTest's state of previous user used
if (!credentials.userId.equals(getWindowTest().getPreviousUser())) {
UserCredentials userCredentials = new UserCredentials(credentials.userId,
@@ -485,12 +512,6 @@ public class VidBaseTestCase extends SetupCDTest{
assertThat(String.format(Constants.ServiceModelInfo.METADETA_ERROR_MESSAGE, elementTestId), infoItemText, is(value));
}
- public DeployMacroDialogBase getMacroDialog(){
- VidBasePage vidBasePage =new VidBasePage();
- vidBasePage.goToIframe();
- return new DeployMacroDialog();
- }
-
protected void loadServicePopup(ModelInfo modelInfo) {
loadServicePopup(modelInfo.modelVersionId);
}
@@ -503,7 +524,7 @@ public class VidBaseTestCase extends SetupCDTest{
}
protected void loadServicePopupOnBrowseASDCPage(String modelVersionId ) {
- DeployMacroDialog deployMacroDialog = new DeployMacroDialog();
+ DeployModernUIMacroDialog deployMacroDialog = new DeployModernUIMacroDialog();
VidBasePage.goOutFromIframe();
deployMacroDialog.clickDeployServiceButtonByServiceUUID(modelVersionId);
deployMacroDialog.goToIframe();
diff --git a/vid-automation/src/main/java/vid/automation/test/test/ViewEditServiceInstanceTest.java b/vid-automation/src/main/java/vid/automation/test/test/ViewEditServiceInstanceTest.java
index a24ecb735..cbc28d0b0 100644
--- a/vid-automation/src/main/java/vid/automation/test/test/ViewEditServiceInstanceTest.java
+++ b/vid-automation/src/main/java/vid/automation/test/test/ViewEditServiceInstanceTest.java
@@ -1,42 +1,45 @@
package vid.automation.test.test;
+import static org.apache.logging.log4j.core.util.Assert.isNonEmpty;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.equalTo;
+import static org.hamcrest.collection.IsEmptyCollection.empty;
+import static org.testng.AssertJUnit.assertEquals;
+import static vid.automation.test.services.SimulatorApi.RegistrationStrategy.APPEND;
+
import com.google.common.collect.ImmutableMap;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.time.LocalDate;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
import org.hamcrest.MatcherAssert;
import org.junit.Assert;
import org.junit.Before;
-import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetNetworkCollectionDetails;
import org.onap.sdc.ci.tests.utilities.GeneralUIUtils;
+import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetNetworkCollectionDetails;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import vid.automation.test.Constants;
-import vid.automation.test.infra.*;
+import vid.automation.test.infra.Click;
+import vid.automation.test.infra.Exists;
+import vid.automation.test.infra.FeatureTogglingTest;
+import vid.automation.test.infra.Features;
+import vid.automation.test.infra.Get;
+import vid.automation.test.infra.Wait;
import vid.automation.test.model.User;
import vid.automation.test.sections.VidBasePage;
import vid.automation.test.sections.ViewEditPage;
import vid.automation.test.services.BulkRegistration;
import vid.automation.test.services.SimulatorApi;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.time.LocalDate;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import static org.apache.logging.log4j.core.util.Assert.isNonEmpty;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.Matchers.equalTo;
-import static org.hamcrest.collection.IsEmptyCollection.empty;
-import static org.testng.AssertJUnit.assertEquals;
-import static vid.automation.test.infra.Features.FLAG_1810_CR_SOFT_DELETE_ALACARTE_VF_MODULE;
-import static vid.automation.test.services.SimulatorApi.RegistrationStrategy.APPEND;
-
public class ViewEditServiceInstanceTest extends VidBaseTestCase {
private ViewEditPage viewEditPage = new ViewEditPage();
@@ -115,7 +118,6 @@ public class ViewEditServiceInstanceTest extends VidBaseTestCase {
deleteInstance(Constants.ViewEdit.DELETE_VF_MODULE_BUTTON_TEST_ID + "aa", Constants.ViewEdit.VF_MODULE_DELETED_SUCCESSFULLY_TEXT);
}
- @FeatureTogglingTest(value = FLAG_1810_CR_SOFT_DELETE_ALACARTE_VF_MODULE)
@Test
public void softDeleteAndResumeVfModuleInstance_deleteDialogAppears_msoResponseIsOk() {
SimulatorApi.clearAll();
diff --git a/vid-automation/src/main/java/vid/automation/test/utils/CookieAndJsonHttpHeadersInterceptor.java b/vid-automation/src/main/java/vid/automation/test/utils/CookieAndJsonHttpHeadersInterceptor.java
index c98b2428a..0117a8a99 100644
--- a/vid-automation/src/main/java/vid/automation/test/utils/CookieAndJsonHttpHeadersInterceptor.java
+++ b/vid-automation/src/main/java/vid/automation/test/utils/CookieAndJsonHttpHeadersInterceptor.java
@@ -1,19 +1,23 @@
package vid.automation.test.utils;
+import java.io.IOException;
+import java.net.URI;
+import java.util.Collections;
+import java.util.List;
import org.junit.Assert;
import org.onap.sdc.ci.tests.datatypes.UserCredentials;
-import org.springframework.http.*;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpRequest;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
import org.springframework.http.client.ClientHttpRequestExecution;
import org.springframework.http.client.ClientHttpRequestInterceptor;
import org.springframework.http.client.ClientHttpResponse;
import org.springframework.http.client.support.HttpRequestWrapper;
import org.springframework.web.client.RestTemplate;
-import java.io.IOException;
-import java.net.URI;
-import java.util.Collections;
-import java.util.List;
-
public class CookieAndJsonHttpHeadersInterceptor implements ClientHttpRequestInterceptor {
private final HttpHeaders cookieAndJsonHttpHeaders;
@@ -33,7 +37,7 @@ public class CookieAndJsonHttpHeadersInterceptor implements ClientHttpRequestInt
protected HttpHeaders getCookieAndJsonHttpHeaders(URI uri, UserCredentials userCredentials) {
HttpHeaders loginRequestHeaders = new HttpHeaders();
loginRequestHeaders.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
- RestTemplate restTemplate = new RestTemplate();
+ RestTemplate restTemplate = InsecureHttpsClient.newRestTemplate();
ResponseEntity<String> loginRes = restTemplate.postForEntity(uri.toASCIIString() + "/login_external.htm", new HttpEntity<>("loginId=" + userCredentials.getUserId() + "&password=" + userCredentials.getPassword(), loginRequestHeaders), String.class);
Assert.assertEquals("Login failed - wrong http status with user:" + userCredentials.getUserId() + " password:" + userCredentials.getPassword(), HttpStatus.FOUND, loginRes.getStatusCode());
Assert.assertNull("Failed to login with user:" + userCredentials.getUserId() + " password:" + userCredentials.getPassword(), loginRes.getBody());
diff --git a/vid-automation/src/main/java/vid/automation/test/utils/InsecureHttpsClient.java b/vid-automation/src/main/java/vid/automation/test/utils/InsecureHttpsClient.java
new file mode 100644
index 000000000..6106ae4a2
--- /dev/null
+++ b/vid-automation/src/main/java/vid/automation/test/utils/InsecureHttpsClient.java
@@ -0,0 +1,26 @@
+package vid.automation.test.utils;
+
+import javax.ws.rs.client.Client;
+import javax.ws.rs.client.ClientBuilder;
+import org.apache.http.conn.ssl.NoopHostnameVerifier;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
+import org.springframework.web.client.RestTemplate;
+
+public class InsecureHttpsClient {
+
+ public static RestTemplate newRestTemplate() {
+ CloseableHttpClient insecureTLSHttpClient
+ = HttpClients.custom().setSSLHostnameVerifier(NoopHostnameVerifier.INSTANCE).build();
+ HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory(insecureTLSHttpClient);
+ return new RestTemplate(factory);
+ }
+
+ public static Client newJaxrsClient() {
+ return ClientBuilder.newBuilder()
+ .hostnameVerifier(NoopHostnameVerifier.INSTANCE)
+ .build();
+ }
+
+}
diff --git a/vid-automation/src/main/resources/NewServiceInstanceTest/createNewServiceInstance_macro_validPopupDataAndUI__dynamicFieldsEcompNamingFalse.json b/vid-automation/src/main/resources/NewServiceInstanceTest/createNewServiceInstance_macro_validPopupDataAndUI__dynamicFieldsEcompNamingFalse.json
index 25725db8e..d8aebc746 100644
--- a/vid-automation/src/main/resources/NewServiceInstanceTest/createNewServiceInstance_macro_validPopupDataAndUI__dynamicFieldsEcompNamingFalse.json
+++ b/vid-automation/src/main/resources/NewServiceInstanceTest/createNewServiceInstance_macro_validPopupDataAndUI__dynamicFieldsEcompNamingFalse.json
@@ -4,17 +4,13 @@
"flags": {
"FLAG_NETWORK_TO_ASYNC_INSTANTIATION": false,
"FLAG_SHOW_ASSIGNMENTS": true,
- "FLAG_DEFAULT_VNF": true,
"FLAG_A_LA_CARTE_AUDIT_INFO": true,
"FLAG_SHOW_VERIFY_SERVICE": true,
"FLAG_ASYNC_ALACARTE_VFMODULE": false,
"FLAG_FABRIC_CONFIGURATION_ASSIGNMENTS": true,
"FLAG_ASYNC_ALACARTE_VNF": true,
"FLAG_SERVICE_MODEL_CACHE": true,
- "CREATE_INSTANCE_TEST": false,
- "FLAG_SETTING_DEFAULTS_IN_DRAWING_BOARD": true,
"FLAG_SUPPLEMENTARY_FILE": true,
- "EMPTY_DRAWING_BOARD_TEST": false,
"FLAG_ADD_MSO_TESTAPI_FIELD": true,
"FLAG_5G_IN_NEW_INSTANTIATION_UI": true,
"FLAG_RESTRICTED_SELECT": false,
@@ -3249,4 +3245,4 @@
},
"type": "[LCP_REGIONS_AND_TENANTS] Update"
}
-} \ No newline at end of file
+}
diff --git a/vid-automation/src/main/resources/registration_to_simulator/sanity/get_csar_zip_file.json b/vid-automation/src/main/resources/registration_to_simulator/sanity/get_csar_zip_file.json
deleted file mode 100644
index 7b39f77e6..000000000
--- a/vid-automation/src/main/resources/registration_to_simulator/sanity/get_csar_zip_file.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "simulatorRequest": {
- "method": "GET",
- "path": "/vidSimulator/getSomeFile"
-} ,
- "simulatorResponse": {
- "responseCode": 200,
- "file": "csar15782222_invariantUUIDMacro.zip"
- }
-} \ No newline at end of file
diff --git a/vid-automation/src/main/resources/registration_to_simulator/sanity/get_sdc_catalog_services_4d71990b.json b/vid-automation/src/main/resources/registration_to_simulator/sanity/get_sdc_catalog_services_4d71990b.json
index 56bce65c0..03b6eb71d 100644
--- a/vid-automation/src/main/resources/registration_to_simulator/sanity/get_sdc_catalog_services_4d71990b.json
+++ b/vid-automation/src/main/resources/registration_to_simulator/sanity/get_sdc_catalog_services_4d71990b.json
@@ -6,7 +6,7 @@
},
"simulatorResponse": {
"responseCode": 200,
- "file": "csar15782222_invariantUUIDMacro.zip"
+ "file": "csar15782222_instantiationTypeMacro_invariantUUIDAlacarte.zip"
}
},
{
@@ -24,7 +24,7 @@
"invariantUUID": "d27e42cf-087e-4d31-88ac-6c4b7585f800",
"name": "vidmacrofalsenaming",
"version": "1.0",
- "toscaModelURL": "./csar15782222_invariantUUIDMacro.zip",
+ "toscaModelURL": "./csar15782222_instantiationTypeMacro_invariantUUIDAlacarte.zip",
"category": "Network Connectivityv",
"lifecycleState": "CERTIFIED",
"lastUpdaterUserId": "rg276b",
@@ -35,4 +35,4 @@
}
}
}
-] \ No newline at end of file
+]
diff --git a/vid-automation/src/test/java/org/onap/vid/api/AsyncInstantiationALaCarteApiTest.java b/vid-automation/src/test/java/org/onap/vid/api/AsyncInstantiationALaCarteApiTest.java
index 25b40ed6b..ff30c9ce5 100644
--- a/vid-automation/src/test/java/org/onap/vid/api/AsyncInstantiationALaCarteApiTest.java
+++ b/vid-automation/src/test/java/org/onap/vid/api/AsyncInstantiationALaCarteApiTest.java
@@ -1,6 +1,8 @@
package org.onap.vid.api;
import static java.util.Collections.emptyMap;
+import static java.util.stream.Collectors.toList;
+import static java.util.stream.Collectors.toSet;
import static org.hamcrest.CoreMatchers.containsString;
import static org.hamcrest.CoreMatchers.hasItems;
import static org.hamcrest.MatcherAssert.assertThat;
@@ -8,6 +10,7 @@ import static org.hamcrest.Matchers.allOf;
import static org.hamcrest.Matchers.contains;
import static org.hamcrest.Matchers.containsInAnyOrder;
import static org.hamcrest.Matchers.matchesPattern;
+import static org.hamcrest.Matchers.not;
import static org.hamcrest.collection.IsCollectionWithSize.hasSize;
import static org.onap.simulator.presetGenerator.presets.BasePresets.BaseMSOPreset.DEFAULT_INSTANCE_ID;
import static org.onap.simulator.presetGenerator.presets.mso.PresetMSOBaseCreateInstancePost.DEFAULT_REQUEST_ID;
@@ -24,6 +27,7 @@ import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.UUID;
+import java.util.stream.Stream;
import org.onap.simulator.presetGenerator.presets.BasePresets.BaseMSOPreset;
import org.onap.simulator.presetGenerator.presets.BasePresets.BasePreset;
import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetCloudOwnersByCloudRegionId;
@@ -49,6 +53,9 @@ import org.onap.vid.model.asyncInstantiation.JobAuditStatus.SourceStatus;
import org.onap.vid.model.asyncInstantiation.ServiceInfo;
import org.onap.vid.more.LoggerFormatTest;
import org.onap.vid.more.LoggerFormatTest.LogName;
+import org.springframework.core.ParameterizedTypeReference;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.ResponseEntity;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
@@ -121,6 +128,50 @@ public class AsyncInstantiationALaCarteApiTest extends AsyncInstantiationBase {
}
@Test
+ public void deployTwoServicesGetServicesFilterByModelId() {
+ List<String> uuids = new LinkedList<>();
+ try {
+ //given
+ final ImmutableMap<PresetMSOServiceInstanceGen2WithNames.Keys, String> names = ImmutableMap
+ .of(SERVICE_NAME, "calazixide85");
+
+ String SERVICE_MODEL_UUID = "e3c34d88-a216-4f1d-a782-9af9f9588705";
+
+ uuids = Stream.of(
+ createBulkOfInstances(false, 1, names, CREATE_BULK_OF_ALACARTE_REQUEST).get(0),
+ createBulkOfInstances(false, 1, names, CREATE_BULK_OF_ALACARTE_REQUEST).get(0),
+ createBulkOfInstances(false, 1, names, CREATE_BULK_OF_MACRO_REQUEST).get(0)
+ ).collect(toList());
+
+ //when
+ ResponseEntity<List<ServiceInfo>> response = restTemplate.exchange(
+ getServiceInfoUrl() + "?serviceModelId=" + SERVICE_MODEL_UUID,
+ HttpMethod.GET,
+ null,
+ new ParameterizedTypeReference<List<ServiceInfo>>() {
+ });
+
+ //then
+ final List<ServiceInfo> body = response.getBody();
+
+ //assert that service info list contains only services with desired modelId
+ assertThat(body.stream().map(x -> x.serviceModelId).collect(toSet()),
+ contains(SERVICE_MODEL_UUID));
+ //assert that service info list contains the 2 first jobs
+ assertThat(body.stream().map(x -> x.jobId).collect(toList()),
+ hasItems(uuids.get(0), uuids.get(1)));
+ //assert that service info list doesn't contains last jobs
+ assertThat(body.stream().map(x -> x.jobId).collect(toList()),
+ not(hasItems(uuids.get(2))));
+ }
+ finally {
+ //clear jobs to not disturb next tests
+ uuids.forEach(uuid->new AsyncJobsService().muteAsyncJobById(uuid));
+ }
+ }
+
+
+ @Test
public void deleteServiceWithTwoVnfGroups_andRetry() {
String parentServiceInstanceId = "service-instance-id";
String firstVnfGroupToDeleteInstanceId = "VNF_GROUP1_INSTANCE_ID";
@@ -408,12 +459,29 @@ public class AsyncInstantiationALaCarteApiTest extends AsyncInstantiationBase {
}
}
+
+ @Test
+ public void deployServiceAfterDragAndDropVFModule__verifyOrderMsoCalls() {
+ final ImmutableMap<PresetMSOServiceInstanceGen2WithNames.Keys, String> names = ImmutableMap
+ .of(SERVICE_NAME, "serviceInstanceName");
+ String vnfRequestId = UUID.randomUUID().toString();
+ registerPresetsForRetryTest("none", names, vnfRequestId, false);
+
+ final List<String> uuids = createBulkOfInstances(false, 1, names,
+ CREATE_BULK_OF_ALACARTE_NO_TESTAPI_REQUEST_CYPRESS);
+
+ final String jobId = uuids.get(0);
+
+ assertServiceInfoSpecific2(jobId, JobStatus.COMPLETED, names.get(SERVICE_NAME));
+ assertMSOcalledWithOrder();
+ }
+
@Test
public void verifyMetricsLogInAsyncInstantiation() {
final String UUID_REGEX = "[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}";
- final String msoURL = "/mso/serviceInstantiation/v";
+ final String msoURL = "/mso";
deploy1ServiceFromCypress__verifyStatusAndMsoCalls_andRetry("none", emptyMap(), emptyMap(), true);
List<String> logLines = LoggerFormatTest.getLogLinesAsList(LogName.metrics2019, 200, 1, restTemplate, uri);
@@ -525,6 +593,24 @@ public class AsyncInstantiationALaCarteApiTest extends AsyncInstantiationBase {
));
}
+
+ private void assertMSOcalledWithOrder() {
+
+ List<RecordedRequests> requests = retrieveRecordedRequests();
+
+ String path = "/mso/serviceInstantiation/v7/serviceInstances/.*/vnfs/.*/vfModules";
+ List<String> msoVFModulesRequests =
+ requests.stream().filter(x -> x.path.matches(path)).map(x -> x.body).collect(toList());
+
+ assertThat("request for vfNodule send with position order",
+ msoVFModulesRequests,
+ contains(
+ containsString("2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0"),
+ containsString("2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2"),
+ containsString("2017488PasqualeVpe..PASQUALE_vRE_BV..module-1")
+ ));
+ }
+
private ImmutableList<JobAuditStatus> vidAuditStatusesCompleted(String jobId) {
return ImmutableList.of(
vidAuditStatus(jobId, "PENDING", false),
diff --git a/vid-automation/src/test/java/org/onap/vid/api/ChangeManagementApiTest.java b/vid-automation/src/test/java/org/onap/vid/api/ChangeManagementApiTest.java
index 7490c0610..6625d2a41 100644
--- a/vid-automation/src/test/java/org/onap/vid/api/ChangeManagementApiTest.java
+++ b/vid-automation/src/test/java/org/onap/vid/api/ChangeManagementApiTest.java
@@ -1,50 +1,75 @@
package org.onap.vid.api;
+import static org.hamcrest.CoreMatchers.containsString;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.core.IsEqual.equalTo;
+import static org.hamcrest.core.IsInstanceOf.instanceOf;
+import static org.onap.vid.api.TestUtils.getNestedPropertyInMap;
+import static org.testng.AssertJUnit.assertEquals;
+
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
+import java.io.IOException;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.UUID;
+import java.util.concurrent.Callable;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.function.Consumer;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+import javax.ws.rs.HttpMethod;
+import javax.ws.rs.client.Entity;
+import javax.ws.rs.client.Invocation;
+import javax.ws.rs.client.WebTarget;
+import javax.ws.rs.core.GenericType;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import org.onap.simulator.presetGenerator.presets.aaf.AAFGetBasicAuthPreset;
+import org.onap.simulator.presetGenerator.presets.aaf.AAFGetUrlServicePreset;
import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetCloudOwnersByCloudRegionId;
+import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetSubscribersGet;
import org.onap.simulator.presetGenerator.presets.mso.changeManagement.PresetMsoChangeManagementBase;
import org.onap.simulator.presetGenerator.presets.mso.changeManagement.PresetMsoVnfInPlaceSoftwareUpdate;
import org.onap.simulator.presetGenerator.presets.mso.changeManagement.PresetMsoVnfReplace;
import org.onap.simulator.presetGenerator.presets.mso.changeManagement.PresetMsoVnfUpdate;
-import org.onap.simulator.presetGenerator.presets.aaf.*;
-import org.onap.vid.model.mso.*;
-import org.onap.vid.model.workflow.*;
+import org.onap.vid.model.mso.ChangeManagementRequest;
+import org.onap.vid.model.mso.ChangeManagementRequestDetails;
+import org.onap.vid.model.mso.CloudConfiguration;
+import org.onap.vid.model.mso.MsoExceptionResponse;
+import org.onap.vid.model.mso.MsoResponseWrapper2;
+import org.onap.vid.model.mso.RelatedInstance;
+import org.onap.vid.model.mso.RelatedInstanceList;
+import org.onap.vid.model.mso.RequestInfo;
+import org.onap.vid.model.mso.RequestParameters;
+import org.onap.vid.model.workflow.GetVnfWorkflowRelationRequest;
+import org.onap.vid.model.workflow.GetWorkflowsResponse;
+import org.onap.vid.model.workflow.VnfDetails;
+import org.onap.vid.model.workflow.VnfDetailsWithWorkflows;
+import org.onap.vid.model.workflow.VnfWorkflowRelationAllResponse;
+import org.onap.vid.model.workflow.VnfWorkflowRelationRequest;
+import org.onap.vid.model.workflow.VnfWorkflowRelationResponse;
+import org.onap.vid.model.workflow.WorkflowsDetail;
+import org.onap.vid.more.LoggerFormatTest;
import org.springframework.http.HttpStatus;
import org.springframework.util.StopWatch;
+import org.springframework.web.client.RestTemplate;
import org.testng.Assert;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import vid.automation.test.services.SimulatorApi;
import vid.automation.test.services.SimulatorApi.RegistrationStrategy;
+import vid.automation.test.utils.InsecureHttpsClient;
import vid.automation.test.utils.ReadFile;
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import java.io.IOException;
-import java.lang.reflect.Method;
-import java.util.*;
-import java.util.concurrent.Callable;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.function.Consumer;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
-
-import static org.hamcrest.CoreMatchers.containsString;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.core.IsEqual.equalTo;
-import static org.hamcrest.core.IsInstanceOf.instanceOf;
-import static org.onap.vid.api.TestUtils.getNestedPropertyInMap;
-import static org.testng.AssertJUnit.assertEquals;
-
//This is integration test that require running tomcat
public class ChangeManagementApiTest extends BaseApiTest {
@@ -470,6 +495,14 @@ public class ChangeManagementApiTest extends BaseApiTest {
Response response = callChangeManagementUpdate(vnfIds, changeManagementRequest);
MsoResponseWrapper2 body = response.readEntity(MsoResponseWrapper2.class);
assertForHappyPath(vnfIds, body, requestType);
+ RestTemplate manualRestTemplate = InsecureHttpsClient.newRestTemplate();
+ super.loginWithChosenRESTClient(getUserCredentials(), manualRestTemplate);
+ SimulatorApi.registerExpectationFromPreset( new PresetAAIGetSubscribersGet(), RegistrationStrategy.APPEND);
+ LoggerFormatTest
+ .verifyExistenceOfIncomingReqsInAuditLogs(manualRestTemplate, uri,
+ response.getHeaders().get("X-ECOMP-RequestID-echo").get(0).toString(),
+ "/vid/change-management/workflow/VidVnf");
+
}
private ChangeManagementRequest createChangeManagementRequest(VnfIds vnfDetails, String requestType) {
diff --git a/vid-automation/src/test/java/org/onap/vid/api/ChangeManagementUserApiLoggingTest.java b/vid-automation/src/test/java/org/onap/vid/api/ChangeManagementUserApiLoggingTest.java
index dd58e8198..ac8584406 100644
--- a/vid-automation/src/test/java/org/onap/vid/api/ChangeManagementUserApiLoggingTest.java
+++ b/vid-automation/src/test/java/org/onap/vid/api/ChangeManagementUserApiLoggingTest.java
@@ -41,6 +41,7 @@ public class ChangeManagementUserApiLoggingTest extends BaseApiTest {
String requestId = responseEntity.getHeaders().getFirst("X-ECOMP-RequestID-echo");
LoggerFormatTest.assertHeadersAndMetricLogs(restTemplate, uri, requestId, "/mso/orchestrationRequests/", 2);
+ LoggerFormatTest.verifyExistenceOfIncomingReqsInAuditLogs(restTemplate, uri, requestId, CHANGE_MANAGEMENT + MSO);
}
@Test
diff --git a/vid-automation/src/test/java/org/onap/vid/api/InstantiationTemplatesApiTest.java b/vid-automation/src/test/java/org/onap/vid/api/InstantiationTemplatesApiTest.java
new file mode 100644
index 000000000..f6fbd268d
--- /dev/null
+++ b/vid-automation/src/test/java/org/onap/vid/api/InstantiationTemplatesApiTest.java
@@ -0,0 +1,138 @@
+package org.onap.vid.api;
+
+import static net.javacrumbs.jsonunit.JsonMatchers.jsonEquals;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.arrayWithSize;
+import static org.hamcrest.Matchers.greaterThan;
+import static org.onap.vid.api.TestUtils.convertRequest;
+import static vid.automation.test.services.SimulatorApi.registerExpectationFromPreset;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+import java.io.IOException;
+import java.util.Map.Entry;
+import java.util.function.Predicate;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+import org.onap.sdc.ci.tests.datatypes.UserCredentials;
+import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetSubscribersGet;
+import org.onap.vid.model.mso.MsoResponseWrapper2;
+import org.springframework.core.ParameterizedTypeReference;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpMethod;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.Test;
+import vid.automation.test.Constants;
+import vid.automation.test.model.User;
+import vid.automation.test.services.AsyncJobsService;
+import vid.automation.test.services.SimulatorApi.RegistrationStrategy;
+
+public class InstantiationTemplatesApiTest extends AsyncInstantiationBase {
+
+ /*
+ Testing the Template Topology API should be very thin, given the following
+ assumptions:
+
+ - Template topology API is relying on Retry's logic.
+
+ - The templates themselves are an actual representation of the initial
+ state in VID's backend. This is all the knowledge that used to create
+ a service in the first time. So if API is fed with same state, it already
+ should be able to reiterate another instance.
+
+
+ The tests below will verify that:
+
+ - A request resulting from Cypress test on "instantiation-templates.e2e.ts"
+ is accepted by API endpoint
+
+ - A valid "regular" (not from template) request, yields a template that a
+ Cypress is able to deploy.
+
+ These two tests are, technically, cyclic.
+
+ Currently the only test below is shortcutting the both tests, by checking
+ that feeding a Cypress input yields a Template that is the same. This is
+ not perfect, but currently what we have.
+
+ */
+
+ @Override
+ public UserCredentials getUserCredentials() {
+ User user = usersService.getUser(Constants.Users.EMANUEL_EMANUEL);
+ return new UserCredentials(user.credentials.userId, user.credentials.password, Constants.Users.EMANUEL_EMANUEL, "", "");
+ }
+
+ @AfterMethod
+ protected void dropAllFromNameCounter() {
+ AsyncJobsService asyncJobsService = new AsyncJobsService();
+ asyncJobsService.muteAllAsyncJobs();
+ asyncJobsService.dropAllFromNameCounter();
+ }
+
+ protected String templateTopologyUri(String jobId) {
+ return uri.toASCIIString() + "/asyncInstantiation/templateTopology/" + jobId;
+ }
+
+ @Test
+ public void templateTopology_givenDeployFromCypressE2E_getTemplateTopologyDataIsEquivalent() throws IOException {
+ templateTopology_givenDeploy_templateTopologyIsEquivalent(objectMapper.readValue(
+ convertRequest(objectMapper, "asyncInstantiation/templates__instance_template.json"),
+ JsonNode.class));
+ }
+
+ public void templateTopology_givenDeploy_templateTopologyIsEquivalent(JsonNode body) {
+ registerExpectationFromPreset(new PresetAAIGetSubscribersGet(), RegistrationStrategy.CLEAR_THEN_SET);
+
+ String uuid1 = postAsyncInstanceRequest(body);
+ JsonNode templateTopology1 = restTemplate.getForObject(templateTopologyUri(uuid1), JsonNode.class);
+
+ assertThat(cleanupTemplate(templateTopology1), jsonEquals(cleanupTemplate(body)));
+ }
+
+ private JsonNode cleanupTemplate(JsonNode templateTopology) {
+ return Stream.of(templateTopology)
+ .map(this::removeTrackById)
+ .map(this::removeNullValues)
+ .findAny().get();
+ }
+
+ private JsonNode removeTrackById(JsonNode node) {
+ return removeAny(node, it -> it.getKey().equals("trackById"));
+ }
+
+ private JsonNode removeNullValues(JsonNode node) {
+ return removeAny(node, it -> it.getValue().isNull());
+ }
+
+ private JsonNode removeAny(JsonNode node, Predicate<Entry<String, JsonNode>> entryPredicate) {
+ if (node.isObject()) {
+ ((ObjectNode) node).remove(
+ Streams.fromIterator(node.fields())
+ .filter(entryPredicate)
+ .map(Entry::getKey)
+ .collect(Collectors.toList())
+ );
+
+ for (JsonNode child : node) {
+ removeAny(child, entryPredicate);
+ }
+ }
+
+ return node;
+ }
+
+ private <T> String postAsyncInstanceRequest(T body) {
+ String[] jobsUuids = (String[]) restTemplate.exchange(
+ getCreateBulkUri(),
+ HttpMethod.POST,
+ new HttpEntity<>(body),
+ new ParameterizedTypeReference<MsoResponseWrapper2<String[]>>() {
+ })
+ .getBody().getEntity();
+
+ assertThat(jobsUuids, arrayWithSize(greaterThan(0)));
+ return jobsUuids[0];
+ }
+
+}
diff --git a/vid-automation/src/test/java/org/onap/vid/api/ProbeApiTest.java b/vid-automation/src/test/java/org/onap/vid/api/ProbeApiTest.java
index 5ed302468..d3c72dab6 100644
--- a/vid-automation/src/test/java/org/onap/vid/api/ProbeApiTest.java
+++ b/vid-automation/src/test/java/org/onap/vid/api/ProbeApiTest.java
@@ -1,22 +1,34 @@
package org.onap.vid.api;
+import static org.hamcrest.CoreMatchers.anyOf;
+import static org.hamcrest.CoreMatchers.both;
+import static org.hamcrest.CoreMatchers.endsWith;
+import static org.hamcrest.CoreMatchers.equalTo;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.startsWith;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.testng.Assert.assertEquals;
+import static vid.automation.test.services.SimulatorApi.RegistrationStrategy.CLEAR_THEN_SET;
+
import com.google.common.collect.ImmutableList;
+import java.lang.reflect.Method;
+import java.util.Collection;
+import java.util.List;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
-import org.junit.Assert;
import org.onap.simulator.presetGenerator.presets.BasePresets.BasePreset;
import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetSubscribersGet;
import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetSubscribersGetInvalidResponse;
import org.onap.simulator.presetGenerator.presets.mso.PresetMSOOrchestrationRequestsManyStatusesGet;
import org.onap.simulator.presetGenerator.presets.mso.PresetMSOOrchestrationRequestsManyStatusesInvalidResponseGet;
+import org.onap.simulator.presetGenerator.presets.scheduler.PresetGetSchedulerChangeManagementInvalidResponse;
+import org.onap.simulator.presetGenerator.presets.scheduler.PresetGetSchedulerChangeManagements;
import org.onap.simulator.presetGenerator.presets.sdc.PresetSDCGetServiceToscaModelGet;
import org.onap.simulator.presetGenerator.presets.sdc.PresetSDCGetServiceToscaModelGetEmptyResult;
import org.onap.simulator.presetGenerator.presets.sdc.PresetSDCGetServiceToscaModelGetInvalidResponse;
import org.onap.vid.model.probe.ExternalComponentStatus;
import org.onap.vid.model.probe.HttpRequestMetadata;
-import org.onap.simulator.presetGenerator.presets.scheduler.PresetGetSchedulerChangeManagementInvalidResponse;
-import org.onap.simulator.presetGenerator.presets.scheduler.PresetGetSchedulerChangeManagements;
import org.springframework.core.ParameterizedTypeReference;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
@@ -25,19 +37,12 @@ import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import vid.automation.test.services.SimulatorApi;
-import java.lang.reflect.Method;
-import java.util.Collection;
-import java.util.List;
-
-import static org.hamcrest.CoreMatchers.*;
-import static vid.automation.test.services.SimulatorApi.RegistrationStrategy.CLEAR_THEN_SET;
-
public class ProbeApiTest extends BaseApiTest {
private static final String MSO_QUERY_PARAMS = "filter=requestExecutionDate:EQUALS:01-01-2100";
private static final String AAI_QUERY_PARMAS = "business/customers?subscriber-type=INFRA&depth=0";
private static final String SDC_PATH_PARAMS = "46401eec-35bd-4e96-ad0d-0356ff6b8c8d/toscaModel";
- private static final String SCHEDULER_PATH = "http://localhost:1080/scheduler/v1/ChangeManagement/schedules/scheduleDetails/";
+ private static final String SCHEDULER_PATH = "/scheduler/v1/ChangeManagement/schedules/scheduleDetails/";
@BeforeClass
@@ -203,7 +208,7 @@ public class ProbeApiTest extends BaseApiTest {
new ParameterizedTypeReference<List<ExternalComponentStatus>>() {
});
List<ExternalComponentStatus> probeResults = response.getBody();
- Assert.assertEquals(5, probeResults.size());
+ assertEquals(5, probeResults.size());
assertResultAsExpected(ExternalComponentStatus.Component.AAI, probeResults, expectedStatuses);
assertResultAsExpected(ExternalComponentStatus.Component.SDC, probeResults, expectedStatuses);
assertResultAsExpected(ExternalComponentStatus.Component.MSO, probeResults, expectedStatuses);
@@ -216,16 +221,16 @@ public class ProbeApiTest extends BaseApiTest {
ExternalComponentStatus componentStatus = probeResults.stream().filter(x -> x.getComponent() == component)
.findFirst().orElseThrow(() -> new AssertionError(component.name()+" result not found in response"));
- Assert.assertThat("wrong metadata for " + component, requestMetadataReflected(componentStatus.getMetadata()),
+ assertThat("wrong metadata for " + component, requestMetadataReflected(componentStatus.getMetadata()),
is(requestMetadataReflected(expectedStatus.getMetadata())));
- Assert.assertThat("wrong url for " + component, componentStatus.getMetadata().getUrl(),
+ assertThat("wrong url for " + component, componentStatus.getMetadata().getUrl(),
both(endsWith(expectedStatus.getMetadata().getUrl())).and(startsWith("http")));
- Assert.assertThat("wrong description for " + component, componentStatus.getMetadata().getDescription(),
+ assertThat("wrong description for " + component, componentStatus.getMetadata().getDescription(),
anyOf(equalTo(expectedStatus.getMetadata().getDescription()), startsWith(expectedStatus.getMetadata().getDescription())));
- Assert.assertThat("wrong status for " + component, componentStatus.isAvailable(), is(expectedStatus.isAvailable()));
+ assertThat("wrong status for " + component, componentStatus.isAvailable(), is(expectedStatus.isAvailable()));
}
//serialize fields except of fields we cannot know ahead of time
diff --git a/vid-automation/src/test/java/org/onap/vid/api/SdcApiTest.java b/vid-automation/src/test/java/org/onap/vid/api/SdcApiTest.java
index 858b2f8ef..ba70ca94a 100644
--- a/vid-automation/src/test/java/org/onap/vid/api/SdcApiTest.java
+++ b/vid-automation/src/test/java/org/onap/vid/api/SdcApiTest.java
@@ -21,8 +21,10 @@
package org.onap.vid.api;
import static net.javacrumbs.jsonunit.JsonMatchers.jsonEquals;
+import static net.javacrumbs.jsonunit.JsonMatchers.jsonPartEquals;
import static net.javacrumbs.jsonunit.JsonMatchers.jsonStringEquals;
import static net.javacrumbs.jsonunit.core.Option.IGNORING_ARRAY_ORDER;
+import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.core.Is.is;
import static org.hamcrest.core.IsNot.not;
@@ -129,7 +131,16 @@ public class SdcApiTest extends BaseApiTest {
ResponseEntity<String> response = restTemplate.getForEntity(buildUri(SDC_GET_SERVICE_MODEL + MACRO_INSTANTIATION_TYPE_UUID), String.class);
assertEquals(response.getStatusCode(), HttpStatus.OK);
String emptyInstantiationTypeExpectedResponse = loadResourceAsString(EMPTY_INSTANTIATION_TYPE_EXPECTED_RESPONSE);
- assertThat("The response is in the format of JSON", response.getBody(), is(jsonStringEquals(turnOffInstantiationUI(emptyInstantiationTypeExpectedResponse))));
+
+ final String body = response.getBody();
+
+ assertThat(body, jsonEquals(emptyInstantiationTypeExpectedResponse)
+ .when(IGNORING_ARRAY_ORDER)
+ .whenIgnoringPaths("service.vidNotions.instantiationUI", "service.vidNotions.instantiationType"));
+
+ assertThat(body, jsonPartEquals("service.vidNotions.instantiationType",
+ Features.FLAG_2002_IDENTIFY_INVARIANT_MACRO_UUID_BY_BACKEND.isActive()
+ ? "ALaCarte" : "ClientConfig"));
}
@Test
@@ -149,7 +160,9 @@ public class SdcApiTest extends BaseApiTest {
ResponseEntity<String> response = restTemplate.getForEntity(buildUri(SDC_GET_SERVICE_MODEL + MIN_MAX_INITIAL_UUID), String.class);
assertEquals(response.getStatusCode(), HttpStatus.OK);
String minMaxInitialExpectedResponse = loadResourceAsString("sdcApiTest/minMaxInitialExpectedResponse.json");
- assertThat("The response is in the format of JSON", response.getBody(), is(jsonStringEquals(turnOffInstantiationUI(minMaxInitialExpectedResponse))));
+ assertThat(response.getBody(), jsonEquals(minMaxInitialExpectedResponse)
+ .when(IGNORING_ARRAY_ORDER)
+ .whenIgnoringPaths("service.vidNotions.instantiationUI", "service.vidNotions.instantiationType", "service.vidNotions.viewEditUI"));
}
@Test
@@ -163,12 +176,18 @@ public class SdcApiTest extends BaseApiTest {
@Test
@FeatureTogglingTest(Features.FLAG_1902_VNF_GROUPING)
- public void getServiceModelWithServiceRoleGrouping(){
+ public void getServiceModelWithServiceRoleGrouping() throws Exception {
registerToSimulatorWithPresets(GROUPING_SERVICE_ROLE_UUID, GROUPING_SERVICE_ROLE_INVARIANT_UUID, GROUPING_SERVICE_ROLE_FILE_PATH);
ResponseEntity<String> response = restTemplate.getForEntity(buildUri(SDC_GET_SERVICE_MODEL + GROUPING_SERVICE_ROLE_UUID), String.class);
assertEquals(response.getStatusCode(), HttpStatus.OK);
String groupingServiceRoleExpectedResponse = loadResourceAsString(GROUPING_SERVICE_ROLE_EXPECTED_RESPONSE);
- assertThat("The response is in the format of JSON", response.getBody(), is(jsonStringEquals(groupingServiceRoleExpectedResponse)));
+ assertThat(response.getBody(), jsonEquals(groupingServiceRoleExpectedResponse)
+ .when(IGNORING_ARRAY_ORDER)
+ .whenIgnoringPaths("service.vidNotions.instantiationUI"));
+
+ //assert that instantiationUI is not legacy
+ JsonNode instantiationUI = objectMapper.readValue(response.getBody(), JsonNode.class).get("service").get("vidNotions").get("instantiationUI");
+ assertThat(instantiationUI.asText(), not(equalTo("legacy")));
}
private void registerToSimulatorWithPresets(String uuid, String invariantUuid, String pathPath){
@@ -178,15 +197,6 @@ public class SdcApiTest extends BaseApiTest {
registerExpectationFromPresets(presets, CLEAR_THEN_SET);
}
- private String turnOffInstantiationUI(String expectedJson) {
- if (!Features.FLAG_5G_IN_NEW_INSTANTIATION_UI.isActive()) {
- // replaces the instantiationUI field-value with "legacy", whatever it was
- return expectedJson.replaceFirst("(\"instantiationUI\": *\")[^\"]*(\",)", "$1legacy$2");
- } else {
- return expectedJson;
- }
- }
-
@Test
public void withModelFromE2eWithToscaParserButNewFlow_requestModels_expectVnfRelatedVfModulesNotNull() {
diff --git a/vid-automation/src/test/java/org/onap/vid/api/ServiceTreeApiTest.java b/vid-automation/src/test/java/org/onap/vid/api/ServiceTreeApiTest.java
index f8bdc97e2..5d07a4ee8 100644
--- a/vid-automation/src/test/java/org/onap/vid/api/ServiceTreeApiTest.java
+++ b/vid-automation/src/test/java/org/onap/vid/api/ServiceTreeApiTest.java
@@ -39,6 +39,7 @@ import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import org.testng.util.RetryAnalyzerCount;
import vid.automation.test.services.SimulatorApi;
+import vid.automation.test.services.SimulatorApi.RegistrationStrategy;
public class ServiceTreeApiTest extends BaseApiTest {
@@ -179,7 +180,12 @@ public class ServiceTreeApiTest extends BaseApiTest {
.replace("VNF4_INSTANCE_TYPE", vnfPreset4.getInstanceType());
assertJsonEquals(response, expected);
+
+ SimulatorApi.registerExpectationFromPreset(new PresetAAIGetSubscribersGet(), RegistrationStrategy.APPEND);
LoggerFormatTest.assertHeadersAndMetricLogs(restTemplate, uri, echoedRequestId(responseEntity), "/network/generic-vnfs/generic-vnf/", 5);
+ // org.onap.vid.aai.AaiClient.getCloudRegionAndTenantByVnfId for presets PresetAAIGetCloudRegionFromVnf is
+ // PUTing to AAI, so path is just /aai/v../query
+ LoggerFormatTest.assertHeadersAndMetricLogs(restTemplate, uri, echoedRequestId(responseEntity), "/query", 4);
}
@Test
diff --git a/vid-automation/src/test/java/org/onap/vid/api/VersionControllerApiTest.java b/vid-automation/src/test/java/org/onap/vid/api/VersionControllerApiTest.java
index 4dc799193..0574cec17 100644
--- a/vid-automation/src/test/java/org/onap/vid/api/VersionControllerApiTest.java
+++ b/vid-automation/src/test/java/org/onap/vid/api/VersionControllerApiTest.java
@@ -1,19 +1,18 @@
package org.onap.vid.api;
+import java.util.HashMap;
import org.junit.Assert;
import org.springframework.core.ParameterizedTypeReference;
import org.springframework.http.ResponseEntity;
-import org.springframework.web.client.RestTemplate;
import org.testng.annotations.Test;
-
-import java.util.HashMap;
+import vid.automation.test.utils.InsecureHttpsClient;
public class VersionControllerApiTest extends BaseApiTest {
@Test
public void probeRequest_returnsResponseAsExpected() {
// without log-in
- ResponseEntity<HashMap<String, String>> response = new RestTemplate().exchange(
+ ResponseEntity<HashMap<String, String>> response = InsecureHttpsClient.newRestTemplate().exchange(
uri + "/version",
org.springframework.http.HttpMethod.GET,
null,
diff --git a/vid-automation/src/test/java/org/onap/vid/more/LoggerFormatTest.java b/vid-automation/src/test/java/org/onap/vid/more/LoggerFormatTest.java
index 7a4eedfa9..b65e797b8 100644
--- a/vid-automation/src/test/java/org/onap/vid/more/LoggerFormatTest.java
+++ b/vid-automation/src/test/java/org/onap/vid/more/LoggerFormatTest.java
@@ -9,12 +9,17 @@ import static org.hamcrest.Matchers.allOf;
import static org.hamcrest.Matchers.contains;
import static org.hamcrest.Matchers.containsInAnyOrder;
import static org.hamcrest.Matchers.containsInRelativeOrder;
+import static org.hamcrest.Matchers.either;
+import static org.hamcrest.Matchers.emptyOrNullString;
import static org.hamcrest.Matchers.greaterThan;
import static org.hamcrest.Matchers.greaterThanOrEqualTo;
import static org.hamcrest.Matchers.hasSize;
+import static org.hamcrest.Matchers.matchesPattern;
import static vid.automation.test.services.SimulatorApi.retrieveRecordedRequests;
import com.fasterxml.jackson.databind.JsonNode;
+
+import java.lang.reflect.Method;
import java.net.URI;
import java.util.ArrayList;
import java.util.Arrays;
@@ -26,10 +31,12 @@ import java.util.Map;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
+import org.jetbrains.annotations.NotNull;
import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetSubscribersGet;
import org.onap.vid.api.BaseApiTest;
import org.springframework.web.client.RestTemplate;
import org.testng.annotations.BeforeClass;
+import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import vid.automation.test.services.SimulatorApi;
import vid.automation.test.services.SimulatorApi.RecordedRequests;
@@ -38,9 +45,10 @@ public class LoggerFormatTest extends BaseApiTest {
private final static String logChecker = System.getProperty("EELF_LOG_CHECKER", "http://my-logchecker:8888/validate");
private final Logger logger = LogManager.getLogger(LoggerFormatTest.class);
+ private final int PRIORITY_LAST = 999;
public enum LogName {
- audit2019, error, metrics2019
+ audit2019, error, metrics2019, debug
}
@BeforeClass
@@ -53,33 +61,51 @@ public class LoggerFormatTest extends BaseApiTest {
SimulatorApi.registerExpectationFromPreset(new PresetAAIGetSubscribersGet(), SimulatorApi.RegistrationStrategy.CLEAR_THEN_SET);
}
- @Test
- public void validateAudit2019LogsFormat() {
- validateLogsFormat(LogName.audit2019, "audit-ELS-2019.11");
+ @DataProvider
+ public static Object[][] logsAndFormats(Method test) {
+ return new Object[][]{
+ {LogName.debug, "debug", 0.65 },
+ {LogName.metrics2019, "metric-ELS-2019.11", 0.95},
+ {LogName.audit2019, "audit-ELS-2019.11", 0.95}
+ };
}
- @Test(enabled = false) // no total-score is returned for error-log
- public void validateErrorLogsFormat() {
- validateLogsFormat(LogName.error);
- }
- @Test
- public void validateMetrics2019LogsFormat() {
- validateLogsFormat(LogName.metrics2019, "metric-ELS-2019.11");
+ @Test(dataProvider = "logsAndFormats", priority = PRIORITY_LAST)
+ public void validateLogsAndFormat(LogName logName, String logCheckerFormat, Double expectedRank){
+ String logLines = validateLogsFormat(logName, logCheckerFormat, expectedRank);
+
+ if (logName == LogName.audit2019)
+ {
+ moreValidationsForAuditFormat(logLines);
+ }
}
- private void validateLogsFormat(LogName logName) {
- validateLogsFormat(logName, logName.name());
+ //more validations for log format that logcheck doesn't verify
+ private void moreValidationsForAuditFormat (String logLines){
+ splitLogLines(logLines).forEach(line -> {
+ String[] records = line.split("\\|");
+ assertThat("server name shall be empty", records[5], emptyOrNullString());
+
+ //authenticated request shall logs with userId.
+ final String serviceName = records[6];
+ if (StringUtils.containsAny(serviceName, "aai", "mso")) {
+ assertThat("Partner name shall be userId", records[7], matchesPattern("^[A-Za-z0-9]{4,15}$"));
+ }
+
+ assertThat("Severity shall be empty", records[13], emptyOrNullString());
+ assertThat("marker", records[21], either(is("ENTRY")).or(is("EXIT")));
+ });
}
- private void validateLogsFormat(LogName logName, String logType) {
- validateLogsFormat(logName, logType, 0.95);
+ private String validateLogsFormat (LogName logName, String logType){
+ return validateLogsFormat(logName, logType, 0.95);
}
- private void validateLogsFormat(LogName logName, String logType, double score) {
+ private String validateLogsFormat (LogName logName, String logType,double score){
String logLines = getLogLines(logName);
- logger.info("logLines are: "+logLines);
+ logger.info("logLines are: " + logLines);
JsonNode response = getCheckerResults(logType, logLines);
logger.info("Response is:" + response.toString());
@@ -87,29 +113,29 @@ public class LoggerFormatTest extends BaseApiTest {
int valid_records = response.path("summary").path("valid_records").asInt();
assertThat(total_records, greaterThan(30)); //make sure we have at least 30 total records
- assertThat((double)valid_records/total_records, is(greaterThanOrEqualTo(score)));
+ assertThat((double) valid_records / total_records, is(greaterThanOrEqualTo(score)));
+
+ return logLines;
}
- private String getLogLines(LogName logname) {
+ private String getLogLines (LogName logname){
return getLogLines(logname, 5000, 30, restTemplate, uri);
}
- public static String getLogLines(LogName logname, int maxRows, int minRows, RestTemplate restTemplate, URI uri) {
+ public static String getLogLines (LogName logname,int maxRows, int minRows, RestTemplate restTemplate, URI uri){
String logLines = restTemplate.getForObject(uri + "/logger/" + logname.name() + "?limit={maxRows}", String.class, maxRows);
assertThat("expecting at least " + minRows + " rows in " + logname.name(),
- StringUtils.countMatches(logLines, '\n') + 1,
- is(greaterThanOrEqualTo(minRows)));
+ StringUtils.countMatches(logLines, '\n') + 1,
+ is(greaterThanOrEqualTo(minRows)));
return logLines;
}
/**
* @return Chronological-ordered list of recent log-lines
*/
- public static List<String> getLogLinesAsList(LogName logname, int maxRows, int minRows, RestTemplate restTemplate, URI uri) {
+ public static List<String> getLogLinesAsList (LogName logname,int maxRows, int minRows, RestTemplate restTemplate, URI uri){
String logLines = LoggerFormatTest.getLogLines(logname, maxRows, minRows, restTemplate, uri);
-
- // Split
- List<String> lines = new ArrayList<>(Arrays.asList(logLines.split("(\\r?\\n)")));
+ List<String> lines = splitLogLines(logLines);
// Reverse
reverse(lines);
@@ -117,11 +143,16 @@ public class LoggerFormatTest extends BaseApiTest {
return lines;
}
+ @NotNull
+ private static List<String> splitLogLines (String logLines){
+ return new ArrayList<>(Arrays.asList(logLines.split("(\\r?\\n)")));
+ }
+
/**
* @return Chronological-ordered list of recent log-lines of a given requestId
*/
- public static List<String> getRequestLogLines(String requestId, LogName logname, RestTemplate restTemplate, URI uri) {
+ public static List<String> getRequestLogLines (String requestId, LogName logname, RestTemplate restTemplate, URI uri){
List<String> lines = getLogLinesAsList(logname, 30, 1, restTemplate, uri);
@@ -131,35 +162,38 @@ public class LoggerFormatTest extends BaseApiTest {
return lines;
}
- public static void verifyExistenceOfIncomingReqsInAuditLogs(RestTemplate restTemplate, URI uri, String requestId,
- String path){
+ public static void verifyExistenceOfIncomingReqsInAuditLogs (RestTemplate restTemplate, URI uri, String requestId, String path){
List<String> logLines = getRequestLogLines(requestId, LogName.audit2019, restTemplate, uri);
String requestIdPrefix = "RequestID=";
- assertThat("request id must be found in exactly two rows - entry & exit message in audit log, and include the req path",
- logLines,
- containsInRelativeOrder(
- allOf(
- containsString(requestIdPrefix+requestId),
- containsString("ENTRY"),
- containsString(path)),
- allOf(
- containsString(requestIdPrefix+requestId),
- containsString("EXIT"),
- containsString(path))
- ));
- }
-
- public static void assertHeadersAndMetricLogs(RestTemplate restTemplate, URI uri, String requestId, String path, int requestsSize) {
+ assertThat("\nENTRY & EXIT logs are expected to include RequestId: " + requestId
+ + " \nAnd request path: "
+ + path +
+ "\nin exactly two rows - inside the audit log matching lines:\n"
+ + String.join("\n", logLines) + "\n",
+ logLines,
+ contains(
+ allOf(
+ containsString(requestIdPrefix + requestId),
+ containsString("ENTRY"),
+ containsString(path)),
+ allOf(
+ containsString(requestIdPrefix + requestId),
+ containsString("EXIT"),
+ containsString(path))
+ ));
+ }
+
+ public static void assertHeadersAndMetricLogs (RestTemplate restTemplate, URI uri, String requestId, String path, int requestsSize){
List<String> logLines =
- getRequestLogLines(requestId, LogName.metrics2019, restTemplate, uri);
+ getRequestLogLines(requestId, LogName.metrics2019, restTemplate, uri);
List<RecordedRequests> requests = retrieveRecordedRequests();
List<RecordedRequests> underTestRequests =
- requests.stream().filter(x->x.path.contains(path)).collect(toList());
+ requests.stream().filter(x -> x.path.contains(path)).collect(toList());
assertThat(underTestRequests, hasSize(requestsSize));
- underTestRequests.forEach(request-> {
+ underTestRequests.forEach(request -> {
assertThat("X-ONAP-RequestID", request.headers.get("X-ONAP-RequestID"), contains(requestId));
assertThat("X-ECOMP-RequestID", request.headers.get("X-ECOMP-RequestID"), contains(requestId));
assertThat("X-ONAP-PartnerName", request.headers.get("X-ONAP-PartnerName"), contains("VID.VID"));
@@ -167,7 +201,7 @@ public class LoggerFormatTest extends BaseApiTest {
List<String> allInvocationIds = new LinkedList<>();
- underTestRequests.forEach(request->{
+ underTestRequests.forEach(request -> {
List<String> invocationIds = request.headers.get("X-InvocationID");
assertThat(invocationIds, hasSize(1));
@@ -180,25 +214,25 @@ public class LoggerFormatTest extends BaseApiTest {
//make sure no InvocationId is repeated twice
assertThat("expect all InvocationIds to be unique",
- allInvocationIds, containsInAnyOrder(new HashSet<>(allInvocationIds).toArray()));
+ allInvocationIds, containsInAnyOrder(new HashSet<>(allInvocationIds).toArray()));
}
- public static void assertIdsInMetricsLog(List<String> logLines, String requestId, String invocationId) {
+ public static void assertIdsInMetricsLog (List < String > logLines, String requestId, String invocationId){
assertThat("request id and invocation id must be found in exactly two rows in: \n" + String.join("\n", logLines),
- logLines,
- containsInRelativeOrder(
- allOf(
- containsString("RequestID="+requestId),
- containsString("InvocationID="+ invocationId),
- containsString("Invoke")),
- allOf(
- containsString("RequestID="+requestId),
- containsString("InvocationID="+ invocationId),
- containsString("InvokeReturn"))
- ));
- }
-
- private JsonNode getCheckerResults(String logtype, String logLines) {
+ logLines,
+ containsInRelativeOrder(
+ allOf(
+ containsString("RequestID=" + requestId),
+ containsString("InvocationID=" + invocationId),
+ containsString("Invoke")),
+ allOf(
+ containsString("RequestID=" + requestId),
+ containsString("InvocationID=" + invocationId),
+ containsString("InvokeReturn"))
+ ));
+ }
+
+ private JsonNode getCheckerResults (String logtype, String logLines){
Map<String, String> params = new HashMap<>();
params.put("format", "raw");
params.put("type", logtype);
diff --git a/vid-automation/src/test/java/org/onap/vid/more/RequestIdFilterInstalled.java b/vid-automation/src/test/java/org/onap/vid/more/RequestIdFilterInstalled.java
index 93ab14036..d4a1ce3f8 100644
--- a/vid-automation/src/test/java/org/onap/vid/more/RequestIdFilterInstalled.java
+++ b/vid-automation/src/test/java/org/onap/vid/more/RequestIdFilterInstalled.java
@@ -136,10 +136,14 @@ public class RequestIdFilterInstalled extends BaseApiTest {
@Test
public void healthcheck_doGET_RequestIdReceived() {
+ String path = "/healthCheck";
final Pair<HttpEntity, String> responseAndUuid = makeRequest(
- HttpMethod.GET, "/healthCheck", null
+ HttpMethod.GET, path, null
);
assertThatUuidInResponseAndUuidIsInARecentLog(LogName.audit2019, responseAndUuid);
+ LoggerFormatTest
+ .verifyExistenceOfIncomingReqsInAuditLogs(restTemplate, uri,
+ responseAndUuid.getKey().getHeaders().get("X-ECOMP-RequestID-echo").get(0).toString(), path);
}
private void assertThatUuidInResponseAndUuidIsInARecentLog(LogName logName, Pair<HttpEntity, String> responseAndUuid) {
diff --git a/vid-automation/src/test/resources/a-la-carte/redux-a-la-carte-no-testapi.json b/vid-automation/src/test/resources/a-la-carte/redux-a-la-carte-no-testapi.json
index a6c4dc16f..1c22fb894 100644
--- a/vid-automation/src/test/resources/a-la-carte/redux-a-la-carte-no-testapi.json
+++ b/vid-automation/src/test/resources/a-la-carte/redux-a-la-carte-no-testapi.json
@@ -13,6 +13,7 @@
"2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": {
"instanceName": "mimazepubi",
"lcpCloudRegionId": "hvf6",
+ "position": "2",
"tenantId": "624eb554b0d147c19ff8885341760481",
"rollbackOnFailure": "false",
"sdncPreLoad": false,
@@ -37,6 +38,7 @@
"instanceName": "puwesovabe",
"volumeGroupName": "puwesovabe_vol",
"lcpCloudRegionId": "AAIAIC25",
+ "position": "3",
"legacyRegion": "my region",
"tenantId": "092eb9e8e4b7412e8787dd091bc58e86",
"rollbackOnFailure": "true",
@@ -68,6 +70,7 @@
"instanceName": "bnmgtrx",
"volumeGroupName": "",
"lcpCloudRegionId": "hvf6",
+ "position": "1",
"tenantId": "624eb554b0d147c19ff8885341760481",
"rollbackOnFailure": "false",
"sdncPreLoad": false,
@@ -98,7 +101,7 @@
"lcpCloudRegionId": "AAIAIC25",
"legacyRegion": "just another region",
"tenantId": "092eb9e8e4b7412e8787dd091bc58e86",
- "platformName": "xxx1",
+ "platformName": "xxx1,platform",
"lineOfBusiness": "zzz1",
"instanceParams": [
{}
diff --git a/vid-automation/src/test/resources/a-la-carte/redux-a-la-carte.json b/vid-automation/src/test/resources/a-la-carte/redux-a-la-carte.json
index cc1d5b566..7924340c0 100644
--- a/vid-automation/src/test/resources/a-la-carte/redux-a-la-carte.json
+++ b/vid-automation/src/test/resources/a-la-carte/redux-a-la-carte.json
@@ -98,7 +98,7 @@
"lcpCloudRegionId": "AAIAIC25",
"legacyRegion": "just another region",
"tenantId": "092eb9e8e4b7412e8787dd091bc58e86",
- "platformName": "xxx1",
+ "platformName": "xxx1,platform",
"lineOfBusiness": "zzz1",
"instanceParams": [
{}
diff --git a/vid-automation/src/test/resources/asyncInstantiation/ServiceTreeForRetry_serviceInstance.json b/vid-automation/src/test/resources/asyncInstantiation/ServiceTreeForRetry_serviceInstance.json
index 5139aa0c0..d5b282e89 100644
--- a/vid-automation/src/test/resources/asyncInstantiation/ServiceTreeForRetry_serviceInstance.json
+++ b/vid-automation/src/test/resources/asyncInstantiation/ServiceTreeForRetry_serviceInstance.json
@@ -55,7 +55,7 @@
"instanceParams": [],
"pause": false,
"bulkSize": 1,
- "rollbackOnFailure": false,
+ "rollbackOnFailure": "false",
"isALaCarte": true,
"testApi": "VNF_API",
"instanceId": "INSTANCE_ID",
diff --git a/vid-automation/src/test/resources/asyncInstantiation/ServiceWithFailedServiceInstance.json b/vid-automation/src/test/resources/asyncInstantiation/ServiceWithFailedServiceInstance.json
index 849cb7e43..28761f393 100644
--- a/vid-automation/src/test/resources/asyncInstantiation/ServiceWithFailedServiceInstance.json
+++ b/vid-automation/src/test/resources/asyncInstantiation/ServiceWithFailedServiceInstance.json
@@ -27,7 +27,7 @@
"pause": false,
"productFamilyId": "ddf9cc0f-6331-4d35-bed0-a37f2d5e9cb3",
"projectName": "zasaki",
- "rollbackOnFailure": false,
+ "rollbackOnFailure": "false",
"statusMessage": "The service instantiation is failed.",
"subscriberName": "SILVIA ROBBINS",
"subscriptionServiceType": "TYLER SILVIA",
diff --git a/vid-automation/src/test/resources/asyncInstantiation/templates__instance_template.json b/vid-automation/src/test/resources/asyncInstantiation/templates__instance_template.json
new file mode 100644
index 000000000..8a6401083
--- /dev/null
+++ b/vid-automation/src/test/resources/asyncInstantiation/templates__instance_template.json
@@ -0,0 +1,130 @@
+{
+ "action": "Create",
+ "instanceName": "vProbe_NC_Service_DG_new_SI",
+ "productFamilyId": null,
+ "lcpCloudRegionId": null,
+ "tenantId": null,
+ "modelInfo": {
+ "modelInvariantId": "90a32d31-8a01-4de2-a91f-7e2414d6f5aa",
+ "modelVersionId": "6cfeeb18-c2b0-49df-987a-da47493c8e38",
+ "modelName": "vProbe_NC_Service",
+ "modelType": "service",
+ "modelVersion": "1.0"
+ },
+ "globalSubscriberId": "e433710f-9217-458d-a79d-1c7aff376d89",
+ "subscriptionServiceType": "TYLER SILVIA",
+ "owningEntityId": "d61e6f2d-12fa-4cc2-91df-7c244011d6fc",
+ "owningEntityName": "WayneHolland",
+ "tenantName": null,
+ "aicZoneId": null,
+ "aicZoneName": null,
+ "projectName": "WATKINS",
+ "subscriberName": "SILVIA ROBBINS",
+ "rollbackOnFailure": "true",
+ "isALaCarte": true,
+ "testApi": "GR_API",
+ "trackById": "36601560-f8e3-4020-bdef-3e4709c51e84",
+ "existingVNFCounterMap": {
+ "024a417d-ca46-40bf-95ce-809c6a269011": 1
+ },
+ "existingVRFCounterMap": {},
+ "existingVnfGroupCounterMap": {},
+ "existingNetworksCounterMap": {},
+ "vnfs": {
+ "vProbe_NC_VNF 0": {
+ "modelInfo": {
+ "modelCustomizationName": "vProbe_NC_VNF 0",
+ "modelCustomizationId": "024a417d-ca46-40bf-95ce-809c6a269011",
+ "modelInvariantId": "a6a96924-b9c5-4c85-ae18-cbfca848095e",
+ "modelVersionId": "21ae311e-432f-4c54-b855-446d0b8ded72",
+ "modelName": "vProbe_NC_VNF",
+ "modelType": "vnf",
+ "modelVersion": "1.0"
+ },
+ "productFamilyId": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb",
+ "instanceName": "hvf6arlba007",
+ "action": "Create",
+ "platformName": "xxx1",
+ "lcpCloudRegionId": "hvf6",
+ "tenantId": "4914ab0ab3a743e58f0eefdacc1dde77",
+ "instanceParams": [
+ {}
+ ],
+ "rollbackOnFailure": true,
+ "instanceId": null,
+ "vfModules": {
+ "vprobe_nc_vnf0..VprobeNcVnf..FE_base_module..module-0": {
+ "vprobe_nc_vnf0..VprobeNcVnf..FE_base_module..module-0ahubg": {
+ "modelInfo": {
+ "modelCustomizationName": "VprobeNcVnf..FE_base_module..module-0",
+ "modelCustomizationId": "4d0818cf-eaa9-4a3f-89c2-639953089e14",
+ "modelInvariantId": "29b6fa3c-aeb3-4103-b3f7-6f98e097b005",
+ "modelVersionId": "c5b26cc1-a66f-4b69-aa23-6abc7c647c88",
+ "modelName": "VprobeNcVnf..FE_base_module..module-0",
+ "modelType": "vfModule",
+ "modelVersion": "1"
+ },
+ "instanceName": "hvf6arlba007_lba_Base_01",
+ "action": "Create",
+ "lcpCloudRegionId": "hvf6",
+ "tenantId": "4914ab0ab3a743e58f0eefdacc1dde77",
+ "instanceParams": [
+ {}
+ ],
+ "rollbackOnFailure": true,
+ "trackById": "ea2879a6-10bc-4697-90d7-7bc3e71da0fd",
+ "isFailed": false
+ }
+ },
+ "vprobe_nc_vnf0..VprobeNcVnf..FE_Add_On_Module_vlbagent_eph..module-1": {
+ "vprobe_nc_vnf0..VprobeNcVnf..FE_Add_On_Module_vlbagent_eph..module-1yprvi": {
+ "modelInfo": {
+ "modelCustomizationName": "VprobeNcVnf..FE_Add_On_Module_vlbagent_eph..module-1",
+ "modelCustomizationId": "9b99d340-a80b-45ef-9ff1-993fa3e4c001",
+ "modelInvariantId": "1bcc4824-6c1a-4b51-af7c-076b7fc14d05",
+ "modelVersionId": "c09e4530-8fd8-418f-9483-2f57ce927b05",
+ "modelName": "VprobeNcVnf..FE_Add_On_Module_vlbagent_eph..module-1",
+ "modelType": "vfModule",
+ "modelVersion": "1"
+ },
+ "instanceName": "hvf6arlba007_lba_dj_01",
+ "action": "Create",
+ "lcpCloudRegionId": "hvf6",
+ "tenantId": "4914ab0ab3a743e58f0eefdacc1dde77",
+ "instanceParams": [
+ {}
+ ],
+ "rollbackOnFailure": true,
+ "trackById": "b134410e-3bc0-478e-883e-1b6bdf8a28df",
+ "isFailed": false,
+ "volumeGroupInstanceName": "hvf6arlba007_lba_dj_01_vol",
+ "usePreload": true
+ }
+ }
+ },
+ "trackById": "1d2848a0-3573-4d29-b3dd-60bb263260ea",
+ "isFailed": false,
+ "statusMessage": null,
+ "position": null,
+ "lineOfBusiness": "zzz1"
+ }
+ },
+ "networks": {},
+ "vrfs": {},
+ "vnfGroups": {},
+ "instanceParams": [
+ {}
+ ],
+ "pause": false,
+ "bulkSize": 1,
+ "instanceId": null,
+ "isFailed": false,
+ "statusMessage": null,
+ "vidNotions": {
+ "instantiationUI": "anyAlacarteWhichNotExcluded",
+ "modelCategory": "5G Fabric Configuration",
+ "viewEditUI": "legacy",
+ "instantiationType": "ALaCarte"
+ },
+ "position": null
+}
diff --git a/vid-automation/src/test/resources/features.properties b/vid-automation/src/test/resources/features.properties
index 1324403c6..a1a6cf733 100644
--- a/vid-automation/src/test/resources/features.properties
+++ b/vid-automation/src/test/resources/features.properties
@@ -1,12 +1,8 @@
-CREATE_INSTANCE_TEST = false
-EMPTY_DRAWING_BOARD_TEST = false
FLAG_ADD_MSO_TESTAPI_FIELD = true
FLAG_NETWORK_TO_ASYNC_INSTANTIATION = false
FLAG_SERVICE_MODEL_CACHE = true
FLAG_SHOW_ASSIGNMENTS = true
FLAG_SHOW_VERIFY_SERVICE = true
-FLAG_DEFAULT_VNF = true
-FLAG_SETTING_DEFAULTS_IN_DRAWING_BOARD = true
FLAG_RESTRICTED_SELECT = false
FLAG_FABRIC_CONFIGURATION_ASSIGNMENTS = true
FLAG_A_LA_CARTE_AUDIT_INFO=true
@@ -19,7 +15,6 @@ FLAG_EXP_ANY_ALACARTE_NEW_INSTANTIATION_UI=false
FLAG_ENABLE_WEBPACK_MODERN_UI = false
FLAG_1810_CR_ADD_CLOUD_OWNER_TO_MSO_REQUEST=true
FLAG_1810_CR_LET_SELECTING_COLLECTOR_TYPE_UNCONDITIONALLY=true
-FLAG_1810_CR_SOFT_DELETE_ALACARTE_VF_MODULE = true
FLAG_1810_AAI_LOCAL_CACHE = true
FLAG_1902_NEW_VIEW_EDIT= false
FLAG_EXP_USE_DEFAULT_HOST_NAME_VERIFIER = false
@@ -37,3 +32,5 @@ FLAG_FLASH_REDUCED_RESPONSE_CHANGEMG = true
FLAG_1911_INSTANTIATION_ORDER_IN_ASYNC_ALACARTE = false
FLAG_SHOW_ORCHESTRATION_TYPE = false
FLAG_1911_INSTANTIATION_ORDER_BUTTON_IN_ASYNC_ALACARTE = false
+FLAG_A_LA_CARTE_PLATFORM_MULTI_SELECT = false
+