allow platform multi-selection for network
[vid.git] / vid-automation / src / main / java / vid / automation / test / test / NewServiceInstanceTest.java
index 00a1e64..99e8240 100644 (file)
@@ -11,6 +11,7 @@ import static org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetCloudOw
 import static org.onap.simulator.presetGenerator.presets.mso.PresetMSOOrchestrationRequestGet.COMPLETE;
 import static org.onap.simulator.presetGenerator.presets.mso.PresetMSOOrchestrationRequestGet.DEFAULT_SERVICE_INSTANCE_ID;
 import static org.testng.Assert.assertEquals;
+import static org.testng.AssertJUnit.assertNotNull;
 import static org.testng.AssertJUnit.assertTrue;
 import static vid.automation.test.infra.Features.FLAG_1902_VNF_GROUPING;
 import static vid.automation.test.infra.Features.FLAG_1908_COLLECTION_RESOURCE_NEW_INSTANTIATION_UI;
@@ -18,6 +19,7 @@ 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_2006_VFMODULE_TAKES_TENANT_AND_REGION_FROM_VNF;
 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;
@@ -28,7 +30,6 @@ import static vid.automation.test.infra.ModelInfo.macroSriovNoDynamicFieldsEcomp
 import static vid.automation.test.infra.ModelInfo.macroSriovNoDynamicFieldsEcompNamingFalseFullModelDetailsVnfEcompNamingFalse;
 import static vid.automation.test.infra.ModelInfo.macroSriovWithDynamicFieldsEcompNamingFalsePartialModelDetailsVnfEcompNamingFalse;
 import static vid.automation.test.infra.ModelInfo.macroSriovWithDynamicFieldsEcompNamingTruePartialModelDetails;
-import static vid.automation.test.infra.ModelInfo.pasqualeVmxVpeBvService488Annotations;
 import static vid.automation.test.infra.ModelInfo.transportWithPnfsService;
 import static vid.automation.test.services.SimulatorApi.RegistrationStrategy.APPEND;
 import static vid.automation.test.services.SimulatorApi.registerExpectationFromPreset;
@@ -48,13 +49,11 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
-import java.util.UUID;
 import java.util.stream.Collectors;
 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.PresetAAIGetL3NetworksByCloudRegionSpecificState;
@@ -106,7 +105,7 @@ import vid.automation.test.test.NewServiceInstanceTest.ServiceData.IS_GENERATED_
 import vid.automation.test.utils.ReadFile;
 
 @FeatureTogglingTest(FLAG_ENABLE_WEBPACK_MODERN_UI)
-public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
+public class NewServiceInstanceTest extends ModernUITestBase {
 
     public static final String COMPLETED = "COMPLETED";
     private static final String IN_PROGRESS = "IN_PROGRESS";
@@ -121,6 +120,7 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
     private final VidBasePage vidBasePage = new VidBasePage();
     public static final String VNF_SET_BUTTON_TEST_ID = "form-set";
     private static final Logger logger = LogManager.getLogger(NewServiceInstanceTest.class);
+    private static final String NO_MAX_INSTANCES_IN_MODEL = "NO_MAX_INSTANCES_IN_MODEL";
 
     @BeforeClass
     protected void dropAllAsyncJobs() {
@@ -234,12 +234,12 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
                 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", false);
+            0, NO_MAX_INSTANCES_IN_MODEL, 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);
 
@@ -281,7 +281,8 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
                 Collections.singletonList("2017488 pasqualevpe0 asn:"),
                 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"),
+                "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", 0,
+                NO_MAX_INSTANCES_IN_MODEL, ImmutableList.of("Bandwidth", "Bandwidth units"),
                 "25284168-24bb-4698-8cb4-3f509146eca5", false);
 
         // this is the instance-name that createMacroService is going to use
@@ -294,7 +295,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";
@@ -302,7 +303,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, () ->
@@ -366,7 +367,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, false);
+                null, 0, null, new ArrayList<>(), null, false);
         final String serviceInstanceName = createMacroService(serviceData, false);
 
         SimulatorApi.registerExpectationFromPresets(ImmutableList.of(
@@ -376,12 +377,10 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
 
         // Wizard pages of Network and VPN
         Click.byTestIdOnceItsAvailable("10a74149-c9d7-4918-bbcf-d5fb9b1799ce", 20);
-        Click.byTestId("setMembersBtn");
-        GeneralUIUtils.ultimateWait();
+        clickToCloseModal("setMembersBtn");
 
         Click.byTestIdOnceItsAvailable("120d39fb-3627-473d-913c-d228dd0f8e5b", 20);
-        Click.byTestId("setMembersBtn");
-        GeneralUIUtils.ultimateWait();
+        clickToCloseModal("setMembersBtn");
 
         Assert.assertEquals(Get.byTestId("node-type-indicator").getText(),"VRF");
 
@@ -407,7 +406,7 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
                 new ArrayList<>(),
                 IS_GENERATED_NAMING.TRUE, true, true, false,
                 null,
-                null, 0, 1, new ArrayList<>(), null, false);
+                null, 0, null, new ArrayList<>(), null, false);
         createMacroService(serviceData, false, randomAlphabetic(5), true, 1);
 
         drawingBoardPage.deploy();
