59c132367ddb57dadd9ccf56767ee9706541ddea
[vid.git] / vid-automation / src / main / java / vid / automation / test / test / SanityMacroDeployTest.java
1 package vid.automation.test.test;
2
3 import com.google.common.collect.ImmutableList;
4 import org.junit.Assert;
5 import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetCloudOwnersByCloudRegionId;
6 import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetSubscribersGet;
7 import org.onap.simulator.presetGenerator.presets.aai.PresetAAIServiceDesignAndCreationPut;
8 import org.onap.simulator.presetGenerator.presets.mso.PresetMSOCreateMacroPre1806Post;
9 import org.onap.sdc.ci.tests.datatypes.UserCredentials;
10 import org.onap.sdc.ci.tests.utilities.GeneralUIUtils;
11 import org.openqa.selenium.WebElement;
12 import org.testng.annotations.BeforeClass;
13 import org.testng.annotations.Test;
14 import vid.automation.test.Constants;
15 import vid.automation.test.infra.SelectOption;
16 import vid.automation.test.model.User;
17 import vid.automation.test.sections.BrowseASDCPage;
18 import vid.automation.test.sections.SideMenu;
19 import vid.automation.test.services.SimulatorApi;
20
21 import static org.hamcrest.Matchers.containsString;
22 import static vid.automation.test.infra.ModelInfo.macroForBrowseSdc;
23 import static vid.automation.test.services.SimulatorApi.RegistrationStrategy.APPEND;
24
25 public class SanityMacroDeployTest extends CreateInstanceDialogBaseTest {
26
27     static final String NEW_INSTANCE_NAME = "New Instance Name";
28
29     static final String SERVICE_NAME_PNF = "vidmacrofalsenaming";
30     static final String SUBSCRIBER = "CRAIG/ROBERTS";
31     static final String PRODUCT = "Transport";
32     static final String SERVICE_TYPE = "AIM Transport";
33     static final String LCP_REGION = "olson3";
34
35     static final String TENANT = "AIN Web Tool-15-D-testalexandria";
36     static final String AIC_ZONE = "NFTJSSSS-NFT1";
37     static final String PROJECT = "yyy1";
38     static final String OWNING_ENTITY = "aaa1";
39
40     static final String RESOURCE_NAME = "MULTI_PROVIDER_PORT_GROUP 0";
41     static final String RESOURCE_DESCRIPTION = "Creates a neutron multi-provider VLAN network with dummy subnet";
42     static final String SERVICE_VERSION = "1.0";
43     static final String SERVICE_DESCRIPTION = "vidmacrofalsenaming";
44     static final String SERVICE_CATEGORY = "Network L1-3";
45
46     @BeforeClass
47     protected void registerToSimulator() {
48         resetGetServicesCache();
49         invalidateSdcModelsCache();
50         SimulatorApi.registerExpectation(SimulatorApi.RegistrationStrategy.CLEAR_THEN_SET,
51                 "sanity/aai_get_services.json",
52                 "sanity/aai_get_aic_zones.json",
53                 "search_for_service_instance/aai_get_subscribers_for_customer_CRAIG-ROBERTS.json",
54                 "sanity/aai_get_tenants.json",
55                 "sanity/get_mso_get_orch_request.json",
56                 "sanity/get_sdc_catalog_services_4d71990b.json",
57                 "sanity/aai_named_query_for_view_edit.json"
58         );
59         SimulatorApi.registerExpectationFromPresets(ImmutableList.of(
60                 new PresetAAIServiceDesignAndCreationPut(),
61                 new PresetMSOCreateMacroPre1806Post(),
62                 new PresetAAIGetSubscribersGet(),
63                 PresetAAIGetCloudOwnersByCloudRegionId.PRESET_RDM3_TO_ATT_NC
64                 ),
65                 APPEND);
66     }
67
68     @Override
69     protected UserCredentials getUserCredentials() {
70         String userName = Constants.Users.CRAIG_ROBERTS_AIM_TRANSPORT;
71         User user = usersService.getUser(userName);
72         return new UserCredentials(user.credentials.userId, user.credentials.password, userName, "", "");
73     }
74
75     @Test
76     private void browseServiceModel_MacroService_CreatedSuccessfully() {
77
78         BrowseASDCPage browseASDCPage = new BrowseASDCPage();
79         SideMenu.navigateToBrowseASDCPage();
80
81         GeneralUIUtils.ultimateWait();
82         browseASDCPage.clickDeployServiceButtonByServiceUUID(macroForBrowseSdc.modelVersionId);
83
84         WebElement modalTitle = GeneralUIUtils.getWebElementByTestID(Constants.CREATE_MODAL_TITLE_ID, 30);
85         Assert.assertThat(modalTitle.getText().toLowerCase(), containsString("macro"));
86         GeneralUIUtils.ultimateWait();
87
88         assertServiceDetails();
89
90         fillCreateInstanceModal();
91
92         browseASDCPage.clickConfirmButton();
93
94         assertSuccessfulServiceInstanceCreation();
95
96         browseASDCPage.clickCloseButton();
97     }
98
99     private void fillCreateInstanceModal() {
100
101
102         waitForInstanceField();
103         GeneralUIUtils.ultimateWait();
104         GeneralUIUtils.sleep(10000); // stuff is getting weird
105
106         WebElement instance_name = GeneralUIUtils.getWebElementByTestID(Constants.INSTANCE_NAME_SELECT_TESTS_ID, 30);
107         instance_name.sendKeys(NEW_INSTANCE_NAME);
108
109         waitForInstanceField();
110         GeneralUIUtils.ultimateWait();
111         SelectOption.byTestIdAndVisibleText(SUBSCRIBER, Constants.SUBSCRIBER_NAME_SELECT_TESTS_ID);
112
113         waitForInstanceField();
114         GeneralUIUtils.ultimateWait();
115         SelectOption.byTestIdAndVisibleText(PRODUCT, Constants.ViewEdit.PRODUCT_FAMILY_SELECT_TESTS_ID);
116
117         waitForInstanceField();
118         GeneralUIUtils.ultimateWait();
119         SelectOption.byTestIdAndVisibleText(SERVICE_TYPE, Constants.SERVICE_TYPE_SELECT_TESTS_ID);
120
121         GeneralUIUtils.ultimateWait();
122         viewEditPage.selectLcpRegion(LCP_REGION, "AIC");
123
124         SelectOption.byTestIdAndVisibleText(TENANT, Constants.ViewEdit.TENANT_SELECT_TESTS_ID);
125         SelectOption.byTestIdAndVisibleText(AIC_ZONE, Constants.ViewEdit.AIC_ZONE_TEST_ID);
126         SelectOption.byTestIdAndVisibleText(PROJECT, Constants.OwningEntity.PROJECT_SELECT_TEST_ID);
127         SelectOption.byTestIdAndVisibleText(OWNING_ENTITY, Constants.OwningEntity.OWNING_ENTITY_SELECT_TEST_ID);
128     }
129
130     private void waitForInstanceField() {
131         GeneralUIUtils.sleep(200); // stuff is getting weird
132         SelectOption.waitForOptionInSelect(SUBSCRIBER, Constants.SUBSCRIBER_NAME_SELECT_TESTS_ID);
133         SelectOption.waitForOptionInSelect(TENANT, Constants.ViewEdit.TENANT_SELECT_TESTS_ID);
134         SelectOption.waitForOptionInSelect(AIC_ZONE, Constants.ViewEdit.AIC_ZONE_TEST_ID);
135         SelectOption.waitForOptionInSelect(PROJECT, Constants.OwningEntity.PROJECT_SELECT_TEST_ID);
136         SelectOption.waitForOptionInSelect(OWNING_ENTITY, Constants.OwningEntity.OWNING_ENTITY_SELECT_TEST_ID);
137         GeneralUIUtils.sleep(200); // stuff is getting weird
138     }
139
140     private void assertServiceDetails() {
141         WebElement currElem = GeneralUIUtils.getWebElementByTestID(Constants.SERVICE_NAME, 30);
142         Assert.assertEquals(currElem.getText(), SERVICE_NAME_PNF);
143
144         currElem = GeneralUIUtils.getWebElementByTestID(Constants.SERVICE_UUID, 30);
145         Assert.assertEquals(currElem.getText(), macroForBrowseSdc.modelVersionId);
146
147         currElem = GeneralUIUtils.getWebElementByTestID(Constants.RESOURCE_NAME, 30);
148         Assert.assertEquals(currElem.getText(), RESOURCE_NAME);
149
150         currElem = GeneralUIUtils.getWebElementByTestID(Constants.RESOURCE_DESCRIPTION, 30);
151         Assert.assertEquals(currElem.getText(), RESOURCE_DESCRIPTION);
152
153         currElem = GeneralUIUtils.getWebElementByTestID(Constants.SERVICE_INVARIANT_UUID, 30);
154         Assert.assertEquals(currElem.getText(), macroForBrowseSdc.modelInvariantId);
155
156         currElem = GeneralUIUtils.getWebElementByTestID(Constants.SERVICE_VERSION, 30);
157         Assert.assertEquals(currElem.getText(), SERVICE_VERSION);
158
159         currElem = GeneralUIUtils.getWebElementByTestID(Constants.SERVICE_DESCRIPTION, 30);
160         Assert.assertEquals(currElem.getText(), SERVICE_DESCRIPTION);
161
162         currElem = GeneralUIUtils.getWebElementByTestID(Constants.SERVICE_CATEGORY, 30);
163         Assert.assertEquals(currElem.getText(), SERVICE_CATEGORY);
164     }
165
166
167 }