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