re base code
[sdc.git] / ui-ci / src / main / java / org / openecomp / sdc / ci / tests / execute / sanity / Vf.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.openecomp.sdc.ci.tests.execute.sanity;
22
23 import com.aventstack.extentreports.Status;
24 import org.openecomp.sdc.be.dao.api.ActionStatus;
25 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
26 import org.openecomp.sdc.be.model.LifecycleStateEnum;
27 import org.openecomp.sdc.be.model.Resource;
28 import org.openecomp.sdc.ci.tests.datatypes.*;
29 import org.openecomp.sdc.ci.tests.datatypes.DataTestIdEnum.InformationalArtifactsPlaceholders;
30 import org.openecomp.sdc.ci.tests.datatypes.DataTestIdEnum.LeftPanelCanvasItems;
31 import org.openecomp.sdc.ci.tests.datatypes.DataTestIdEnum.ResourceMetadataEnum;
32 import org.openecomp.sdc.ci.tests.datatypes.enums.ArtifactTypeEnum;
33 import org.openecomp.sdc.ci.tests.datatypes.enums.NormativeTypesEnum;
34 import org.openecomp.sdc.ci.tests.datatypes.enums.ResourceCategoryEnum;
35 import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
36 import org.openecomp.sdc.ci.tests.execute.setup.SetupCDTest;
37 import org.openecomp.sdc.ci.tests.pages.*;
38 import org.openecomp.sdc.ci.tests.utilities.*;
39 import org.openecomp.sdc.ci.tests.utils.general.AtomicOperationUtils;
40 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
41 import org.openecomp.sdc.ci.tests.utils.rest.ResourceRestUtils;
42 import org.openecomp.sdc.ci.tests.utils.validation.ErrorValidationUtils;
43 import org.openecomp.sdc.ci.tests.verificator.ServiceVerificator;
44 import org.openecomp.sdc.ci.tests.verificator.VfModuleVerificator;
45 import org.openecomp.sdc.ci.tests.verificator.VfVerificator;
46 import org.openqa.selenium.By;
47 import org.openqa.selenium.WebElement;
48 import org.testng.AssertJUnit;
49 import org.testng.annotations.BeforeClass;
50 import org.testng.annotations.BeforeMethod;
51 import org.testng.annotations.Test;
52
53 import java.awt.*;
54 import java.util.ArrayList;
55 import java.util.List;
56
57
58 public class Vf extends SetupCDTest {
59
60         private String filePath;
61         @BeforeClass
62         public void beforeClass(){
63                 filePath = FileHandling.getFilePath("");
64         }
65         
66         @BeforeMethod
67         public void beforeTest(){
68                 System.out.println("File repository is : " + filePath);
69                 getExtendTest().log(Status.INFO, "File repository is : " + filePath);
70         }
71         
72
73         @Test
74         public void vfcLinkedToComputeInVfFlow() throws Exception {
75                 String fileName = "vFW_VFC2.yml";
76                 ResourceReqDetails atomicResourceMetaData = ElementFactory.getDefaultResourceByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC, NormativeTypesEnum.ROOT, ResourceCategoryEnum.NETWORK_L2_3_ROUTERS, getUser());
77                 
78                 try{
79                         ResourceUIUtils.importVfc(atomicResourceMetaData, filePath, fileName, getUser());
80                         ResourceGeneralPage.clickCertifyButton(atomicResourceMetaData.getName());
81                         
82                         ResourceReqDetails vfMetaData = ElementFactory.getDefaultResourceByType(ResourceTypeEnum.VF, getUser());
83                         ResourceUIUtils.createVF(vfMetaData, getUser());
84         
85                         DeploymentArtifactPage.getLeftMenu().moveToCompositionScreen();
86                         CanvasManager canvasManager = CanvasManager.getCanvasManager();
87                         CompositionPage.searchForElement(String.format("%s %s", LeftPanelCanvasItems.COMPUTE.getValue() , "1.0"));
88                         CanvasElement computeElement = canvasManager.createElementOnCanvas(LeftPanelCanvasItems.COMPUTE);
89                         CompositionPage.searchForElement(atomicResourceMetaData.getName());
90                         CanvasElement cpElement = canvasManager.createElementOnCanvas(atomicResourceMetaData.getName());
91                         AssertJUnit.assertNotNull(cpElement);
92                         ServiceVerificator.verifyNumOfComponentInstances(vfMetaData, "0.1", 2, getUser());
93
94                         canvasManager.linkElements(computeElement.getElementNameOnCanvas() , cpElement.getElementNameOnCanvas());
95         
96                         vfMetaData.setVersion("0.1");
97                         VfVerificator.verifyLinkCreated(vfMetaData, getUser(), 1);
98                 }
99                 finally{
100                         ResourceRestUtils.deleteResourceByNameAndVersion(atomicResourceMetaData.getName(), "1.0");
101                 }
102
103         }
104
105         @Test
106         public void addUpdateDeleteDeploymentArtifactToVfTest() throws Exception {
107                 ResourceReqDetails vfMetaData = ElementFactory.getDefaultResourceByType(ResourceTypeEnum.VF, getUser());
108                 ResourceUIUtils.createVF(vfMetaData, getUser());
109
110                 ResourceGeneralPage.getLeftMenu().moveToDeploymentArtifactScreen();
111
112                 List<ArtifactInfo> deploymentArtifactList = new ArrayList<>();
113                 deploymentArtifactList.add(new ArtifactInfo(filePath, "asc_heat 0 2.yaml", "kuku", "artifact1", "OTHER"));
114                 deploymentArtifactList.add(new ArtifactInfo(filePath, "sample-xml-alldata-1-1.xml", "cuku", "artifact2", "YANG_XML"));
115                 for (ArtifactInfo deploymentArtifact : deploymentArtifactList) {
116                         DeploymentArtifactPage.clickAddNewArtifact();
117                         ArtifactUIUtils.fillAndAddNewArtifactParameters(deploymentArtifact);
118                 }
119                 AssertJUnit.assertTrue("artifact table does not contain artifacts uploaded", DeploymentArtifactPage.checkElementsCountInTable(deploymentArtifactList.size()));
120                 
121                 String newDescription = "new description";
122                 DeploymentArtifactPage.clickEditArtifact(deploymentArtifactList.get(0).getArtifactLabel());
123                 DeploymentArtifactPage.artifactPopup().insertDescription(newDescription);
124                 DeploymentArtifactPage.artifactPopup().clickDoneButton();
125                 String actualArtifactDescription = DeploymentArtifactPage.getArtifactDescription(deploymentArtifactList.get(0).getArtifactLabel());
126                 AssertJUnit.assertTrue("artifact description is not updated", newDescription.equals(actualArtifactDescription));
127                 
128                 DeploymentArtifactPage.clickDeleteArtifact(deploymentArtifactList.get(0).getArtifactLabel());
129                 DeploymentArtifactPage.clickOK();
130                 AssertJUnit.assertTrue("artifact "+ deploymentArtifactList.get(0).getArtifactLabel() + "is not deleted", DeploymentArtifactPage.checkElementsCountInTable(deploymentArtifactList.size() - 1));
131                 
132                 AssertJUnit.assertTrue("artifact "+ deploymentArtifactList.get(1).getArtifactLabel() + "is not displayed", DeploymentArtifactPage.clickOnArtifactDescription(deploymentArtifactList.get(1).getArtifactLabel()).isDisplayed());
133         }
134         
135
136         @Test
137         public void addUpdateDeleteInformationalArtifact() throws Exception {
138                 ResourceReqDetails vfMetaData = ElementFactory.getDefaultResourceByType(ResourceTypeEnum.VF, getUser());
139                 ResourceUIUtils.createVF(vfMetaData, getUser());
140
141                 ResourceGeneralPage.getLeftMenu().moveToInformationalArtifactScreen();
142                 
143                 ArtifactInfo informationalArtifact = new ArtifactInfo(filePath, "asc_heat 0 2.yaml", "kuku", "artifact1", "OTHER");
144                 InformationalArtifactPage.clickAddNewArtifact();
145                 ArtifactUIUtils.fillAndAddNewArtifactParameters(informationalArtifact);
146                 
147                 AssertJUnit.assertTrue("artifact table does not contain artifacts uploaded", InformationalArtifactPage.checkElementsCountInTable(1));
148                 
149                 String newDescription = "new description";
150                 InformationalArtifactPage.clickEditArtifact(informationalArtifact.getArtifactLabel());
151                 InformationalArtifactPage.artifactPopup().insertDescription(newDescription);
152                 InformationalArtifactPage.artifactPopup().clickDoneButton();
153                 String actualArtifactDescription = InformationalArtifactPage.getArtifactDescription(informationalArtifact.getArtifactLabel());
154                 AssertJUnit.assertTrue("artifact description is not updated", newDescription.equals(actualArtifactDescription));
155                 
156                 InformationalArtifactPage.clickDeleteArtifact(informationalArtifact.getArtifactLabel());
157                 InformationalArtifactPage.clickOK();
158                 AssertJUnit.assertTrue("artifact "+ informationalArtifact.getArtifactLabel() + "is not deleted", InformationalArtifactPage.checkElementsCountInTable(0));
159         }
160
161
162         @Test
163         public void addPropertiesToVfcInstanceInVfTest() throws Exception {
164                 
165                 if(true){
166 //                      throw new SkipException("Open bug 373762, can't update properties on CP or VFC instance  on Composition screen");
167                         SetupCDTest.getExtendTest().log(Status.INFO, "Open bug 373762, can't update properties on CP or VFC instance  on Composition screen");
168                 }
169                 
170                 String fileName = "vFW_VFC.yml";
171                 ResourceReqDetails atomicResourceMetaData = ElementFactory.getDefaultResourceByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC, NormativeTypesEnum.ROOT, ResourceCategoryEnum.NETWORK_L2_3_ROUTERS, getUser());
172                 
173                 try{
174                         ResourceUIUtils.importVfc(atomicResourceMetaData, filePath, fileName, getUser());
175                         ResourceGeneralPage.clickCheckinButton(atomicResourceMetaData.getName());
176         
177                         ResourceReqDetails vfMetaData = ElementFactory.getDefaultResourceByType(ResourceTypeEnum.VF, getUser());
178                         ResourceUIUtils.createVF(vfMetaData, getUser());
179         
180                         ResourceGeneralPage.getLeftMenu().moveToCompositionScreen();
181                         CanvasManager vfCanvasManager = CanvasManager.getCanvasManager();
182                         CompositionPage.searchForElement(atomicResourceMetaData.getName());
183                         CanvasElement vfcElement = vfCanvasManager.createElementOnCanvas(atomicResourceMetaData.getName());
184         
185                         vfCanvasManager.clickOnCanvaElement(vfcElement);
186                         CompositionPage.showPropertiesAndAttributesTab();
187                         List<WebElement> properties = CompositionPage.getProperties();
188                         String propertyValue = "abc123";
189                         for (int i = 0; i < 2; i++) {
190                                 WebElement findElement = properties.get(i).findElement(By.className("i-sdc-designer-sidebar-section-content-item-property-and-attribute-label"));
191                                 findElement.click();
192                                 PropertiesPage.getPropertyPopup().insertPropertyDefaultValue(propertyValue);
193                                 PropertiesPage.getPropertyPopup().clickSave();
194                                 
195                                 
196                                 findElement = properties.get(i).findElement(By.className("i-sdc-designer-sidebar-section-content-item-property-value"));
197                                 AssertJUnit.assertTrue(findElement.getText().equals(propertyValue));
198                         }
199                 }
200                 finally{
201                         ResourceRestUtils.deleteResourceByNameAndVersion(atomicResourceMetaData.getName(), "0.1");
202                 }
203         }
204         
205         @Test
206         public void changeInstanceVersionTest() throws Exception{
207                 
208                 ResourceReqDetails atomicResourceMetaData = null;
209                 ResourceReqDetails vfMetaData = null;
210                 CanvasManager vfCanvasManager;
211                 CanvasElement vfcElement = null;
212                 String fileName = "vFW_VFC3.yml";
213                 try{
214                         atomicResourceMetaData = ElementFactory.getDefaultResourceByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC, NormativeTypesEnum.ROOT, ResourceCategoryEnum.NETWORK_L2_3_ROUTERS, getUser());
215                         ResourceUIUtils.importVfc(atomicResourceMetaData, filePath, fileName, getUser());
216                         ResourceGeneralPage.clickCheckinButton(atomicResourceMetaData.getName());
217                         
218                         vfMetaData = ElementFactory.getDefaultResourceByType(ResourceTypeEnum.VF, getUser());
219                         ResourceUIUtils.createVF(vfMetaData, getUser());
220                         ResourceGeneralPage.getLeftMenu().moveToCompositionScreen();
221                         vfCanvasManager = CanvasManager.getCanvasManager();
222                         CompositionPage.searchForElement(atomicResourceMetaData.getName());
223                         vfcElement = vfCanvasManager.createElementOnCanvas(atomicResourceMetaData.getName());
224
225                         CompositionPage.clickCertifyButton(vfMetaData.getName());
226                         assert(false);
227                 }
228                 catch(Exception e){ 
229                         String errorMessage = GeneralUIUtils.getWebElementByClassName("w-sdc-modal-caption").getText();
230                         String checkUIResponseOnError = ErrorValidationUtils.checkUIResponseOnError(ActionStatus.VALIDATED_RESOURCE_NOT_FOUND.name());
231                         AssertJUnit.assertTrue(errorMessage.contains(checkUIResponseOnError));
232                         
233                         
234                         GeneralUIUtils.findComponentAndClick(vfMetaData.getName());
235                         ResourceGeneralPage.getLeftMenu().moveToCompositionScreen();
236                         vfCanvasManager = CanvasManager.getCanvasManager();
237                         CompositionPage.changeComponentVersion(vfCanvasManager, vfcElement, "1.0");
238                         
239                         //verfication
240                         VfVerificator.verifyInstanceVersion(vfMetaData, getUser(), atomicResourceMetaData.getName(), "1.0");
241                 }
242                         
243                 finally{
244                         ResourceRestUtils.deleteResourceByNameAndVersion(atomicResourceMetaData.getName(), "1.0");
245                 }
246                 
247         }
248
249
250         @Test
251         public void addAllInformationalArtifactPlaceholdersInVfTest() throws Exception{
252                 
253                 ResourceReqDetails vfMetaData = ElementFactory.getDefaultResourceByTypeNormTypeAndCatregory(ResourceTypeEnum.VF, NormativeTypesEnum.ROOT, ResourceCategoryEnum.NETWORK_L2_3_ROUTERS, getUser());
254                 ResourceUIUtils.createVF(vfMetaData, getUser());
255
256                 ResourceGeneralPage.getLeftMenu().moveToInformationalArtifactScreen();
257                 
258                 for(InformationalArtifactsPlaceholders informArtifact : InformationalArtifactsPlaceholders.values()){
259                         ArtifactUIUtils.fillPlaceHolderInformationalArtifact(informArtifact, filePath,"asc_heat 0 2.yaml", informArtifact.getValue());
260                 }
261                 
262                 AssertJUnit.assertTrue(InformationalArtifactPage.checkElementsCountInTable(InformationalArtifactsPlaceholders.values().length));
263         }
264         
265         @Test
266         public void verifyToscaArtifactsExist() throws Exception{
267                 ResourceReqDetails vfMetaData = ElementFactory.getDefaultResourceByType(ResourceTypeEnum.VF, getUser());
268                 ResourceUIUtils.createVF(vfMetaData, getUser());
269                 
270                 final int numOfToscaArtifacts = 2;
271                 ResourceGeneralPage.getLeftMenu().moveToToscaArtifactsScreen();
272                 AssertJUnit.assertTrue(ToscaArtifactsPage.checkElementsCountInTable(numOfToscaArtifacts));
273                 
274                 for(int i = 0; i < numOfToscaArtifacts; i++){
275                         String typeFromScreen = ToscaArtifactsPage.getArtifactType(i);
276                         AssertJUnit.assertTrue(typeFromScreen.equals(ArtifactTypeEnum.TOSCA_CSAR.getType()) || typeFromScreen.equals(ArtifactTypeEnum.TOSCA_TEMPLATE.getType()));
277                 }
278                 ToscaArtifactsPage.clickCertifyButton(vfMetaData.getName());
279                 VfVerificator.verifyToscaArtifactsInfo(vfMetaData, getUser());
280         }
281         
282         @Test
283         public void vfCertificationTest() throws Exception{
284                 ResourceReqDetails vfMetaData = ElementFactory.getDefaultResourceByType(ResourceTypeEnum.VF, getUser());
285                 ResourceUIUtils.createVF(vfMetaData, getUser());
286                 
287                 String vfName = vfMetaData.getName();
288                 
289                 ResourceGeneralPage.clickCheckinButton(vfName);
290                 GeneralUIUtils.findComponentAndClick(vfName);
291                 ResourceGeneralPage.clickCertifyButton(vfName);
292                 
293                 vfMetaData.setVersion("1.0");
294                 VfVerificator.verifyVFLifecycle(vfMetaData, getUser(), LifecycleStateEnum.CERTIFIED);
295                 
296                 GeneralUIUtils.findComponentAndClick(vfName);
297                 VfVerificator.verifyVfLifecycleInUI(LifeCycleStateEnum.CERTIFIED);
298         }
299         
300         @Test
301         public void deleteVfCheckedoutTest() throws Exception{
302                 ResourceReqDetails vfMetaData = ElementFactory.getDefaultResourceByType(ResourceTypeEnum.VF, getUser());
303                 ResourceUIUtils.createVF(vfMetaData, getUser());
304                 
305                 GeneralPageElements.clickTrashButtonAndConfirm();
306                 
307                 vfMetaData.setVersion("0.1");
308                 VfVerificator.verifyVfDeleted(vfMetaData, getUser());
309         }
310         
311         @Test
312         public void revertVfMetadataTest() throws Exception{
313                 ResourceReqDetails vfMetaData = ElementFactory.getDefaultResourceByType(ResourceTypeEnum.VF, getUser());
314                 ResourceUIUtils.createVF(vfMetaData, getUser());
315                 
316                 ResourceReqDetails vfRevertDetails = new ResourceReqDetails();
317                 vfRevertDetails.setName("ciUpdatedName");
318                 vfRevertDetails.setDescription("kuku");
319                 vfRevertDetails.setCategories(vfMetaData.getCategories());
320                 vfRevertDetails.setVendorName("updatedVendor");
321                 vfRevertDetails.setVendorRelease("updatedRelease");
322                 ResourceUIUtils.fillResourceGeneralInformationPage(vfRevertDetails, getUser(), false);
323                 
324                 GeneralPageElements.clickRevertButton();
325                 
326                 VfVerificator.verifyVFMetadataInUI(vfMetaData);
327                 
328         }
329         
330         @Test
331         public void addDeploymentArtifactInCompositionScreenTest() throws Exception{
332                 ResourceReqDetails vfMetaData = ElementFactory.getDefaultResourceByType(ResourceTypeEnum.VF, getUser());
333                 ResourceUIUtils.createVF(vfMetaData, getUser());
334                 
335                 ResourceGeneralPage.getLeftMenu().moveToCompositionScreen();
336                 
337                 ArtifactInfo artifact = new ArtifactInfo(filePath, "Heat-File.yaml", "kuku", "artifact3","OTHER");
338                 CompositionPage.showDeploymentArtifactTab();
339                 CompositionPage.clickAddArtifactButton();
340                 ArtifactUIUtils.fillAndAddNewArtifactParameters(artifact, CompositionPage.artifactPopup());
341                 
342                 List<WebElement> actualArtifactList = GeneralUIUtils.getWebElementsListBy(By.className("i-sdc-designer-sidebar-section-content-item-artifact"));
343                 AssertJUnit.assertEquals(1, actualArtifactList.size());
344         }
345         
346         // future removed from ui
347
348         @Test
349         public void addDeploymentArtifactAndVerifyInCompositionScreen() throws Exception{               
350                 ResourceReqDetails vfMetaData = ElementFactory.getDefaultResourceByType(ResourceTypeEnum.VF, getUser());
351                 ResourceUIUtils.createVF(vfMetaData, getUser());
352                 
353                 ResourceGeneralPage.getLeftMenu().moveToDeploymentArtifactScreen();
354
355                 ArtifactInfo deploymentArtifact = new ArtifactInfo(filePath, "asc_heat 0 2.yaml", "kuku", "artifact1", "OTHER");
356                 DeploymentArtifactPage.clickAddNewArtifact();
357                 ArtifactUIUtils.fillAndAddNewArtifactParameters(deploymentArtifact);
358                 AssertJUnit.assertTrue(DeploymentArtifactPage.checkElementsCountInTable(1));
359                 
360                 ResourceGeneralPage.getLeftMenu().moveToCompositionScreen();
361                 
362                 CompositionPage.showDeploymentArtifactTab();
363                 List<WebElement> deploymentArtifactsFromScreen = CompositionPage.getDeploymentArtifacts();
364                 AssertJUnit.assertTrue(1 == deploymentArtifactsFromScreen.size());
365                 
366                 String actualArtifactFileName = deploymentArtifactsFromScreen.get(0).getText();
367                 AssertJUnit.assertTrue("asc_heat-0-2.yaml".equals(actualArtifactFileName));
368         }
369         
370         @Test
371         public void checkoutVfTest() throws Exception{
372                 ResourceReqDetails vfMetaData = ElementFactory.getDefaultResourceByType(ResourceTypeEnum.VF, getUser());
373                 ResourceUIUtils.createVF(vfMetaData, getUser());
374                 
375                 ResourceGeneralPage.clickCheckinButton(vfMetaData.getName());
376                 GeneralUIUtils.findComponentAndClick(vfMetaData.getName());
377                 GeneralPageElements.clickCheckoutButton();
378                 
379                 vfMetaData.setVersion("0.2");
380                 VfVerificator.verifyVFLifecycle(vfMetaData, getUser(), LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT);
381                 VfVerificator.verifyVfLifecycleInUI(LifeCycleStateEnum.CHECKOUT);
382
383                 ResourceGeneralPage.clickCertifyButton(vfMetaData.getName());
384                 GeneralUIUtils.findComponentAndClick(vfMetaData.getName());
385                 ResourceGeneralPage.clickCheckoutButton();
386                 
387                 vfMetaData.setVersion("1.1");
388                 vfMetaData.setUniqueId(null);
389                 VfVerificator.verifyVFLifecycle(vfMetaData, getUser(), LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT);
390                 VfVerificator.verifyVfLifecycleInUI(LifeCycleStateEnum.CHECKOUT);
391         }
392         
393         @Test
394         public void deleteInstanceFromVfCanvas() throws Exception{
395                 ResourceReqDetails vfMetaData = ElementFactory.getDefaultResourceByType(ResourceTypeEnum.VF, getUser());
396                 ResourceUIUtils.createVF(vfMetaData, getUser());
397                 
398                 ResourceGeneralPage.getLeftMenu().moveToCompositionScreen();
399                 CanvasManager vfCanvasManager = CanvasManager.getCanvasManager();
400                 CanvasElement computeElement = vfCanvasManager.createElementOnCanvas(LeftPanelCanvasItems.COMPUTE);
401                 CanvasElement portElement = vfCanvasManager.createElementOnCanvas(LeftPanelCanvasItems.PORT);
402                 
403                 vfCanvasManager.clickOnCanvaElement(computeElement);
404                 vfCanvasManager.deleteElementFromCanvas(computeElement);
405                 
406                 VfVerificator.verifyNumOfComponentInstances(vfMetaData, 1, getUser());
407         }
408         
409         @Test
410         public void changeInstanceNameInVfTest() throws Exception{
411                 ResourceReqDetails vfMetaData = ElementFactory.getDefaultResourceByType(ResourceTypeEnum.VF, getUser());
412                 ResourceUIUtils.createVF(vfMetaData, getUser());
413                 
414                 ResourceGeneralPage.getLeftMenu().moveToCompositionScreen();
415                 CanvasManager vfCanvasManager = CanvasManager.getCanvasManager();
416                 CanvasElement computeElement = vfCanvasManager.createElementOnCanvas(LeftPanelCanvasItems.COMPUTE);
417                 
418                 String updatedInstanceName = "updatedName";
419                 vfCanvasManager.updateElementNameInCanvas(computeElement, updatedInstanceName);
420                 
421                 String actualSelectedInstanceName = CompositionPage.getSelectedInstanceName();
422                 AssertJUnit.assertTrue(updatedInstanceName.equals(actualSelectedInstanceName));
423         }
424         
425         
426         @Test
427         public void submitVfForTestingWithNonCertifiedAsset() throws Exception{
428                 String fileName = "vFW_VFC4.yml";
429
430                 ResourceReqDetails atomicResourceMetaData = ElementFactory.getDefaultResourceByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC, NormativeTypesEnum.ROOT, ResourceCategoryEnum.NETWORK_L2_3_ROUTERS, getUser());
431                 ResourceUIUtils.importVfc(atomicResourceMetaData, filePath, fileName, getUser());
432                 ResourceGeneralPage.clickCheckinButton(atomicResourceMetaData.getName());
433                 
434                 ResourceReqDetails vfMetaData = ElementFactory.getDefaultResourceByType(ResourceTypeEnum.VF, getUser());
435                 ResourceUIUtils.createVF(vfMetaData, getUser());
436                 DeploymentArtifactPage.getLeftMenu().moveToCompositionScreen();
437                 CanvasManager canvasManager = CanvasManager.getCanvasManager();
438                 CompositionPage.searchForElement(atomicResourceMetaData.getName());
439                 canvasManager.createElementOnCanvas(atomicResourceMetaData.getName());
440                 
441                 try{
442                         CompositionPage.clickCertifyButton(vfMetaData.getName());
443                         assert(false);
444                 }
445                 catch(Exception e){ 
446                         String errorMessage = GeneralUIUtils.getWebElementByClassName("w-sdc-modal-caption").getText();
447                         String checkUIResponseOnError = ErrorValidationUtils.checkUIResponseOnError(ActionStatus.VALIDATED_RESOURCE_NOT_FOUND.name());
448                         AssertJUnit.assertTrue(errorMessage.contains(checkUIResponseOnError));  
449                 }
450                 finally{
451                         ResourceRestUtils.deleteResourceByNameAndVersion(atomicResourceMetaData.getName(), "0.1");
452                 }
453         }
454         
455         @Test
456         public void isDisabledAndReadOnlyInCheckin() throws Exception{
457                 ResourceReqDetails vfMetaData = ElementFactory.getDefaultResourceByType(ResourceTypeEnum.VF, getUser());
458                 ResourceUIUtils.createVF(vfMetaData, getUser());
459                 ResourceGeneralPage.clickCheckinButton(vfMetaData.getName());
460                 GeneralUIUtils.findComponentAndClick(vfMetaData.getName());
461                 
462                 ResourceMetadataEnum[] fieldsForCheck = {ResourceMetadataEnum.RESOURCE_NAME,
463                                 ResourceMetadataEnum.DESCRIPTION, ResourceMetadataEnum.VENDOR_NAME, ResourceMetadataEnum.VENDOR_RELEASE,
464                                 ResourceMetadataEnum.CONTACT_ID};
465
466                 for (ResourceMetadataEnum field: fieldsForCheck){
467                         AssertJUnit.assertTrue(GeneralUIUtils.isElementReadOnly(field.getValue()));
468                 }
469                 
470                 AssertJUnit.assertTrue(GeneralUIUtils.isElementDisabled(ResourceMetadataEnum.CATEGORY.getValue()));
471                 AssertJUnit.assertTrue(GeneralUIUtils.isElementDisabled(DataTestIdEnum.LifeCyleChangeButtons.CREATE.getValue()));
472         }
473         
474         @Test
475         public void exportToscaWithModulePropertiesVFTest() throws AWTException, Exception {
476                 String vnfFile = "1-Vf-zrdm5bpxmc02-092017-(MOBILITY)_v2.0.zip";
477                 ResourceReqDetails resourceReqDetails = ElementFactory.getDefaultResource();//getResourceReqDetails(ComponentConfigurationTypeEnum.DEFAULT);
478                 VendorSoftwareProductObject vendorSoftwareProductObject= OnboardingUiUtils.onboardAndValidate(resourceReqDetails, FileHandling.getVnfRepositoryPath(), vnfFile, getUser());
479                 String vspName = vendorSoftwareProductObject.getName();
480                 ResourceGeneralPage.clickSubmitForTestingButton(vspName);
481                 Resource resource = AtomicOperationUtils.getResourceObjectByNameAndVersion(UserRoleEnum.DESIGNER, vspName, "0.1");
482                 VfModuleVerificator.validateSpecificModulePropertiesFromRequest(resource);
483         }
484         
485         @Test
486         public void canvasTestJS() throws Exception{
487                 ResourceReqDetails vfMetaData = ElementFactory.getDefaultResourceByType(ResourceTypeEnum.VF, getUser());
488                 ResourceUIUtils.createVF(vfMetaData, getUser());
489                 
490                 ResourceGeneralPage.getLeftMenu().moveToCompositionScreen();
491                 CanvasManager canvasManager = CanvasManager.getCanvasManager();
492                 CanvasElement computeElement = canvasManager.createElementOnCanvas(LeftPanelCanvasItems.COMPUTE);
493                 CanvasElement portElement = canvasManager.createElementOnCanvas(LeftPanelCanvasItems.PORT);
494                                 
495                 canvasManager.linkElements(computeElement.getElementNameOnCanvas(), portElement.getElementNameOnCanvas());
496                                 
497         }
498
499
500         @Override
501         protected UserRoleEnum getRole() {
502                 return UserRoleEnum.DESIGNER;
503         }
504
505 }