1 package org.openecomp.sdc.uici.tests.execute.vf;
3 import static org.testng.AssertJUnit.assertEquals;
4 import static org.testng.AssertJUnit.assertFalse;
5 import static org.testng.AssertJUnit.assertTrue;
7 import java.io.IOException;
8 import java.util.regex.Pattern;
10 import org.openecomp.sdc.uici.tests.datatypes.CreateAndUpdateStepsEnum;
11 import org.openecomp.sdc.uici.tests.datatypes.DataTestIdEnum;
12 import org.openecomp.sdc.uici.tests.execute.base.SetupCDTest;
13 import org.openecomp.sdc.uici.tests.utilities.FileHandling;
14 import org.openecomp.sdc.uici.tests.utilities.GeneralUIUtils;
15 import org.openecomp.sdc.uici.tests.utilities.ResourceUIUtils;
16 import org.openecomp.sdc.uici.tests.utilities.RestCDUtils;
17 import org.openqa.selenium.WebElement;
18 import org.testng.annotations.Test;
20 import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails;
22 public class VfDeploymentTests extends SetupCDTest {
24 // *****************************EditNamePopoverTests*****************************//
26 public void ClickingOnEditNamePopoverIconShouldOpenTheEditNamePopoverForm() {
27 EditNamePopoverTestsSetUp();
29 assertTrue(GeneralUIUtils.isElementPresent(DataTestIdEnum.UpdateNamePopover.POPOVER_FORM.getValue()));
33 public void ModuleDataShouldBeDisplayedInTheEditNameForm() {
34 EditNamePopoverTestsSetUp();
36 WebElement instanceName = GeneralUIUtils
37 .getWebElementWaitForVisible(DataTestIdEnum.UpdateNamePopover.POPOVER_INSTANCE_NAME.getValue());
38 WebElement heatName = GeneralUIUtils
39 .getWebElementWaitForVisible(DataTestIdEnum.UpdateNamePopover.POPOVER_HEAT_NAME.getValue());
40 WebElement moduleName = GeneralUIUtils
41 .getWebElementWaitForVisible(DataTestIdEnum.UpdateNamePopover.POPOVER_MODULE_NAME.getValue());
43 String moduleNameToDivide = GeneralUIUtils
44 .getWebElementWaitForVisible(DataTestIdEnum.TabsBar.HIERARCHY_MODULE.getValue()).getText();
46 String[] dividedModuleName = moduleNameToDivide.split(Pattern.quote(".."));
48 assertEquals(dividedModuleName[0], instanceName.getText());
49 assertEquals(dividedModuleName[1], heatName.getAttribute("value"));
50 assertEquals(dividedModuleName[2], moduleName.getText());
55 public void CloseButtonShouldCloseThePopover() {
56 EditNamePopoverTestsSetUp();
58 GeneralUIUtils.getWebElementWaitForVisible(DataTestIdEnum.UpdateNamePopover.POPOVER_CLOSE_BUTTON.getValue())
61 assertFalse(GeneralUIUtils.isElementPresent(DataTestIdEnum.UpdateNamePopover.POPOVER_FORM.getValue()));
65 public void XButtonShouldCloseThePopover() {
66 EditNamePopoverTestsSetUp();
68 GeneralUIUtils.getWebElementWaitForVisible(DataTestIdEnum.UpdateNamePopover.POPOVER_X_BUTTON.getValue())
71 assertFalse(GeneralUIUtils.isElementPresent(DataTestIdEnum.UpdateNamePopover.POPOVER_FORM.getValue()));
75 public void SaveButtonShouldBeDisabledWhileTheNameHasNotBeenChanged() {
76 EditNamePopoverTestsSetUp();
78 WebElement popoverSaveButton = GeneralUIUtils
79 .getWebElementWaitForVisible(DataTestIdEnum.UpdateNamePopover.POPOVER_SAVE_BUTTON.getValue());
81 assertTrue(popoverSaveButton.getAttribute("class").contains("disabled"));
85 public void ClickingOnTheSaveButtonShouldUpdateTheModuleName() {
86 EditNamePopoverTestsSetUp();
88 String newName = "testName";
90 GeneralUIUtils.getWebElementWaitForVisible(DataTestIdEnum.UpdateNamePopover.POPOVER_HEAT_NAME.getValue())
92 GeneralUIUtils.getWebElementWaitForVisible(DataTestIdEnum.UpdateNamePopover.POPOVER_HEAT_NAME.getValue())
94 GeneralUIUtils.getWebElementWaitForVisible(DataTestIdEnum.UpdateNamePopover.POPOVER_SAVE_BUTTON.getValue())
97 GeneralUIUtils.waitForLoader();
99 String moduleName = GeneralUIUtils
100 .getWebElementWaitForVisible(DataTestIdEnum.TabsBar.HIERARCHY_MODULE.getValue()).getText();
102 String[] dividedModuleName = moduleName.split(Pattern.quote(".."));
104 assertEquals(dividedModuleName[1], newName);
108 public void testUpdateModuleNameSanity() {
109 EditNamePopoverTestsSetUp();
111 String newName = "testName";
113 WebElement instanceName = GeneralUIUtils
114 .getWebElementWaitForVisible(DataTestIdEnum.UpdateNamePopover.POPOVER_INSTANCE_NAME.getValue());
115 WebElement heatName = GeneralUIUtils
116 .getWebElementWaitForVisible(DataTestIdEnum.UpdateNamePopover.POPOVER_HEAT_NAME.getValue());
117 WebElement moduleName = GeneralUIUtils
118 .getWebElementWaitForVisible(DataTestIdEnum.UpdateNamePopover.POPOVER_MODULE_NAME.getValue());
120 String moduleNameToDivide = GeneralUIUtils
121 .getWebElementWaitForVisible(DataTestIdEnum.TabsBar.HIERARCHY_MODULE.getValue()).getText();
123 String[] dividedModuleName = moduleNameToDivide.split(Pattern.quote(".."));
125 assertEquals(dividedModuleName[0], instanceName.getText());
126 assertEquals(dividedModuleName[1], heatName.getAttribute("value"));
127 assertEquals(dividedModuleName[2], moduleName.getText());
129 WebElement popoverSaveButton = GeneralUIUtils
130 .getWebElementWaitForVisible(DataTestIdEnum.UpdateNamePopover.POPOVER_SAVE_BUTTON.getValue());
132 assertTrue(popoverSaveButton.getAttribute("class").contains("disabled"));
135 heatName.sendKeys(newName);
137 popoverSaveButton.click();
139 GeneralUIUtils.waitForLoader();
141 moduleNameToDivide = GeneralUIUtils
142 .getWebElementWaitForVisible(DataTestIdEnum.TabsBar.HIERARCHY_MODULE.getValue()).getText();
143 dividedModuleName = moduleNameToDivide.split(Pattern.quote(".."));
145 assertEquals(dividedModuleName[1], newName);
148 // *****************************DeploymentTabsTests*****************************//
151 public void testTabIsBeingDisplayedAtDeploymentView() {
152 DeploymentTestsSetUp();
154 assertTrue(GeneralUIUtils.isElementPresent(DataTestIdEnum.TabsBar.HIERARCHY_TAB.getValue()));
158 public void testClickingOnTabSetsItAsSelected() {
159 DeploymentTestsSetUp();
161 WebElement hierarchyTab = GeneralUIUtils
162 .getWebElementWaitForVisible(DataTestIdEnum.TabsBar.HIERARCHY_TAB.getValue());
163 hierarchyTab.click();
165 assertTrue(hierarchyTab.getAttribute("class").contains("selected"));
169 public void testTabNameIsBeingDisplayedInTheSelectedTabHeader() {
170 DeploymentTestsSetUp();
172 // select the hierarchy tab and check the header
173 GeneralUIUtils.getWebElementWaitForVisible(DataTestIdEnum.TabsBar.HIERARCHY_TAB.getValue()).click();
174 WebElement tabHeader = GeneralUIUtils.getWebElementWaitForVisible(DataTestIdEnum.TabsBar.TAB_HEADER.getValue());
176 assertEquals(tabHeader.getText(), "HIERARCHY");
180 public void testSelectingModuleNameInTheHierarchyTabShouldSelectIt() {
181 DeploymentTestsSetUp();
183 GeneralUIUtils.getWebElementWaitForVisible(DataTestIdEnum.TabsBar.HIERARCHY_TAB.getValue()).click();
184 WebElement hierarchyModule = GeneralUIUtils
185 .getWebElementWaitForVisible(DataTestIdEnum.TabsBar.HIERARCHY_MODULE_TITLE.getValue());
187 hierarchyModule.click();
189 assertTrue(hierarchyModule.getAttribute("class").contains("selected"));
193 public void testSelectingModuleNameInTheHierarchyTabShouldExpandIt() {
194 DeploymentTestsSetUp();
196 // select hierarchy tab
197 GeneralUIUtils.getWebElementWaitForVisible(DataTestIdEnum.TabsBar.HIERARCHY_TAB.getValue()).click();
198 WebElement hierarchyModule = GeneralUIUtils
199 .getWebElementWaitForVisible(DataTestIdEnum.TabsBar.HIERARCHY_MODULE.getValue());
201 hierarchyModule.click();
203 assertTrue(hierarchyModule.getAttribute("class").contains("expanded"));
207 public void testSelectingModuleNameInTheHierarchyTabShouldDisplayItsData() {
208 DeploymentTestsSetUp();
210 // select hierarchy tab
211 GeneralUIUtils.getWebElementWaitForVisible(DataTestIdEnum.TabsBar.HIERARCHY_TAB.getValue()).click();
212 GeneralUIUtils.getWebElementWaitForVisible(DataTestIdEnum.TabsBar.HIERARCHY_MODULE.getValue()).click();
214 assertTrue(GeneralUIUtils.isElementPresent(DataTestIdEnum.TabsBar.HIERARCHY_SELECTED_MODULE_DATA.getValue()));
217 @Test(enabled = false)
218 public void testResourceNameIsBeingDisplayedInTheSelectedTabSubHeader() {
219 DeploymentTestsSetUp();
221 // select the hierarchy tab and check the header
222 // WebElement tabSubHeader =
223 // getWebElement(DataTestIdEnum.TabsBar.TAB_SUB_HEADER.getValue());
225 // assertEquals(tabSubHeader.getText(), vmmcCsar.getName());
228 @Test(enabled = false)
229 public void testSelectingModuleNameInTheHierarchyTabShouldDisplayItsInformation() throws IOException {
230 DeploymentTestsSetUp();
232 GeneralUIUtils.getWebElementWaitForVisible(DataTestIdEnum.TabsBar.HIERARCHY_TAB.getValue()).click();
233 WebElement hierarchyModule = GeneralUIUtils
234 .getWebElementWaitForVisible(DataTestIdEnum.TabsBar.HIERARCHY_MODULE.getValue());
237 // String component = RestCDUtils.getResource(vmmcCsar).getResponse();
238 // TODO idana fix test
240 * GroupDefinitionInfo module = getModuleById(component,
241 * hierarchyModule.getText());
243 * hierarchyModule.click();
245 * assertModuleDetails(module, hierarchyModule);
250 @Test(enabled = false)
251 public void testSelectingModuleNameInTheHierarchyTabShouldDisplayItsArtifacts() throws IOException {
252 DeploymentTestsSetUp();
254 GeneralUIUtils.getWebElementWaitForClickable(DataTestIdEnum.TabsBar.HIERARCHY_TAB.getValue()).click();
255 WebElement hierarchyModule = GeneralUIUtils
256 .getWebElementWaitForVisible(DataTestIdEnum.TabsBar.HIERARCHY_MODULE.getValue());
258 // TODO idana fix test
259 // Get the artifact from the module
261 * String component = RestCDUtils.getResource(vmmcCsar,
262 * getUser()).getResponse(); GroupDefinitionInfo module =
263 * getModuleById(component, hierarchyModule.getText());
264 * ArtifactDefinitionInfo artifact = module.getArtifacts().get(0);
266 * hierarchyModule.click();
268 * assertModuleArtifactDetails(artifact);
273 public void testTabsViewSanity() throws IOException {
274 DeploymentTestsSetUp();
276 WebElement hierarchyTab = GeneralUIUtils
277 .getWebElementWaitForVisible(DataTestIdEnum.TabsBar.HIERARCHY_TAB.getValue());
279 assertTrue(hierarchyTab != null);
281 hierarchyTab.click();
283 assertTrue(hierarchyTab.getAttribute("class").contains("selected"));
285 WebElement tabHeader = GeneralUIUtils.getWebElementWaitForVisible(DataTestIdEnum.TabsBar.TAB_HEADER.getValue());
286 WebElement tabSubHeader = GeneralUIUtils
287 .getWebElementWaitForVisible(DataTestIdEnum.TabsBar.TAB_SUB_HEADER.getValue());
289 assertEquals(tabHeader.getText(), "HIERARCHY");
290 // assertEquals(tabSubHeader.getText(), vmmcCsar.getName());
292 WebElement hierarchyModule = GeneralUIUtils
293 .getWebElementWaitForVisible(DataTestIdEnum.TabsBar.HIERARCHY_MODULE.getValue());
294 WebElement hierarchyModuleTitle = GeneralUIUtils
295 .getWebElementWaitForVisible(DataTestIdEnum.TabsBar.HIERARCHY_MODULE_TITLE.getValue());
296 hierarchyModule.click();
297 WebElement selectedModuleData = GeneralUIUtils
298 .getWebElementWaitForVisible(DataTestIdEnum.TabsBar.HIERARCHY_SELECTED_MODULE_DATA.getValue());
300 assertTrue(hierarchyModuleTitle.getAttribute("class").contains("selected"));
301 assertTrue(hierarchyModule.getAttribute("class").contains("expanded"));
302 assertTrue(selectedModuleData.getAttribute("ng-if") != null);
303 // TODO idana fix test
305 * String component = RestCDUtils.getResource(vmmcCsar,
306 * getUser()).getResponse(); GroupDefinitionInfo module =
307 * getModuleById(component, hierarchyModule.getText());
308 * ArtifactDefinitionInfo artifact = module.getArtifacts().get(0);
310 * assertModuleDetails(module, hierarchyModule);
312 * assertModuleArtifactDetails(artifact);
317 // ************************DeploymentTestsSetUpFunction************************//
319 private void EditNamePopoverTestsSetUp() {
320 DeploymentTestsSetUp();
322 // clicking on a module and opening the edit name popover
323 GeneralUIUtils.getWebElementWaitForVisible(DataTestIdEnum.TabsBar.HIERARCHY_TAB.getValue()).click();
324 GeneralUIUtils.getWebElementWaitForVisible(DataTestIdEnum.TabsBar.HIERARCHY_MODULE.getValue()).click();
325 GeneralUIUtils.getWebElementWaitForVisible(DataTestIdEnum.UpdateNamePopover.OPEN_POPOVER_ICON.getValue())
329 private void DeploymentTestsSetUp() {
331 String filePath = FileHandling.getResourcesFilesPath();
332 String fileName = "vf_with_groups.csar";
333 ResourceUIUtils.importVfInUI(getUser(), filePath, fileName);
335 GeneralUIUtils.waitForLoader(20);
337 // moving to deployment view
338 GeneralUIUtils.moveToStep(CreateAndUpdateStepsEnum.DEPLOYMENT);