@@ -431,7 +430,7 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
                 new ArrayList<>(),
                 IS_GENERATED_NAMING.TRUE, true, true, false,
                 null,
-                null, 0, 1, new ArrayList<>(), null, false);
+                null, 0, null, new ArrayList<>(), null, false);
         createMacroService(serviceData, false, randomAlphabetic(5), false, 1);
 
         drawingBoardPage.deploy();
@@ -448,7 +447,7 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
                 aLaCarteVnfGroupingService.modelVersionId,
                 ImmutableList.of(),
                 IS_GENERATED_NAMING.FALSE, false, true, false,
-                null, null, 0, 1, ImmutableList.of(), null, false);
+                null, null, 0, null, ImmutableList.of(), null, false);
         prepareServicePreset(aLaCarteVnfGroupingService, false);
 
         createALaCarteService(serviceData, randomAlphabetic);
@@ -534,13 +533,9 @@ 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);
+        clickToCloseModal(VNF_SET_BUTTON_TEST_ID);
     }
 
     @Test
@@ -550,12 +545,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, false);
+                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);
 
     }
@@ -567,12 +562,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, false);
+                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);
 
     }
@@ -584,12 +579,13 @@ 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", false);
+                "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", 0,
+                NO_MAX_INSTANCES_IN_MODEL, 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);
 
@@ -602,7 +598,7 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
         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);
+        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();
@@ -673,6 +669,19 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
             + "                    \"instanceName\": \""+vgName+"\""
             + "                }}";
 
+        String vnfLcpCloudRegionId = "some legacy region";
+        String vnfTenantId = "092eb9e8e4b7412e8787dd091bc58e86";
+
+        String vfmoduleLcpCloudRegionId;
+        String vfmoduleTenantId;
+
+        if (FLAG_2006_VFMODULE_TAKES_TENANT_AND_REGION_FROM_VNF.isActive()) {
+            vfmoduleLcpCloudRegionId = vnfLcpCloudRegionId;
+            vfmoduleTenantId = vnfTenantId;
+        } else {
+            vfmoduleLcpCloudRegionId = "hvf6";
+            vfmoduleTenantId = "bae71557c5bb4d5aac6743a4e5f1d054";
+        }
 
         registerExpectationFromPresets(
             ImmutableList.of(
@@ -682,16 +691,16 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
                     requestorID, serviceModelInfo),
                 PRESET_SOME_LEGACY_REGION_TO_ATT_AIC,
                 new PresetMSOOrchestrationRequestGet(COMPLETE, serviceRequestId),
-                new PresetMSOCreateVnfALaCarteE2E(vnfRequestId, serviceInstanceId, vnfInstanceId, "ONAP", requestorID, serviceModelInfo),
+                new PresetMSOCreateVnfALaCarteE2E(vnfRequestId, serviceInstanceId, vnfInstanceId, "ONAP", requestorID, vnfLcpCloudRegionId, vnfTenantId, serviceModelInfo),
                 new PresetMSOOrchestrationRequestGet(COMPLETE, vnfRequestId),
                 PRESET_MTN6_TO_ATT_AIC,
-                new PresetMSOCreateVfModuleALaCarteE2E(vfm0RequestId, vfm0InstanceId, serviceInstanceId, vnfInstanceId, requestorID, serviceModelInfo, null, vfm0, null),
+                new PresetMSOCreateVfModuleALaCarteE2E(vfm0RequestId, vfm0InstanceId, serviceInstanceId, vnfInstanceId, requestorID, serviceModelInfo, null, vfm0, null, vfmoduleLcpCloudRegionId, vfmoduleTenantId),
                 new PresetMSOOrchestrationRequestGet(COMPLETE, vfm0RequestId),
-                new PresetMSOCreateVfModuleALaCarteE2E(vg1RequestId, vg1InstanceId, serviceInstanceId, vnfInstanceId, requestorID, serviceModelInfo, vgName, vg1, null),
+                new PresetMSOCreateVfModuleALaCarteE2E(vg1RequestId, vg1InstanceId, serviceInstanceId, vnfInstanceId, requestorID, serviceModelInfo, vgName, vg1, null, vfmoduleLcpCloudRegionId, vfmoduleTenantId),
                 new PresetMSOOrchestrationRequestGet(COMPLETE, vg1RequestId),
-                new PresetMSOCreateVfModuleALaCarteE2E(vfm1RequestId, vfm1InstanceId, serviceInstanceId, vnfInstanceId, requestorID, serviceModelInfo, null, vfm1, vgRelatedInstance),
+                new PresetMSOCreateVfModuleALaCarteE2E(vfm1RequestId, vfm1InstanceId, serviceInstanceId, vnfInstanceId, requestorID, serviceModelInfo, null, vfm1, vgRelatedInstance, vfmoduleLcpCloudRegionId, vfmoduleTenantId),
                 new PresetMSOOrchestrationRequestGet(COMPLETE, vfm1RequestId),
-                new PresetMSOCreateVfModuleALaCarteE2E(vfm12RequestId, vfm12InstanceId, serviceInstanceId, vnfInstanceId, requestorID, serviceModelInfo, null, vfm12, null),
+                new PresetMSOCreateVfModuleALaCarteE2E(vfm12RequestId, vfm12InstanceId, serviceInstanceId, vnfInstanceId, requestorID, serviceModelInfo, null, vfm12, null, vfmoduleLcpCloudRegionId, vfmoduleTenantId),
                 new PresetMSOOrchestrationRequestGet(COMPLETE, vfm12RequestId)
             ),
             APPEND
