org.onap migration
[vid.git] / vid-automation / src / main / java / vid / automation / test / test / ViewEditServiceInstanceTest.java
1 package vid.automation.test.test;
2
3 import org.junit.Assert;
4 import org.junit.Before;
5 import org.openqa.selenium.WebElement;
6 import org.testng.annotations.Test;
7 import vid.automation.test.Constants;
8 import vid.automation.test.infra.Exists;
9 import vid.automation.test.infra.Get;
10 import vid.automation.test.infra.Wait;
11 import vid.automation.test.model.User;
12 import vid.automation.test.sections.ViewEditPage;
13 import vid.automation.test.services.BulkRegistration;
14 import vid.automation.test.services.SimulatorApi;
15 import vid.automation.test.services.UsersService;
16
17 import java.io.IOException;
18 import java.util.Arrays;
19 import java.util.List;
20
21 public class ViewEditServiceInstanceTest extends VidBaseTestCase {
22
23     private ViewEditPage viewEditPage = new ViewEditPage();
24     private UsersService usersService = new UsersService();
25     private String serviceInstanceId = "3f93c7cb-2fd0-4557-9514-e189b7b04f9d";
26     private  String serviceInstanceId2 ="f36f5734-e9df-4fbf-9f35-61be13f028a1";
27     private final String DEACTIVATE_ACTION = "deactivate";
28     private final String ACTIVATE_ACTION = "activate";
29     private List<String> pnfs = Arrays.asList("SANITY6785cce9", "tesai371ve2");
30
31     public ViewEditServiceInstanceTest() throws IOException { }
32
33     @Test
34     public void testGetAssociatedPnfsForServiceInstance() {
35         SimulatorApi.clearAll();
36         BulkRegistration.searchExistingServiceInstance();
37         BulkRegistration.getAssociatedPnfs();
38
39         goToExistingInstanceById(serviceInstanceId);
40         for (String pnf: pnfs) {
41             viewEditPage.getPnf(pnf);
42         }
43     }
44
45     @Test
46     public void testPnfsNotExistForServiceInstance() {
47         SimulatorApi.clearAll();
48         BulkRegistration.searchExistingServiceInstance();
49
50         goToExistingInstanceById(serviceInstanceId);
51         assertNoPnfExists();
52     }
53     @Test
54     public void testActivateServiceInstance()throws Exception {
55         SimulatorApi.clearAll();
56         BulkRegistration.searchExistingServiceInstance("Created");
57         BulkRegistration.activateServiceInstance(ACTIVATE_ACTION);
58         goToExistingInstanceById(serviceInstanceId);
59         viewEditPage.assertButtonState(Constants.ViewEdit.ACTIVATE_BUTTON_TEST_ID,true);
60         viewEditPage.assertButtonState(Constants.ViewEdit.DEACTIVATE_BUTTON_TEST_ID,false);
61         viewEditPage.clickActivateButton();
62         viewEditPage.assertMsoRequestModal("COMPLETE - Success");
63         viewEditPage.clickCloseButton();
64     }
65
66     @Test
67     public void testActivateServiceInstanceError()throws Exception {
68         SimulatorApi.clearAll();
69         BulkRegistration.searchExistingServiceInstance("Created");
70         BulkRegistration.activateServiceInstanceError(ACTIVATE_ACTION);
71         goToExistingInstanceById(serviceInstanceId);
72         viewEditPage.assertButtonState(Constants.ViewEdit.ACTIVATE_BUTTON_TEST_ID,true);
73         viewEditPage.assertButtonState(Constants.ViewEdit.DEACTIVATE_BUTTON_TEST_ID,false);
74         viewEditPage.clickActivateButton();
75         viewEditPage.assertMsoRequestModal("Error");
76         viewEditPage.clickCloseButton();
77     }
78     @Test
79     public void testDeactivateServiceInstance(){
80         SimulatorApi.clearAll();
81         BulkRegistration.searchExistingServiceInstance("Active");
82         BulkRegistration.activateServiceInstance(DEACTIVATE_ACTION);
83         goToExistingInstanceById(serviceInstanceId);
84         viewEditPage.assertButtonState(Constants.ViewEdit.DEACTIVATE_BUTTON_TEST_ID,true);
85         viewEditPage.assertButtonState(Constants.ViewEdit.ACTIVATE_BUTTON_TEST_ID,false);
86         viewEditPage.clickDeactivateButton();
87         viewEditPage.assertMsoRequestModal("COMPLETE - Success");
88         SimulatorApi.clearAll();
89         BulkRegistration.searchExistingServiceInstance("PendingDelete");
90         BulkRegistration.activateServiceInstance(ACTIVATE_ACTION);
91         viewEditPage.clickCloseButton();
92         viewEditPage.assertButtonState(Constants.ViewEdit.ACTIVATE_BUTTON_TEST_ID,true);
93         viewEditPage.assertButtonState(Constants.ViewEdit.DEACTIVATE_BUTTON_TEST_ID,false);
94     }
95
96     @Test
97     public void testDeactivateServiceInstanceError()throws Exception {
98         SimulatorApi.clearAll();
99         BulkRegistration.searchExistingServiceInstance("Active");
100         BulkRegistration.activateServiceInstanceError(DEACTIVATE_ACTION);
101         goToExistingInstanceById(serviceInstanceId);
102         viewEditPage.assertButtonState(Constants.ViewEdit.ACTIVATE_BUTTON_TEST_ID,false);
103         viewEditPage.assertButtonState(Constants.ViewEdit.DEACTIVATE_BUTTON_TEST_ID,true);
104         viewEditPage.clickDeactivateButton();
105         viewEditPage.assertMsoRequestModal("Error");
106         viewEditPage.clickCloseButton();
107     }
108      @Test
109     public void testSuccessDissociatePnfFromServiceInstance() throws Exception {
110         SimulatorApi.clearAll();
111         BulkRegistration.searchExistingServiceInstance();
112         BulkRegistration.getAssociatedPnfs();
113         BulkRegistration.dissociatePnf();
114         goToExistingInstanceById(serviceInstanceId);
115         dissociatePnf(pnfs.get(0)); //SANITY6785cce9
116         viewEditPage.assertMsoRequestModal("COMPLETE - Success");
117          viewEditPage.clickCloseButton();
118     }
119
120     @Test
121     public void testFailDissociatePnfFromServiceInstance() throws Exception {
122         SimulatorApi.clearAll();
123         BulkRegistration.searchExistingServiceInstance();
124         BulkRegistration.getAssociatedPnfs();
125         SimulatorApi.registerExpectation(Constants.RegisterToSimulator.pProbe.REMOVE_PNF_RELATIONSHIP_ERROR);
126
127         goToExistingInstanceById(serviceInstanceId);
128         dissociatePnf(pnfs.get(0)); //SANITY6785cce9
129         viewEditPage.assertMsoRequestModal("Error");
130         viewEditPage.clickCloseButton();
131     }
132
133     private void assertNoPnfExists() {
134         WebElement pnfElement = viewEditPage.getPnf("");
135         Assert.assertNull("Pnf found under service instance", pnfElement);
136     }
137
138     private void dissociatePnf(String pnfName) throws InterruptedException {
139         viewEditPage.clickDissociatePnfButton(pnfName);
140         assertDissociateConfirmModal(pnfName);
141     }
142
143     private void assertDissociateConfirmModal(String pnfName) {
144         Wait.modalToBeDisplayed();
145         Assert.assertTrue(Exists.modal());
146         Assert.assertTrue(Exists.byCssSelectorAndText(".modal-body span", String.format(Constants.ViewEdit.DISSOCIATE_CONFIRM_MODAL_TEXT, pnfName)));
147         WebElement confirmBtn = Get.byId(Constants.ViewEdit.DISSOCIATE_CONFIRM_MODAL_BTN_ID);
148         Assert.assertNotNull(confirmBtn);
149         confirmBtn.click();
150         Wait.modalToDisappear();
151     }
152     @Before
153     public void before() throws Exception {
154         User user = usersService.getUser(Constants.Users.USP_VOICE_VIRTUAL_USP);
155         relogin(user.credentials);
156     }
157
158 }