Fix for radio buttons
[sdc.git] / ui-ci-dev / src / main / java / org / openecomp / sdc / uici / tests / execute / service / ServiceBasicTests.java
1 package org.openecomp.sdc.uici.tests.execute.service;
2
3 import static org.testng.AssertJUnit.assertTrue;
4
5 import java.util.Arrays;
6
7 import org.apache.http.HttpStatus;
8 import org.openecomp.sdc.uici.tests.datatypes.CanvasElement;
9 import org.openecomp.sdc.uici.tests.datatypes.CanvasManager;
10 import org.openecomp.sdc.uici.tests.datatypes.CreateAndUpdateStepsEnum;
11 import org.openecomp.sdc.uici.tests.datatypes.DataTestIdEnum;
12 import org.openecomp.sdc.uici.tests.datatypes.DataTestIdEnum.LeftPanelCanvasItems;
13 import org.openecomp.sdc.uici.tests.execute.base.SetupCDTest;
14 import org.openecomp.sdc.uici.tests.utilities.ArtifactUIUtils;
15 import org.openecomp.sdc.uici.tests.utilities.FileHandling;
16 import org.openecomp.sdc.uici.tests.utilities.GeneralUIUtils;
17 import org.openecomp.sdc.uici.tests.utilities.ResourceUIUtils;
18 import org.openecomp.sdc.uici.tests.utilities.RestCDUtils;
19 import org.openecomp.sdc.uici.tests.utilities.ServiceUIUtils;
20 import org.openecomp.sdc.uici.tests.verificator.ServiceVerificator;
21 import org.openecomp.sdc.uici.tests.verificator.VfVerificator;
22 import org.openqa.selenium.WebElement;
23 import org.testng.annotations.Test;
24
25 import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails;
26 import org.openecomp.sdc.ci.tests.datatypes.ServiceReqDetails;
27 import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
28 import org.openecomp.sdc.common.api.ArtifactTypeEnum;
29
30 public class ServiceBasicTests extends SetupCDTest {
31
32         @Test
33         public void testCreateService() {
34                 ServiceReqDetails createServiceInUI = ServiceUIUtils.createServiceInUI(getUser());
35                 ServiceVerificator.verifyServiceCreated(createServiceInUI, getUser());
36         }
37
38         @Test
39         public void testLinkTwoRI() {
40
41                 // create 1st VF
42                 ResourceReqDetails resourceOne = ResourceUIUtils.createResourceInUI(getUser());
43                 assertTrue(RestCDUtils.getResource(resourceOne).getErrorCode() == HttpStatus.SC_OK);
44                 // add LoadBalancer to resource
45                 GeneralUIUtils.moveToStep(CreateAndUpdateStepsEnum.COMPOSITION);
46                 CanvasManager canvasManager = CanvasManager.getCanvasManager();
47                 canvasManager.createElementOnCanvas(LeftPanelCanvasItems.OBJECT_STORAGE);
48                 GeneralUIUtils.checkIn();
49
50                 // create 2nd VF
51                 ResourceReqDetails resourceTwo = ResourceUIUtils.createResourceInUI(getUser());
52                 assertTrue(RestCDUtils.getResource(resourceTwo).getErrorCode() == HttpStatus.SC_OK);
53                 // add ObjectStorage to resource
54                 GeneralUIUtils.moveToStep(CreateAndUpdateStepsEnum.COMPOSITION);
55                 canvasManager = CanvasManager.getCanvasManager();
56                 canvasManager.createElementOnCanvas(LeftPanelCanvasItems.LOAD_BALANCER);
57                 GeneralUIUtils.checkIn();
58
59                 // create service
60                 ServiceReqDetails createServiceInUI = ServiceUIUtils.createServiceInUI(getUser());
61                 // Verify Service is Created
62                 ServiceVerificator.verifyServiceCreated(createServiceInUI, getUser());
63
64                 GeneralUIUtils.moveToStep(CreateAndUpdateStepsEnum.COMPOSITION);
65                 canvasManager = CanvasManager.getCanvasManager();
66
67                 // adding two resource instances
68                 CanvasElement vfOne = canvasManager.createElementOnCanvas(resourceOne.getName());
69
70                 CanvasElement vfTwo = canvasManager.createElementOnCanvas(resourceTwo.getName());
71                 // link elements
72                 canvasManager.linkElements(vfOne, vfTwo);
73
74                 // check results
75                 ServiceVerificator.verifyServiceCreated(createServiceInUI, getUser());
76                 ServiceVerificator.verifyLinkCreated(createServiceInUI, getUser());
77
78         }
79
80         /**
81          * This method tests the following: <br>
82          * 1. Import of VF <br>
83          * 2. Certification Of Vf <br>
84          * 3. Adding deployment artifact to VF <br>
85          * 4. Creation of Service <br>
86          * 5. Adding Vf instance to Service <br>
87          * 6. Service Certification <br>
88          * 7. Approving Service to distribution by Governor <br>
89          * 8. Making sure service is ready to distribute by ops <br>
90          */
91         @Test
92         public void testBuildServiceForDistribution() {
93                 ResourceReqDetails importedVf = ResourceUIUtils.importVfInUI(getUser(), FileHandling.getResourcesFilesPath(),
94                                 "valid_vf.csar");
95                 GeneralUIUtils.waitForLoader(20);
96                 // Verify Import
97                 VfVerificator.verifyResourceIsCreated(importedVf);
98
99                 // Create Deployment Artifact
100                 ArtifactUIUtils.createDeploymentArtifactOnVf(FileHandling.getResourcesFilesPath() + "myYang.xml",
101                                 ArtifactTypeEnum.YANG_XML);
102                 VfVerificator.verifyResourceContainsDeploymentArtifacts(importedVf,
103                                 Arrays.asList(new ArtifactTypeEnum[] { ArtifactTypeEnum.YANG_XML }));
104
105                 // Submit For Testing Process VF
106                 GeneralUIUtils.submitForTestingElement(importedVf.getName());
107
108                 // Certify The VF
109                 quitAndReLogin(UserRoleEnum.TESTER);
110                 ResourceUIUtils.testAndAcceptElement(importedVf);
111
112                 // Verify Certification
113                 GeneralUIUtils.waitForLoader();
114                 VfVerificator.verifyResourceIsCertified(importedVf);
115
116                 // Create Service
117                 quitAndReLogin(UserRoleEnum.DESIGNER);
118                 ServiceReqDetails createServiceInUI = ServiceUIUtils.createServiceInUI(getUser());
119                 ServiceVerificator.verifyServiceCreated(createServiceInUI, getUser());
120
121                 // Drag the VF To the Service
122                 GeneralUIUtils.moveToStep(CreateAndUpdateStepsEnum.COMPOSITION);
123                 CanvasManager canvasManager = CanvasManager.getCanvasManager();
124                 canvasManager.createElementOnCanvas(importedVf.getName());
125
126                 // Submit For Testing Process Service
127                 GeneralUIUtils.submitForTestingElement(null);
128
129                 // Certify The Service
130                 quitAndReLogin(UserRoleEnum.TESTER);
131                 ResourceUIUtils.testAndAcceptElement(createServiceInUI);
132                 ServiceVerificator.verifyServiceCertified(createServiceInUI, getUser());
133
134                 // Approve with governor
135                 quitAndReLogin(UserRoleEnum.GOVERNOR);
136                 ServiceUIUtils.approveServiceForDistribution(createServiceInUI);
137
138                 // Log in with Ops and verify that can distribute
139                 quitAndReLogin(UserRoleEnum.OPS);
140                 GeneralUIUtils.getWebElementWaitForVisible(createServiceInUI.getName()).click();
141                 WebElement distributeWebElement = GeneralUIUtils
142                                 .getWebElementWaitForVisible(DataTestIdEnum.LifeCyleChangeButtons.DISTRIBUTE.getValue());
143                 assertTrue(distributeWebElement != null);
144
145         }
146
147 }