- // future removed from ui
- @Test(enabled = false)
- public void addUpdateDeleteSimplePropertiesToDCAEAssetTest() throws Exception{
- createDCAEAsset();
-
- ResourceGeneralPage.getLeftMenu().moveToPropertiesScreen();
- List<PropertyTypeEnum> propertyList = Arrays.asList(PropertyTypeEnum.STRING, PropertyTypeEnum.INTEGER);
- int propertiesCount = PropertiesPage.getElemenetsFromTable().size();
- for (PropertyTypeEnum prop : propertyList){
- PropertiesUIUtils.addNewProperty(prop);
- }
- assertTrue(GeneralUIUtils.checkElementsCountInTable(propertiesCount + propertyList.size(), () -> PropertiesPage.getElemenetsFromTable()));
- VfVerificator.verifyPropertiesInUI(propertyList);
- PropertiesPage.verifyTotalProperitesField(propertiesCount + propertyList.size());
-
- PropertyTypeEnum prop = propertyList.get(0);
- prop.setDescription("updatedDescription");
- prop.setValue("value");
- PropertiesUIUtils.updateProperty(prop);
-
- PropertiesPage.clickDeletePropertyArtifact(prop.getName());
- assertTrue(GeneralUIUtils.checkElementsCountInTable(propertiesCount + propertyList.size() - 1, () -> PropertiesPage.getElemenetsFromTable()));
- }
-
- // future removed from ui
- @Test(enabled = false)
- public void DCAEAssetInstancesInputScreenTest() throws Exception{
- createDCAEAsset();
-
- ResourceGeneralPage.getLeftMenu().moveToCompositionScreen();
- CanvasManager vfCanvasManager = CanvasManager.getCanvasManager();
-
- Map<String, String> elementsIntancesMap = new HashMap<String, String>();
- for (LeftPanelCanvasItems element : Arrays.asList(LeftPanelCanvasItems.DATABASE)){
- CanvasElement elementOnCanvas = vfCanvasManager.createElementOnCanvas(element);
- vfCanvasManager.clickOnCanvaElement(elementOnCanvas);
- String selectedInstanceName = CompositionPage.getSelectedInstanceName();
- elementsIntancesMap.put(selectedInstanceName, element.getValue());
- }
-
- CompositionPage.moveToInputsScreen();
- int canvasElementsSize = vfCanvasManager.getCanvasElements().size() + 2;
- List<String> inputsNamesFromTable = InputsPage.getVFCInstancesNamesFromTable();
- assertTrue(String.format("Instances count is not as Expected: %s Actual: %s", canvasElementsSize, inputsNamesFromTable.size()), inputsNamesFromTable.size() == canvasElementsSize);
-
- for (String instanceName :inputsNamesFromTable){
- String resourceName = instanceName.split(" ")[0];
- ResourceReqDetails resource = new ResourceReqDetails();
- resource.setName(resourceName);
- resource.setVersion("1.0");
- if (resourceName.equals("Port")){
- resource.setResourceType(ResourceTypeEnum.CP.toString());
- } else {
- resource.setResourceType(ResourceTypeEnum.VFC.toString());
- }
- RestResponse restResponse = RestCDUtils.getResource(resource, getUser());
- Map<String, String> propertiesNameTypeJson = ResponseParser.getPropertiesNameType(restResponse);
-
- List<WebElement> propertyRowsFromTable = InputsPage.getInstancePropertiesList(resourceName);
- assertTrue("Some properties are missing in table. Instance name is : " + resourceName, propertyRowsFromTable.size() == propertiesNameTypeJson.size());
- VfVerificator.verifyVfInputs(instanceName, propertiesNameTypeJson, propertyRowsFromTable);
-
- GeneralUIUtils.clickOnElementByText(resourceName);
- }
- }
-
- @Test
- public void addAllInformationalArtifactPlaceholdersInDCAEAssetTest() throws Exception{
- createDCAEAsset();
- ResourceGeneralPage.getLeftMenu().moveToInformationalArtifactScreen();
-
- for(InformationalArtifactsPlaceholders informArtifact : InformationalArtifactsPlaceholders.values()){
- ArtifactUIUtils.fillPlaceHolderInformationalArtifact(informArtifact, filePath,"asc_heat 0 2.yaml", informArtifact.getValue());
- }
-
- assertTrue(InformationalArtifactPage.checkElementsCountInTable(InformationalArtifactsPlaceholders.values().length));
- }
-
- @Test
- public void verifyToscaArtifactsExistDCAEAssetTest() throws Exception{
- ResourceReqDetails vfMetaData = createDCAEAsset();
-
- final int numOfToscaArtifacts = 2;
- ResourceGeneralPage.getLeftMenu().moveToToscaArtifactsScreen();
- assertTrue(ToscaArtifactsPage.checkElementsCountInTable(numOfToscaArtifacts));
-
- for(int i = 0; i < numOfToscaArtifacts; i++){
- String typeFromScreen = ToscaArtifactsPage.getArtifactType(i);
- assertTrue(typeFromScreen.equals(ArtifactTypeEnum.TOSCA_CSAR.getType()) || typeFromScreen.equals(ArtifactTypeEnum.TOSCA_TEMPLATE.getType()));
- }
-
- ToscaArtifactsPage.clickSubmitForTestingButton(vfMetaData.getName());
- VfVerificator.verifyToscaArtifactsInfo(vfMetaData, getUser());
- }
-
- @Test
- public void DCAEAssetCertificationTest() throws Exception{
- ResourceReqDetails vfMetaData = createDCAEAsset();
-
- String vfName = vfMetaData.getName();
-
- ResourceGeneralPage.clickCheckinButton(vfName);
- GeneralUIUtils.findComponentAndClick(vfName);
- ResourceGeneralPage.clickSubmitForTestingButton(vfName);
-
- reloginWithNewRole(UserRoleEnum.TESTER);
- GeneralUIUtils.findComponentAndClick(vfName);
- TesterOperationPage.certifyComponent(vfName);
-
- vfMetaData.setVersion("1.0");
- VfVerificator.verifyVFLifecycle(vfMetaData, getUser(), LifecycleStateEnum.CERTIFIED);
+ reloginWithNewRole(UserRoleEnum.DESIGNER);*/
+ ResourceReqDetails resourceMetaData = createDCAEAsset();
+
+ DeploymentArtifactPage.getLeftMenu().moveToCompositionScreen();
+ CanvasManager canvasManager = CanvasManager.getCanvasManager();
+ CanvasElement computeElement = canvasManager.createElementOnCanvas(LeftPanelCanvasItems.COMPUTE);
+ CompositionPage.searchForElement(atomicResourceMetaData.getName());
+ CanvasElement cpElement = canvasManager.createElementOnCanvas(atomicResourceMetaData.getName());
+ Assert.assertNotNull(cpElement);
+ ServiceVerificator.verifyNumOfComponentInstances(
+ resourceMetaData, "0.1",
+ expectedNumberOfComponentInstances, getUser());
+
+ canvasManager.linkElements(cpElement, computeElement);
+
+ resourceMetaData.setVersion("0.1");
+ VfVerificator.verifyLinkCreated(resourceMetaData, getUser(), 1);
+ } finally {
+ ResourceRestUtils.deleteResourceByNameAndVersion(atomicResourceMetaData.getName(), "1.0");
+ }
+
+ }
+
+ @Test
+ public void addUpdateDeleteDeploymentArtifactToDCAEAssetTest() throws Exception {
+ createDCAEAsset();
+ ResourceGeneralPage.getLeftMenu().moveToDeploymentArtifactScreen();
+
+ List<ArtifactInfo> deploymentArtifactList = new ArrayList<>();
+ deploymentArtifactList.add(new ArtifactInfo(filePath, "asc_heat 0 2.yaml", "kuku", "artifact1", ArtifactTypeEnum.OTHER.getType()));
+ deploymentArtifactList.add(new ArtifactInfo(filePath, "sample-xml-alldata-1-1.xml", "cuku", "artifact2", ArtifactTypeEnum.YANG_XML.getType()));
+ for (ArtifactInfo deploymentArtifact : deploymentArtifactList) {
+ DeploymentArtifactPage.clickAddNewArtifact();
+ ArtifactUIUtils.fillAndAddNewArtifactParameters(deploymentArtifact);
+ }
+ assertTrue("artifact table does not contain artifacts uploaded", DeploymentArtifactPage.checkElementsCountInTable(deploymentArtifactList.size()));
+
+ String newDescription = "new description";
+ DeploymentArtifactPage.clickEditArtifact(deploymentArtifactList.get(0).getArtifactLabel());
+ DeploymentArtifactPage.artifactPopup().insertDescription(newDescription);
+ DeploymentArtifactPage.artifactPopup().clickDoneButton();
+ String actualArtifactDescription = DeploymentArtifactPage.getArtifactDescription(deploymentArtifactList.get(0).getArtifactLabel());
+ assertTrue("artifact description is not updated", newDescription.equals(actualArtifactDescription));
+
+ DeploymentArtifactPage.clickDeleteArtifact(deploymentArtifactList.get(0).getArtifactLabel());
+ DeploymentArtifactPage.clickOK();
+ assertTrue("artifact " + deploymentArtifactList.get(0).getArtifactLabel() + "is not deleted", DeploymentArtifactPage.checkElementsCountInTable(deploymentArtifactList.size() - 1));
+
+ assertTrue("artifact " + deploymentArtifactList.get(1).getArtifactLabel() + "is not displayed", DeploymentArtifactPage.clickOnArtifactDescription(deploymentArtifactList.get(1).getArtifactLabel()).isDisplayed());
+ }
+
+ @Test
+ public void addUpdateDeleteInformationalArtifactDCAEAssetTest() throws Exception {
+ createDCAEAsset();
+ ResourceGeneralPage.getLeftMenu().moveToInformationalArtifactScreen();
+
+ ArtifactInfo informationalArtifact = new ArtifactInfo(filePath, "asc_heat 0 2.yaml", "kuku", "artifact1", ArtifactTypeEnum.OTHER.getType());
+ InformationalArtifactPage.clickAddNewArtifact();
+ ArtifactUIUtils.fillAndAddNewArtifactParameters(informationalArtifact);
+
+ assertTrue("artifact table does not contain artifacts uploaded", InformationalArtifactPage.checkElementsCountInTable(1));
+
+ String newDescription = "new description";
+ InformationalArtifactPage.clickEditArtifact(informationalArtifact.getArtifactLabel());
+ InformationalArtifactPage.artifactPopup().insertDescription(newDescription);
+ InformationalArtifactPage.artifactPopup().clickDoneButton();
+ String actualArtifactDescription = InformationalArtifactPage.getArtifactDescription(informationalArtifact.getArtifactLabel());
+ assertTrue("artifact description is not updated", newDescription.equals(actualArtifactDescription));
+
+ InformationalArtifactPage.clickDeleteArtifact(informationalArtifact.getArtifactLabel());
+ InformationalArtifactPage.clickOK();
+ assertTrue("artifact " + informationalArtifact.getArtifactLabel() + "is not deleted", InformationalArtifactPage.checkElementsCountInTable(0));
+ }
+
+ @Test
+ public void addPropertiesToVfcInstanceInDCAEAssetTest() throws Exception {
+
+ if (true) {
+// throw new SkipException("Open bug 373762, can't update properties on CP or VFC instance on Composition screen");
+ SetupCDTest.getExtendTest().log(Status.INFO, "Open bug 373762, can't update properties on CP or VFC instance on Composition screen");
+ }
+
+ String fileName = "importVFC_VFC15.yml";
+ ResourceReqDetails atomicResourceMetaData = ElementFactory.getDefaultResourceByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC, NormativeTypesEnum.ROOT, ResourceCategoryEnum.NETWORK_L2_3_ROUTERS, getUser());
+
+ try {
+ ResourceUIUtils.importVfc(atomicResourceMetaData, filePath, fileName, getUser());
+ ResourceGeneralPage.clickCheckinButton(atomicResourceMetaData.getName());
+
+ createDCAEAsset();
+
+ ResourceGeneralPage.getLeftMenu().moveToCompositionScreen();
+ CanvasManager vfCanvasManager = CanvasManager.getCanvasManager();
+ CompositionPage.searchForElement(atomicResourceMetaData.getName());
+ CanvasElement vfcElement = vfCanvasManager.createElementOnCanvas(atomicResourceMetaData.getName());
+
+ vfCanvasManager.clickOnCanvaElement(vfcElement);
+ CompositionPage.showPropertiesAndAttributesTab();
+ List<WebElement> properties = CompositionPage.getProperties();
+ String propertyValue = "abc123";
+ for (int i = 0; i < 2; i++) {
+ WebElement findElement = properties.get(i).findElement(By.className("i-sdc-designer-sidebar-section-content-item-property-and-attribute-label"));
+ findElement.click();
+ PropertiesPage.getPropertyPopup().insertPropertyDefaultValue(propertyValue);
+ PropertiesPage.getPropertyPopup().clickSave();
+
+ findElement = properties.get(i).findElement(By.className("i-sdc-designer-sidebar-section-content-item-property-value"));
+ assertTrue(findElement.getText().equals(propertyValue));
+ }
+ } finally {
+ ResourceRestUtils.deleteResourceByNameAndVersion(atomicResourceMetaData.getName(), "0.1");
+ }
+ }
+
+ @Test
+ public void changeInstanceVersionDCAEAssetTest() throws Exception {
+ ResourceReqDetails atomicResourceMetaData = null;
+ ResourceReqDetails vfMetaData = null;
+ CanvasManager vfCanvasManager;
+ CanvasElement vfcElement = null;
+ String fileName = "importVFC_VFC16.yml";
+ try {
+ atomicResourceMetaData = ElementFactory.getDefaultResourceByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC, NormativeTypesEnum.ROOT, ResourceCategoryEnum.NETWORK_L2_3_ROUTERS, getUser());
+ ResourceUIUtils.importVfc(atomicResourceMetaData, filePath, fileName, getUser());
+ //TODO Andrey changed to click on checkIn button
+ ResourceGeneralPage.clickCheckinButton(atomicResourceMetaData.getName());
+
+ vfMetaData = createDCAEAsset();
+ ResourceGeneralPage.getLeftMenu().moveToCompositionScreen();
+ vfCanvasManager = CanvasManager.getCanvasManager();
+ CompositionPage.searchForElement(atomicResourceMetaData.getName());
+ vfcElement = vfCanvasManager.createElementOnCanvas(atomicResourceMetaData.getName());
+ //TODO Andrey should click on certify button
+ CompositionPage.clickCertifyButton(vfMetaData.getName());
+ assert (false);
+ } catch (Exception e) {
+ String errorMessage = GeneralUIUtils.getWebElementByClassName("w-sdc-modal-caption").getText();
+ String checkUIResponseOnError = ErrorValidationUtils.checkUIResponseOnError(ActionStatus.VALIDATED_RESOURCE_NOT_FOUND.name());
+ Assert.assertTrue(errorMessage.contains(checkUIResponseOnError));
+ GeneralUIUtils.closeErrorMessage();
+ GeneralPageElements.clickOnHomeButton();
+
+ GeneralUIUtils.findComponentAndClick(atomicResourceMetaData.getName());
+ ResourceGeneralPage.clickCertifyButton(atomicResourceMetaData.getName());
+
+ GeneralUIUtils.findComponentAndClick(vfMetaData.getName());
+ ResourceGeneralPage.clickCheckoutButton();
+ ResourceGeneralPage.getLeftMenu().moveToCompositionScreen();
+ vfMetaData.setVersion("0.2");
+ vfCanvasManager = CanvasManager.getCanvasManager();
+ CompositionPage.changeComponentVersion(vfCanvasManager, vfcElement, "1.0");
+
+ //verfication
+ VfVerificator.verifyInstanceVersion(vfMetaData, getUser(), atomicResourceMetaData.getName(), "1.0");
+ } finally {
+ ResourceRestUtils.deleteResourceByNameAndVersion(atomicResourceMetaData.getName(), "1.0");
+ }
+
+ }
+
+ // future removed from ui
+ @Test(enabled = true)
+ public void addUpdateDeleteSimplePropertiesToDCAEAssetTest() throws Exception {
+ createDCAEAsset();
+
+ ResourceGeneralPage.getLeftMenu().moveToPropertiesScreen();
+ List<PropertyTypeEnum> propertyList = Arrays.asList(PropertyTypeEnum.STRING, PropertyTypeEnum.INTEGER);
+ int propertiesCount = PropertiesPage.getElemenetsFromTable().size();
+ for (PropertyTypeEnum prop : propertyList) {
+ PropertiesUIUtils.addNewProperty(prop);
+ }
+ assertTrue(GeneralUIUtils.checkElementsCountInTable(propertiesCount + propertyList.size(), () -> PropertiesPage.getElemenetsFromTable()));
+ VfVerificator.verifyPropertiesInUI(propertyList);
+ PropertiesPage.verifyTotalProperitesField(propertiesCount + propertyList.size());
+
+ PropertyTypeEnum prop = propertyList.get(0);
+ prop.setDescription("updatedDescription");
+ prop.setValue("value");
+ PropertiesUIUtils.updateProperty(prop);
+
+ PropertiesPage.clickDeletePropertyArtifact(prop.getName());
+ assertTrue(GeneralUIUtils.checkElementsCountInTable(propertiesCount + propertyList.size() - 1, () -> PropertiesPage.getElemenetsFromTable()));
+ }
+
+ // future removed from ui
+ @Test(enabled = true)
+ public void DCAEAssetInstancesInputScreenTest() throws Exception {
+ createDCAEAsset();
+
+ ResourceGeneralPage.getLeftMenu().moveToCompositionScreen();
+ CanvasManager vfCanvasManager = CanvasManager.getCanvasManager();
+
+ Map<String, String> elementsIntancesMap = new HashMap<String, String>();
+ for (LeftPanelCanvasItems element : Arrays.asList(LeftPanelCanvasItems.DATABASE)) {
+ CanvasElement elementOnCanvas = vfCanvasManager.createElementOnCanvas(element);
+ vfCanvasManager.clickOnCanvaElement(elementOnCanvas);
+ String selectedInstanceName = CompositionPage.getSelectedInstanceName();
+ elementsIntancesMap.put(selectedInstanceName, element.getValue());
+ }
+
+ CompositionPage.moveToInputsScreen();
+ int canvasElementsSize = vfCanvasManager.getCanvasElements().size() + 2;
+ List<String> inputsNamesFromTable = InputsPage.getVFCInstancesNamesFromTable();
+ assertTrue(String.format("Instances count is not as Expected: %s Actual: %s", canvasElementsSize, inputsNamesFromTable.size()), inputsNamesFromTable.size() == canvasElementsSize);
+
+ for (String instanceName : inputsNamesFromTable) {
+ String resourceName = instanceName.split(" ")[0];
+ ResourceReqDetails resource = new ResourceReqDetails();
+ resource.setName(resourceName);
+ resource.setVersion("1.0");
+ if (resourceName.equals("Port")) {
+ resource.setResourceType(ResourceTypeEnum.CP.toString());
+ } else {
+ resource.setResourceType(ResourceTypeEnum.VFC.toString());
+ }
+ RestResponse restResponse = RestCDUtils.getResource(resource, getUser());
+ Map<String, String> propertiesNameTypeJson = ResponseParser.getPropertiesNameType(restResponse);
+
+ List<WebElement> propertyRowsFromTable = InputsPage.getInstancePropertiesList(resourceName);
+ assertTrue("Some properties are missing in table. Instance name is : " + resourceName, propertyRowsFromTable.size() == propertiesNameTypeJson.size());
+ VfVerificator.verifyVfInputs(instanceName, propertiesNameTypeJson, propertyRowsFromTable);
+
+ GeneralUIUtils.clickOnElementByText(resourceName);
+ }
+ }
+
+ @Test
+ public void addAllInformationalArtifactPlaceholdersInDCAEAssetTest() throws Exception {
+ createDCAEAsset();
+ ResourceGeneralPage.getLeftMenu().moveToInformationalArtifactScreen();
+ int fileNameCounter = 0;
+ String fileName;
+ for (InformationalArtifactsPlaceholders informArtifact : InformationalArtifactsPlaceholders.values()) {
+ fileName = HEAT_FILE_YAML_NAME_PREFIX + fileNameCounter + HEAT_FILE_YAML_NAME_SUFFIX;
+ ArtifactUIUtils.fillPlaceHolderInformationalArtifact(informArtifact,
+ FileHandling.getFilePath("uniqueFileNames"), fileName, informArtifact.getValue());
+ fileNameCounter++;
+ }
+
+ assertThat(InformationalArtifactPage.checkElementsCountInTable(InformationalArtifactsPlaceholders.values().length)).isTrue();
+ }
+
+ @Test
+ public void verifyToscaArtifactsExistDCAEAssetTest() throws Exception {
+ ResourceReqDetails vfMetaData = createDCAEAsset();
+
+ final int numOfToscaArtifacts = 2;
+ ResourceGeneralPage.getLeftMenu().moveToToscaArtifactsScreen();
+ assertTrue(ToscaArtifactsPage.checkElementsCountInTable(numOfToscaArtifacts));
+
+ for (int i = 0; i < numOfToscaArtifacts; i++) {
+ String typeFromScreen = ToscaArtifactsPage.getArtifactType(i);
+ assertTrue(typeFromScreen.equals(ArtifactTypeEnum.TOSCA_CSAR.getType()) || typeFromScreen.equals(ArtifactTypeEnum.TOSCA_TEMPLATE.getType()));
+ }
+ //TODO Andrey should click on certify button
+ ToscaArtifactsPage.clickCertifyButton(vfMetaData.getName());
+ vfMetaData.setVersion("1.0");
+ VfVerificator.verifyToscaArtifactsInfo(vfMetaData, getUser());
+ }
+
+ @Test
+ public void DCAEAssetCertificationTest() throws Exception {
+ ResourceReqDetails vfMetaData = createDCAEAsset();
+
+ String vfName = vfMetaData.getName();
+
+ ResourceGeneralPage.clickCheckinButton(vfName);
+ GeneralUIUtils.findComponentAndClick(vfName);
+ //TODO Andrey should click on certify button
+ ResourceGeneralPage.clickCertifyButton(vfName);