align backend get aicZone response fields name with the frontend expectation
[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.PresetAAIGetSubscribersGet;
8 import org.onap.simulator.presetGenerator.presets.aai.PresetAAIServiceDesignAndCreationPut;
9 import org.onap.simulator.presetGenerator.presets.mso.PresetMSOCreateMacroPre1806Post;
10 import org.openqa.selenium.WebElement;
11 import org.testng.annotations.BeforeClass;
12 import org.testng.annotations.Test;
13 import vid.automation.test.Constants;
14 import vid.automation.test.infra.SelectOption;
15 import vid.automation.test.model.User;
16 import vid.automation.test.sections.BrowseASDCPage;
17 import vid.automation.test.sections.SideMenu;
18 import vid.automation.test.services.SimulatorApi;
19
20 import static org.hamcrest.MatcherAssert.assertThat;
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                 ),
64                 APPEND);
65     }
66
67     @Override
68     protected UserCredentials getUserCredentials() {
69         String userName = Constants.Users.CRAIG_ROBERTS_AIM_TRANSPORT;
70         User user = usersService.getUser(userName);
71         return new UserCredentials(user.credentials.userId, user.credentials.password, userName, "", "");
72     }
73
74     @Test
75     private void browseServiceModel_MacroService_CreatedSuccessfully() {
76
77         BrowseASDCPage browseASDCPage = new BrowseASDCPage();
78         SideMenu.navigateToBrowseASDCPage();
79
80         GeneralUIUtils.ultimateWait();
81         browseASDCPage.clickDeployServiceButtonByServiceUUID(macroForBrowseSdc.modelVersionId);
82
83         WebElement modalTitle = GeneralUIUtils.getWebElementByTestID(Constants.CREATE_MODAL_TITLE_ID, 30);
84         assertThat(modalTitle.getText().toLowerCase(), containsString("macro"));
85         GeneralUIUtils.ultimateWait();
86
87         assertServiceDetails();
88
89         fillCreateInstanceModal();
90
91         browseASDCPage.clickConfirmButton();
92
93         assertSuccessfulServiceInstanceCreation();
94
95         browseASDCPage.clickCloseButton();
96     }
97
98     private void fillCreateInstanceModal() {
99
100
101         waitForInstanceField();
102         GeneralUIUtils.ultimateWait();
103         GeneralUIUtils.sleep(10000); // stuff is getting weird
104
105         WebElement instance_name = GeneralUIUtils.getWebElementByTestID(Constants.INSTANCE_NAME_SELECT_TESTS_ID, 30);
106         instance_name.sendKeys(NEW_INSTANCE_NAME);
107
108         waitForInstanceField();
109         GeneralUIUtils.ultimateWait();
110         SelectOption.byTestIdAndVisibleText(SUBSCRIBER, Constants.SUBSCRIBER_NAME_SELECT_TESTS_ID);
111
112         waitForInstanceField();
113         GeneralUIUtils.ultimateWait();
114         SelectOption.byTestIdAndVisibleText(PRODUCT, Constants.ViewEdit.PRODUCT_FAMILY_SELECT_TESTS_ID);
115
116         waitForInstanceField();
117         GeneralUIUtils.ultimateWait();
118         SelectOption.byTestIdAndVisibleText(SERVICE_TYPE, Constants.SERVICE_TYPE_SELECT_TESTS_ID);
119
120         GeneralUIUtils.ultimateWait();
121         viewEditPage.selectLcpRegion(LCP_REGION, "AIC");
122
123         SelectOption.byTestIdAndVisibleText(TENANT, Constants.ViewEdit.TENANT_SELECT_TESTS_ID);
124         SelectOption.byTestIdAndVisibleText(AIC_ZONE, Constants.ViewEdit.AIC_ZONE_TEST_ID);
125         SelectOption.byTestIdAndVisibleText(PROJECT, Constants.OwningEntity.PROJECT_SELECT_TEST_ID);
126         SelectOption.byTestIdAndVisibleText(OWNING_ENTITY, Constants.OwningEntity.OWNING_ENTITY_SELECT_TEST_ID);
127     }
128
129     private void waitForInstanceField() {
130         GeneralUIUtils.sleep(200); // stuff is getting weird
131         SelectOption.waitForOptionInSelect(SUBSCRIBER, Constants.SUBSCRIBER_NAME_SELECT_TESTS_ID);
132         SelectOption.waitForOptionInSelect(TENANT, Constants.ViewEdit.TENANT_SELECT_TESTS_ID);
133         SelectOption.waitForOptionInSelect(AIC_ZONE, Constants.ViewEdit.AIC_ZONE_TEST_ID);
134         SelectOption.waitForOptionInSelect(PROJECT, Constants.OwningEntity.PROJECT_SELECT_TEST_ID);
135         SelectOption.waitForOptionInSelect(OWNING_ENTITY, Constants.OwningEntity.OWNING_ENTITY_SELECT_TEST_ID);
136         GeneralUIUtils.sleep(200); // stuff is getting weird
137     }
138
139     private void assertServiceDetails() {
140         WebElement currElem = GeneralUIUtils.getWebElementByTestID(Constants.SERVICE_NAME, 30);
141         Assert.assertEquals(currElem.getText(), SERVICE_NAME_PNF);
142
143         currElem = GeneralUIUtils.getWebElementByTestID(Constants.SERVICE_UUID, 30);
144         Assert.assertEquals(currElem.getText(), macroForBrowseSdc.modelVersionId);
145
146         currElem = GeneralUIUtils.getWebElementByTestID(Constants.RESOURCE_NAME, 30);
147         Assert.assertEquals(currElem.getText(), RESOURCE_NAME);
148
149         currElem = GeneralUIUtils.getWebElementByTestID(Constants.RESOURCE_DESCRIPTION, 30);
150         Assert.assertEquals(currElem.getText(), RESOURCE_DESCRIPTION);
151
152         currElem = GeneralUIUtils.getWebElementByTestID(Constants.SERVICE_INVARIANT_UUID, 30);
153         Assert.assertEquals(currElem.getText(), macroForBrowseSdc.modelInvariantId);
154
155         currElem = GeneralUIUtils.getWebElementByTestID(Constants.SERVICE_VERSION, 30);
156         Assert.assertEquals(currElem.getText(), SERVICE_VERSION);
157
158         currElem = GeneralUIUtils.getWebElementByTestID(Constants.SERVICE_DESCRIPTION, 30);
159         Assert.assertEquals(currElem.getText(), SERVICE_DESCRIPTION);
160
161         currElem = GeneralUIUtils.getWebElementByTestID(Constants.SERVICE_CATEGORY, 30);
162         Assert.assertEquals(currElem.getText(), SERVICE_CATEGORY);
163     }
164
165
166 }