org.onap migration
[vid.git] / vid-automation / src / main / java / vid / automation / test / test / CreateNewInstanceTest.java
1 package vid.automation.test.test;
2
3 import org.openecomp.sdc.ci.tests.utilities.GeneralUIUtils;
4 import org.openqa.selenium.WebElement;
5 import org.testng.Assert;
6 import org.testng.annotations.Test;
7 import vid.automation.test.Constants;
8 import vid.automation.test.model.Service;
9 import vid.automation.test.model.User;
10 import vid.automation.test.sections.CreateNewInstancePage;
11 import vid.automation.test.sections.SideMenu;
12 import vid.automation.test.services.ServicesService;
13 import vid.automation.test.services.UsersService;
14
15 import java.io.IOException;
16
17 public class CreateNewInstanceTest extends CreateInstanceDialogBaseTest {
18     private UsersService usersService = new UsersService();
19     private ServicesService servicesService = new ServicesService();
20
21     public CreateNewInstanceTest() throws IOException {
22     }
23
24     @Test
25     private void testCreateNewServiceInstance() throws Exception {
26         User user = usersService.getUser(Constants.Users.USP_VOICE_VIRTUAL_USP);
27         relogin(user.credentials);
28
29         SideMenu.navigateToCreateNewServicePage();
30
31         CreateNewInstancePage createNewInstancePage = new CreateNewInstancePage();
32
33         String subscriberName = "USP VOICE";
34         assertDropdownPermittedItemsByValue(user.subscribers, Constants.CreateNewInstance.SUBSCRIBER_NAME_OPTION_CLASS);
35         createNewInstancePage.selectSubscriberById("e433710f-9217-458d-a79d-1c7aff376d89");
36         createNewInstancePage.clickSubmitButton();
37         assertSuccessfulSelection(Constants.CreateNewInstance.SELECTED_SUBSCRIBER_NAME_TEST_ID,  subscriberName);
38
39         String serviceType = "VIRTUAL USP";
40         assertDropdownPermittedItemsByName(user.serviceTypes, Constants.CreateNewInstance.SERVICE_TYPE_OPTION_CLASS);
41         createNewInstancePage.selectServiceTypeByName(serviceType);
42         createNewInstancePage.clickSubmitButton();
43         assertSuccessfulSelection(Constants.CreateNewInstance.SELECTED_SERVICE_TYPE_NAME_TEST_ID, serviceType);
44
45         Service service = servicesService.getService( "c079d859-4d81-4add-a9c3-94551f96e2b0");
46
47         createNewInstancePage.clickDeployServiceButtonByServiceUUID(service.uuid);
48
49         validateServiceCreationDialog(service, subscriberName, serviceType);
50
51         String instanceName = createNewInstancePage.generateInstanceName();
52         createNewInstancePage.setInstanceName(instanceName);
53         createNewInstancePage.selectSuppressRollback("false");
54         createNewInstancePage.clickConfirmButton();
55
56         assertSuccessfulServiceInstanceCreation();
57
58         createNewInstancePage.clickCloseButton();
59
60         GeneralUIUtils.ultimateWait();
61
62         goToExistingInstanceByName(instanceName);
63
64         addVNF("VID-PCRF-05-15-17 0", "AAIAIC25", "092eb9e8e4b7412e8787dd091bc58e86",
65                 "false", "some legacy region", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", user.tenants);
66         addVolumeGroup("VidPcrf051517..pcrf_nimbus_pcm..module-4", "AAIAIC25",
67                 "092eb9e8e4b7412e8787dd091bc58e86", "false", "some legacy region", user.tenants);
68         addVFModule("VidPcrf051517..pcrf_nimbus_psm..module-1", "AAIAIC25",
69                 "092eb9e8e4b7412e8787dd091bc58e86", "false", "some legacy region", user.tenants);
70     }
71
72     private void assertSuccessfulSelection(String elementTestId, String expectedSelection) {
73         GeneralUIUtils.ultimateWait();
74         WebElement selectedElement = GeneralUIUtils.getWebElementByTestID(elementTestId, 30);
75         Assert.assertEquals(selectedElement.getText(), expectedSelection);
76     }
77
78     private void validateServiceCreationDialog(Service expectedService, String subscriberName, String serviceType) {
79         assertServiceMetadata(subscriberName, Constants.SUBSCRIBER_NAME);
80         assertServiceMetadata(serviceType, Constants.SERVICE_TYPE);
81         validateServiceCreationDialog(expectedService);
82
83     }
84 }