@@ -700,11 +709,11 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
         loadServicePopup(serviceModelInfo.modelVersionId);
         fillALaCarteServicePopup(serviceInstanceName);
 
-        createVnf(vnfData, false, true, 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);
+        serviceData.vfData =  new VfData("vocg_1804_vf0..Vocg1804Vf..ocgmgr..module-1", true, 0, NO_MAX_INSTANCES_IN_MODEL, 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);
+        serviceData.vfData =  new VfData("vocg_1804_vf0..Vocg1804Vf..ocgapp_001..module-12", true, 0, NO_MAX_INSTANCES_IN_MODEL, emptyList(), "b601eef4-62fd-4201-a788-ae30e06a1aec", null);
         createVfModule(serviceData, serviceInstanceName, false, false);
         drawingBoardPage.deploy();
         drawingBoardPage.verifyServiceCompletedOnTime(serviceInstanceName, "service "+serviceInstanceName);
@@ -771,12 +780,14 @@ 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", false);
+                "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", 0,
+            NO_MAX_INSTANCES_IN_MODEL, 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);
 
@@ -1143,23 +1154,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);
@@ -1187,9 +1198,14 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
 
         browseASDCPage.selectTenant("092eb9e8e4b7412e8787dd091bc58e86");
 
+
         assertSetButtonDisabled(VNF_SET_BUTTON_TEST_ID);
+        SelectOption.selectOptionsFromMultiselectById("multi-selectPlatform", ImmutableList.of("platform"));
 
-        browseASDCPage.selectPlatform("platform");
+        if(!isNetwork){
+            SelectOption.byTestIdAndVisibleText("TYLER SILVIA", Constants.ViewEdit.PRODUCT_FAMILY_SELECT_TESTS_ID);
+            browseASDCPage.selectProductFamily("e433710f-9217-458d-a79d-1c7aff376d89");
+        }
 
         browseASDCPage.selectLineOfBusiness("ONAP");
         assertSetButtonEnabled(VNF_SET_BUTTON_TEST_ID);
@@ -1199,14 +1215,12 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
 
         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"), null, "Min value should not be shown in VNF popup");
-        Assert.assertEquals(Get.byTestId("model-item-value-max"), null, "Max value should not be show in VNF popup");
         if (!vnfData.isGeneratedNaming) {
             Assert.assertEquals(Get.byTestId("model-item-value-serviceName").getText(), serviceInstanceName, "Subscriber name should be shown in vf module");
         }
 
         vidBasePage.screenshotDeployDialog("createVnf-" + serviceInstanceName);
-        Click.byTestId(VNF_SET_BUTTON_TEST_ID);
+        clickToCloseModal(VNF_SET_BUTTON_TEST_ID);
         if (isNetwork) {
             return;
         }
