Integration test for importing VFC with model 63/124063/2
authoraribeiro <anderson.ribeiro@est.tech>
Fri, 10 Sep 2021 15:38:30 +0000 (16:38 +0100)
committeraribeiro <anderson.ribeiro@est.tech>
Wed, 15 Sep 2021 15:33:24 +0000 (16:33 +0100)
Issue-ID: SDC-3724
Signed-off-by: aribeiro <anderson.ribeiro@est.tech>
Change-Id: If978ab3630eaca9bb84e7f51fb24bf448f0e0587

catalog-ui/src/app/view-models/workspace/tabs/general/general-view.html
integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/datatypes/ModelName.java
integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/datatypes/ResourceCreateData.java
integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/execute/sanity/ImportVfcUiTest.java
integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/pages/ResourceCreatePage.java
integration-tests/src/test/resources/Files/VFCs/VFC-For-Model.yaml [new file with mode: 0644]

index 2366eea..a019916 100644 (file)
@@ -83,7 +83,7 @@
                                     data-ng-class="{'view-mode': isViewMode()}"
                                     data-ng-disabled="!isCreateMode()"
                                     data-ng-change="onModelChange()"
-                                    data-tests-id="modelName"
+                                    data-tests-id="selectModelName"
                                     data-ng-required="isModelRequired"
                                     data-ng-model="component.model"
                                     data-ng-options="model for model in models track by model"
index d5df5df..4504849 100644 (file)
@@ -30,7 +30,8 @@ import lombok.Getter;
 @AllArgsConstructor
 @Getter
 public enum ModelName {
-    ETSI_SOL001_v2_5_1("ETSI SOL001 v2.5.1");
+    ETSI_SOL001_v2_5_1("ETSI SOL001 v2.5.1"),
+    DEFAULT_MODEL_NAME("SDC AID");
 
     private String name;
 }