@@ -1218,9 +1232,10 @@ 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");
-            Click.byTestId(Constants.CANCEL_BUTTON_TEST_ID);
-            GeneralUIUtils.ultimateWait();
+
+            Assert.assertTrue(Get.isOptionSelectedInMultiSelect(Constants.OwningEntity.PLATFORM_MULTI_SELECT_TEST_ID, "platform"));
+
+            clickToCloseModal(Constants.CANCEL_BUTTON_TEST_ID);
         } else {
             toggleItemInTree(Constants.DrawingBoard.AVAILABLE_MODELS_TREE);
         }
@@ -1311,13 +1326,22 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
         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.vfData.vfMax!=null) {
+            if (!serviceData.vfData.vfMax.equals(NO_MAX_INSTANCES_IN_MODEL)) {
+                Assert.assertEquals(Get.byTestId("model-item-value-max").getText(), serviceData.vfData.vfMax, "Max should be shown");
+            }
+            else {
+                String defaultMaxText = Features.FLAG_2002_UNLIMITED_MAX.isActive() ? "Unlimited (default)" : "1";
+                Assert.assertEquals(Get.byTestId("model-item-value-max").getText(), defaultMaxText, "Max should be shown with default value");
+            }
+        }
+
         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) {
+        if (serviceData.isALaCarte && !FLAG_2006_VFMODULE_TAKES_TENANT_AND_REGION_FROM_VNF.isActive()) {
             String lcpRegion = "hvf6";
             Wait.waitByClassAndText("lcpRegionOption", lcpRegion, 30);
             viewEditPage.selectLcpRegion(lcpRegion, AIC);
@@ -1331,17 +1355,20 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
         uploadSupplementaryFile("sample.json", true, browseASDCPage, setButtonTestId);
 
         browseASDCPage.screenshotDeployDialog("createVfModule-" + serviceInstanceName);
-        Click.byTestId(setButtonTestId);
+        clickToCloseModal(setButtonTestId);
+    }
+
+    private void clickToCloseModal(String setOrCancelButtonTestId) {
+        Click.byTestId(setOrCancelButtonTestId);
+        GeneralUIUtils.ultimateWait();
     }
 
     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'");
@@ -1356,10 +1383,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) {
@@ -1372,12 +1397,13 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
         }
     }
 
-    @NotNull
-    private String uuid() {
-        return UUID.randomUUID().toString();
+    public void validateDynamicFields(List<String> dynamicFields) {
+        for (String field : dynamicFields) {
+            WebElement fieldElement = GeneralUIUtils.findByText(field);
+            assertNotNull("couldn't find dynamic field: " + field, fieldElement);
+        }
     }
 
-
     private void assertNotificationAreaVisibilityBehaviourAndSetBulkSize(int size) {
         WebElement webElement = Get.byId("notification-area");
         Assert.assertNull(webElement, "notification area should be invisible if only 1 qty.");
@@ -1388,27 +1414,11 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
         Assert.assertNotNull(webElement, "notification area should be visible if more then 1 qty.");
     }
 
-    //@Step("prepare service preset")
-    private void prepareServicePreset(ModelInfo modelInfo, boolean deploy) {
-        String subscriberId = "e433710f-9217-458d-a79d-1c7aff376d89";
-
-        if (deploy) {
-            registerExpectationForServiceDeployment(
-                ImmutableList.of(
-                    modelInfo,
-                    pasqualeVmxVpeBvService488Annotations
-                ),
-                subscriberId, null);
-        } else {
-            registerExpectationForServiceBrowseAndDesign(ImmutableList.of(modelInfo), subscriberId);
-        }
-    }
-
     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, boolean isALaCarte) {
+            String vfName, int vfMin, String vfMax, List<String> vfModuleDynamicFields, String vfVersionId, boolean isALaCarte) {
             this.modelUuid = modelUuid;
             this.dynamicFields = dynamicFields;
             this.isGeneratedNaming = isServiceGeneratedNaming;
@@ -1452,7 +1462,7 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
 
 
     private static class VfData {
-        VfData(String vfName, boolean vgEnabled, int vfMin, int vfMax, List<String> dynamicFields, String uuid, String vgName) {
+        VfData(String vfName, boolean vgEnabled, int vfMin, String vfMax, List<String> dynamicFields, String uuid, String vgName) {
             this.vfName = vfName;
             this.vgEnabled = vgEnabled;
             this.vfMin = vfMin;
@@ -1463,7 +1473,7 @@ public class NewServiceInstanceTest extends CreateInstanceDialogBaseTest {
         }
 
         final int vfMin;
-        final int vfMax;
+        final String vfMax;
         final String uuid;
         final String vfName;
         final boolean vgEnabled;