index ea63ead..5cfa140 100644 (file)
@@ -30,6 +30,7 @@ import lombok.Data;
 public class ResourceCreateData {
 
     private String name;
+    private String model;
     private String category;
     private List<String> tagList;
     private String description;
index b3538e3..fa02b44 100644 (file)
@@ -37,6 +37,7 @@ import org.onap.sdc.backend.ci.tests.datatypes.enums.ComponentType;
 import org.onap.sdc.backend.ci.tests.datatypes.enums.ResourceCategoryEnum;
 import org.onap.sdc.backend.ci.tests.utils.general.ElementFactory;
 import org.onap.sdc.frontend.ci.tests.datatypes.ComponentData;
+import org.onap.sdc.frontend.ci.tests.datatypes.ModelName;
 import org.onap.sdc.frontend.ci.tests.datatypes.ResourceCreateData;
 import org.onap.sdc.frontend.ci.tests.exception.UnzipException;
 import org.onap.sdc.frontend.ci.tests.execute.setup.DriverFactory;
@@ -74,6 +75,7 @@ public class ImportVfcUiTest extends SetupCDTest {
     private ResourceCreateData vfcCreateData;
     private ResourceCreateData vfCreateData;
     private ComponentInstance createdComponentInstance;
+    private final String vfcCategory = ResourceCategoryEnum.NETWORK_L4.getSubCategory();
 
     @BeforeClass
     public void beforeClass() {
@@ -87,7 +89,7 @@ public class ImportVfcUiTest extends SetupCDTest {
         homePage = new HomePage(webDriver);
         // TC - Import VFC with root namespace
         String fileName = "org.openecomp.resource.VFC-root.yml";
-        CreateVfcFlow createVfcFlow = createVFC(fileName);
+        CreateVfcFlow createVfcFlow = createVFC(fileName, ModelName.DEFAULT_MODEL_NAME.getName(), vfcCategory);
 
         componentPage = createVfcFlow.getLandedPage().orElseThrow(() -> new UiTestFlowRuntimeException("Missing expected return ResourceCreatePage"));
         componentPage.isLoaded();
@@ -101,7 +103,7 @@ public class ImportVfcUiTest extends SetupCDTest {
 
         // TC - Import hierarchy of VFCs
         fileName = "org.openecomp.resource.VFC-child.yml";
-        createVfcFlow = createVFC(fileName);
+        createVfcFlow = createVFC(fileName, ModelName.DEFAULT_MODEL_NAME.getName(), vfcCategory);
         componentPage = createVfcFlow.getLandedPage().orElseThrow(() -> new UiTestFlowRuntimeException("Missing expected return ResourceCreatePage"));
         componentPage.isLoaded();
 
@@ -133,6 +135,17 @@ public class ImportVfcUiTest extends SetupCDTest {
 
     }
 
+    @Test
+    public void importVfcWithModel() {
+        final String fileName = "VFC-For-Model.yaml";
+        final CreateVfcFlow createVfcFlow = createVFC(fileName, ModelName.ETSI_SOL001_v2_5_1.getName(), vfcCategory);
+        final ComponentPage componentPage = createVfcFlow.getLandedPage()
+            .orElseThrow(() -> new UiTestFlowRuntimeException("Missing expected return ResourceCreatePage"));
+        componentPage.isLoaded();
+        componentPage.certifyComponent();
+        componentPage.isLoaded();
+    }
+
     private ComponentPage manageAttributes(final ComponentPage componentPage) {
         final AttributesPage attributesPage = componentPage.goToAttributes();
         attributesPage.isLoaded();
@@ -266,8 +279,8 @@ public class ImportVfcUiTest extends SetupCDTest {
         return downloadCsarArtifactFlow;
     }
 
-    private CreateVfcFlow createVFC(final String fileName) {
-        vfcCreateData = createVfcFormData();
+    private CreateVfcFlow createVFC(final String fileName, final String model, final String category) {
+        vfcCreateData = createVfcFormData(model, category);
         final CreateVfcFlow createVfcFlow = new CreateVfcFlow(webDriver, vfcCreateData, filePath + fileName);
         createVfcFlow.run(homePage);
         return createVfcFlow;
@@ -280,10 +293,11 @@ public class ImportVfcUiTest extends SetupCDTest {
         return createVfFlow;
     }
 
-    private ResourceCreateData createVfcFormData() {
+    private ResourceCreateData createVfcFormData(final String model, final String category) {
         final ResourceCreateData vfcCreateData = new ResourceCreateData();
         vfcCreateData.setRandomName(ElementFactory.getResourcePrefix() + "-VFC");
-        vfcCreateData.setCategory(ResourceCategoryEnum.NETWORK_L4.getSubCategory());
+        vfcCreateData.setModel(model);
+        vfcCreateData.setCategory(category);
         vfcCreateData.setTagList(Arrays.asList(vfcCreateData.getName(), "importVFC"));
         vfcCreateData.setDescription("aDescription");
         vfcCreateData.setVendorName("Ericsson");
index 196c560..48a01f7 100644 (file)
@@ -54,12 +54,14 @@ public class ResourceCreatePage extends ComponentPage {
     public void isLoaded() {
         super.isLoaded();
         waitForElementVisibility(By.xpath(XpathSelector.NAME_INPUT.getXpath()));
+        waitForElementVisibility(By.xpath(XpathSelector.MODEL_SELECT.getXpath()));
         waitForElementVisibility(By.xpath(XpathSelector.CATEGORY_SELECT.getXpath()));
         waitForElementVisibility(By.xpath(XpathSelector.DESCRIPTION_TEXT_AREA.getXpath()));
     }
 
     public void fillForm(final ResourceCreateData resourceCreateData) {
         fillName(resourceCreateData.getName());
+        setModel(resourceCreateData.getModel());
         setCategory(resourceCreateData.getCategory());
         defineTags(resourceCreateData.getTagList());
         fillDescription(resourceCreateData.getDescription());
@@ -82,6 +84,13 @@ public class ResourceCreatePage extends ComponentPage {
         return findElement(XpathSelector.NAME_INPUT.getXpath()).getText();
     }
 
+    private void setModel(final String model) {
+        if (model == null) {
+            return;
+        }
+        setSelectField(By.xpath(XpathSelector.MODEL_SELECT.getXpath()), model);
+    }
+
     private void setCategory(final String category) {
         setSelectField(By.xpath(XpathSelector.CATEGORY_SELECT.getXpath()), category);
     }
@@ -135,6 +144,7 @@ public class ResourceCreatePage extends ComponentPage {
     @AllArgsConstructor
     private enum XpathSelector {
         NAME_INPUT("name", "//input[@data-tests-id='%s']"),
+        MODEL_SELECT("selectModelName", "//select[@data-tests-id='%s']"),
         CATEGORY_SELECT("selectGeneralCategory", "//select[@data-tests-id='%s']"),
         TAGS("i-sdc-tag-input", "//input[@data-tests-id='%s']"),
         DESCRIPTION_TEXT_AREA("description", "//textarea[@data-tests-id='%s']"),
diff --git a/integration-tests/src/test/resources/Files/VFCs/VFC-For-Model.yaml b/integration-tests/src/test/resources/Files/VFCs/VFC-For-Model.yaml
new file mode 100644 (file)
index 0000000..8fba392
--- /dev/null
@@ -0,0 +1,21 @@
+tosca_definitions_version: tosca_simple_yaml_1_3
+
+node_types:
+  org.openecomp.resource.MyVfcForModelCI:
+    derived_from: tosca.nodes.Root
+    properties:
+      resourceType:
+        type: string
+      resourceSubtype:
+        type: string
+        required: false
+    attributes:
+      attr_1:
+        type: string
+        default: 'Integration Test'
+      attr_2:
+        type: integer
+        default: 2021
+      attr_3:
+        type: boolean
+        default: true