2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 package org.onap.sdc.frontend.ci.tests.execute.sanity;
23 import com.aventstack.extentreports.Status;
24 import org.onap.sdc.frontend.ci.tests.datatypes.DataTestIdEnum;
25 import org.onap.sdc.backend.ci.tests.datatypes.ResourceReqDetails;
26 import org.onap.sdc.backend.ci.tests.datatypes.enums.NormativeTypesEnum;
27 import org.onap.sdc.backend.ci.tests.datatypes.enums.ResourceCategoryEnum;
28 import org.onap.sdc.frontend.ci.tests.pages.GeneralPageElements;
29 import org.onap.sdc.frontend.ci.tests.pages.HomePage;
30 import org.onap.sdc.frontend.ci.tests.pages.PropertiesAssignmentPage;
31 import org.onap.sdc.frontend.ci.tests.pages.PropertyNameBuilder;
32 import org.onap.sdc.frontend.ci.tests.utilities.FileHandling;
33 import org.onap.sdc.frontend.ci.tests.utilities.GeneralUIUtils;
34 import org.onap.sdc.frontend.ci.tests.utilities.ResourceUIUtils;
35 import org.onap.sdc.backend.ci.tests.utils.general.ElementFactory;
36 import org.onap.sdc.frontend.ci.tests.verificator.PropertiesAssignmentVerificator;
37 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
38 import org.onap.sdc.backend.ci.tests.datatypes.enums.UserRoleEnum;
39 import org.onap.sdc.frontend.ci.tests.execute.setup.SetupCDTest;
40 import org.onap.sdc.frontend.ci.tests.pages.ResourceGeneralPage;
41 import org.testng.AssertJUnit;
42 import org.testng.annotations.BeforeClass;
43 import org.testng.annotations.BeforeMethod;
44 import org.testng.annotations.Test;
47 public class PropertiesAssignment extends SetupCDTest {
49 private static String filePath;
50 private static String csarFile = "PCRF_OS_FIXED.csar";
51 private static String csarFile1 = "437285.csar";
54 public void beforeClass() {
55 filePath = FileHandling.getFilePath("");
59 public void beforeTest() {
60 System.out.println("File repository is : " + filePath);
61 getExtendTest().log(Status.INFO, "File repository is : " + filePath);
65 //VF - Simple Properties Tests
67 public void declareAndDeleteInputVfTest() throws Exception {
69 String csarTestFile = csarFile;
70 String componentName = "abstract_psm";
71 String propertyName = "service_template_filter";
73 ResourceReqDetails resourceMetaData = ElementFactory.getDefaultResourceByType("ciRes", NormativeTypesEnum.ROOT, ResourceCategoryEnum.APPLICATION_L4_DATABASE, getUser().getUserId(), ResourceTypeEnum.VF.toString());
74 resourceMetaData.setVersion("0.1");
75 ResourceUIUtils.importVfFromCsar(resourceMetaData, filePath, csarTestFile, getUser());
78 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
79 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
80 PropertiesAssignmentPage.findSearchBoxAndClick(propertyName);
81 PropertiesAssignmentPage.clickOnDeclareButton();
82 GeneralUIUtils.ultimateWait();
83 AssertJUnit.assertTrue(PropertiesAssignmentPage.isPropertyChecked(propertyName));
85 PropertiesAssignmentPage.clickOnInputTab();
86 PropertiesAssignmentPage.findInput(componentName, propertyName);
87 PropertiesAssignmentPage.clickOnDeleteInputButton();
88 PropertiesAssignmentPage.clickOnDeleteInputDialogConfirmationButton();
89 PropertiesAssignmentPage.clickOnPropertiesTab();
90 PropertiesAssignmentPage.findProperty(propertyName);
91 AssertJUnit.assertFalse(PropertiesAssignmentPage.isPropertyChecked(propertyName));
98 public void editAndSaveSimplePropertyValueTest() throws Exception {
100 String csarTestFile = csarFile;
101 String componentName = "abstract_psm";
102 String propertyNameString = PropertyNameBuilder.buildSimpleField("nfc_function");
103 String propertyNameInt = PropertyNameBuilder.buildSimpleField("index_value");
104 String propertyValueString = "abc";
105 String propertyValueInt = "123";
108 ResourceReqDetails resourceMetaData = ElementFactory.getDefaultResourceByType(
109 "ciRes", NormativeTypesEnum.ROOT, ResourceCategoryEnum.APPLICATION_L4_DATABASE, getUser().getUserId(), ResourceTypeEnum.VF.toString());
110 resourceMetaData.setVersion("0.1");
111 ResourceUIUtils.importVfFromCsar(resourceMetaData, filePath, csarTestFile, getUser());
113 //Navigate to Properties Assignment screen, edit simple properties values and save
114 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
115 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
116 PropertiesAssignmentPage.editPropertyValue(propertyNameString, propertyValueString);
117 PropertiesAssignmentPage.editPropertyValue(propertyNameInt, propertyValueInt);
118 PropertiesAssignmentPage.clickOnSaveButton();
120 //Verify that properties values are saved
121 HomePage.navigateToHomePage();
122 GeneralUIUtils.findComponentAndClick(resourceMetaData.getName());
123 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
124 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
125 PropertiesAssignmentVerificator.validatePropertyValue(propertyNameString, propertyValueString);
126 PropertiesAssignmentVerificator.validatePropertyValue(propertyNameInt, propertyValueInt);
130 public void editAndSaveBooleanPropertyValueTest() throws Exception {
132 String csarTestFile = csarFile;
133 String componentName = "oam_volume_0";
134 String propertyNameTrue = "value-prop-read_only";
135 String propertyValueTrue = "TRUE";
136 String propertyNameFalse = "value-prop-delete_on_termination";
137 String propertyValueFalse = "FALSE";
140 ResourceReqDetails resourceMetaData = ElementFactory.getDefaultResourceByType("ciRes", NormativeTypesEnum.ROOT, ResourceCategoryEnum.APPLICATION_L4_DATABASE, getUser().getUserId(), ResourceTypeEnum.VF.toString());
141 resourceMetaData.setVersion("0.1");
142 ResourceUIUtils.importVfFromCsar(resourceMetaData, filePath, csarTestFile, getUser());
144 //Navigate to Properties Assignment screen, edit simple properties values and save from a dialog
145 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
146 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
147 PropertiesAssignmentPage.selectBooleanPropertyValue(propertyNameTrue, propertyValueTrue);
148 PropertiesAssignmentPage.selectBooleanPropertyValue(propertyNameFalse, propertyValueFalse);
149 PropertiesAssignmentPage.clickOnSaveButton();
151 //Verify that properties values are saved
152 ResourceGeneralPage.getLeftMenu().moveToDeploymentViewScreen();
153 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
154 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
155 PropertiesAssignmentVerificator.validateBooleanPropertyValue(propertyNameTrue, propertyValueTrue);
156 PropertiesAssignmentVerificator.validateBooleanPropertyValue(propertyNameFalse, propertyValueFalse);
160 public void editAndSavePopupPropertyValueTest() throws Exception {
161 // Internal bug 391466
162 // Popup Property: value editing is done in a popup text field, opened by clicking Edit button
163 // Example: subnetpoolid property
165 String csarTestFile = csarFile1;
166 String componentName = "abstract_cif";
167 String propertyName = "port_cif_imsli_port_subnetpoolid";
168 String propertyValue = "updated by designer";
171 ResourceReqDetails resourceMetaData = ElementFactory.getDefaultResourceByType(
172 "ciRes", NormativeTypesEnum.ROOT, ResourceCategoryEnum.APPLICATION_L4_DATABASE, getUser().getUserId(), ResourceTypeEnum.VF.toString());
173 resourceMetaData.setVersion("0.1");
174 ResourceUIUtils.importVfFromCsar(resourceMetaData, filePath, csarTestFile, getUser());
176 //Navigate to Properties Assignment screen, edit popup property value and save
177 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
178 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
179 PropertiesAssignmentPage.clickOnEditButton(propertyName);
180 PropertiesAssignmentPage.editPropertyValue(PropertyNameBuilder.buildSimpleField(propertyName), propertyValue);
181 PropertiesAssignmentPage.clickOnSetButton();
182 PropertiesAssignmentPage.clickOnSaveButton();
184 //Verify that popup property value is saved
185 ResourceGeneralPage.getLeftMenu().moveToDeploymentViewScreen();
186 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
187 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
188 PropertiesAssignmentPage.clickOnEditButton(propertyName);
189 PropertiesAssignmentVerificator.validatePropertyValue(PropertyNameBuilder.buildSimpleField(propertyName), propertyValue);
195 public void editAndDiscardSimplePropertyValueTest() throws Exception {
197 String csarTestFile = csarFile;
198 String componentName = "abstract_psm";
199 String propertyNameString = "value-prop-nfc_function";
200 String propertyNameInt = "value-prop-index_value";
201 String propertyValueString = "abc";
202 String propertyValueInt = "123";
203 String propertyOrigValueString = "";
204 String propertyOrigValueInt = "0";
207 ResourceReqDetails resourceMetaData = ElementFactory.getDefaultResourceByType("ciRes", NormativeTypesEnum.ROOT, ResourceCategoryEnum.APPLICATION_L4_DATABASE, getUser().getUserId(), ResourceTypeEnum.VF.toString());
208 resourceMetaData.setVersion("0.1");
209 ResourceUIUtils.importVfFromCsar(resourceMetaData, filePath, csarTestFile, getUser());
211 //Navigate to Properties Assignment screen, edit simple properties values and discard changes
212 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
213 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
214 PropertiesAssignmentPage.editPropertyValue(propertyNameString, propertyValueString);
215 PropertiesAssignmentPage.editPropertyValue(propertyNameInt, propertyValueInt);
216 PropertiesAssignmentPage.clickOnDiscardButton();
218 //Verify that properties values are not saved
219 HomePage.navigateToHomePage();
220 GeneralUIUtils.findComponentAndClick(resourceMetaData.getName());
221 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
222 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
223 PropertiesAssignmentVerificator.validatePropertyValue(propertyNameString, propertyOrigValueString);
224 PropertiesAssignmentVerificator.validatePropertyValue(propertyNameInt, propertyOrigValueInt);
228 public void editAndSaveSimplePropertyFromDialogTest() throws Exception {
230 String csarTestFile = csarFile;
231 String componentName = "abstract_psm";
232 String propertyNameString = "value-prop-nfc_function";
233 String propertyNameInt = "value-prop-index_value";
234 String propertyValueString = "abc";
235 String propertyValueInt = "123";
238 ResourceReqDetails resourceMetaData = ElementFactory.getDefaultResourceByType("ciRes", NormativeTypesEnum.ROOT, ResourceCategoryEnum.APPLICATION_L4_DATABASE, getUser().getUserId(), ResourceTypeEnum.VF.toString());
239 resourceMetaData.setVersion("0.1");
240 ResourceUIUtils.importVfFromCsar(resourceMetaData, filePath, csarTestFile, getUser());
242 //Navigate to Properties Assignment screen, edit simple properties values and save from a dialog
243 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
244 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
245 PropertiesAssignmentPage.editPropertyValue(propertyNameString, propertyValueString);
246 PropertiesAssignmentPage.editPropertyValue(propertyNameInt, propertyValueInt);
247 PropertiesAssignmentPage.clickOnInputTab();
248 PropertiesAssignmentPage.clickOnDialogCancelButton();
250 //Verify that properties values are not removed
251 PropertiesAssignmentVerificator.validatePropertyValue(propertyNameString, propertyValueString);
252 PropertiesAssignmentVerificator.validatePropertyValue(propertyNameInt, propertyValueInt);
254 PropertiesAssignmentPage.clickOnInputTab();
255 PropertiesAssignmentPage.clickOnDialogSaveButton();
257 //Verify that properties values are saved
258 HomePage.navigateToHomePage();
259 GeneralUIUtils.findComponentAndClick(resourceMetaData.getName());
260 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
261 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
262 PropertiesAssignmentVerificator.validatePropertyValue(propertyNameString, propertyValueString);
263 PropertiesAssignmentVerificator.validatePropertyValue(propertyNameInt, propertyValueInt);
268 public void editAndDiscardSimplePropertyFromDialogTest() throws Exception {
270 String csarTestFile = csarFile;
271 String componentName = "abstract_psm";
272 String propertyNameString = "value-prop-nfc_function";
273 String propertyNameInt = "value-prop-index_value";
274 String propertyValueString = "abc";
275 String propertyValueInt = "123";
276 String propertyOrigValueString = "";
277 String propertyOrigValueInt = "0";
280 ResourceReqDetails resourceMetaData = ElementFactory.getDefaultResourceByType("ciRes", NormativeTypesEnum.ROOT, ResourceCategoryEnum.APPLICATION_L4_DATABASE, getUser().getUserId(), ResourceTypeEnum.VF.toString());
281 resourceMetaData.setVersion("0.1");
282 ResourceUIUtils.importVfFromCsar(resourceMetaData, filePath, csarTestFile, getUser());
284 //Navigate to Properties Assignment screen, edit simple properties values and save from a dialog
285 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
286 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
287 PropertiesAssignmentPage.editPropertyValue(propertyNameString, propertyValueString);
288 PropertiesAssignmentPage.editPropertyValue(propertyNameInt, propertyValueInt);
289 PropertiesAssignmentPage.clickOnInputTab();
290 PropertiesAssignmentPage.clickOnDialogCancelButton();
292 ///Verify that properties values are not removed
293 PropertiesAssignmentVerificator.validatePropertyValue(propertyNameString, propertyValueString);
294 PropertiesAssignmentVerificator.validatePropertyValue(propertyNameInt, propertyValueInt);
296 PropertiesAssignmentPage.clickOnInputTab();
297 PropertiesAssignmentPage.clickOnDialogDiscardButton();
299 //Verify that properties values are saved
300 HomePage.navigateToHomePage();
301 GeneralUIUtils.findComponentAndClick(resourceMetaData.getName());
302 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
303 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
304 PropertiesAssignmentVerificator.validatePropertyValue(propertyNameString, propertyOrigValueString);
305 PropertiesAssignmentVerificator.validatePropertyValue(propertyNameInt, propertyOrigValueInt);
310 public void editAndSaveInputValueTest() throws Exception {
312 String csarTestFile = csarFile;
313 String componentName = "abstract_psm";
314 String propertyNameString = "value-input-nf_type";
315 String propertyNameFloat = "value-input-pcm_volume_size_0";
316 String propertyNameBoolean = "value-input-multi_stage_design";
317 String propertyValueString = "POLICY";
318 String propertyValueFloat = "80.1";
319 String propertyValueBoolean = "TRUE";
322 ResourceReqDetails resourceMetaData = ElementFactory.getDefaultResourceByType("ciRes", NormativeTypesEnum.ROOT, ResourceCategoryEnum.APPLICATION_L4_DATABASE, getUser().getUserId(), ResourceTypeEnum.VF.toString());
323 resourceMetaData.setVersion("0.1");
324 ResourceUIUtils.importVfFromCsar(resourceMetaData, filePath, csarTestFile, getUser());
326 //Navigate to Properties Assignment screen - Inputs
327 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
328 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
329 PropertiesAssignmentPage.clickOnInputTab();
331 //Verify that Save button is disabled when inserting invalid value into Input field
332 PropertiesAssignmentPage.editPropertyValue(propertyNameFloat, propertyValueString);
333 AssertJUnit.assertTrue(PropertiesAssignmentPage.isButtonDisabled(DataTestIdEnum.PropertiesAssignmentScreen.SAVE_BUTTON.getValue()));
335 //Insert valid values for different Input types and save
336 PropertiesAssignmentPage.editPropertyValue(propertyNameFloat, propertyValueFloat);
337 PropertiesAssignmentPage.editPropertyValue(propertyNameString, propertyValueString);
338 PropertiesAssignmentPage.selectBooleanPropertyValue(propertyNameBoolean, propertyValueBoolean);
339 PropertiesAssignmentPage.clickOnSaveButton();
341 //Verify that input values are saved after changing VF version
342 ResourceGeneralPage.clickCheckinButton(resourceMetaData.getName());
343 GeneralUIUtils.findComponentAndClick(resourceMetaData.getName());
344 GeneralPageElements.clickCheckoutButton();
345 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
346 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
347 PropertiesAssignmentPage.clickOnInputTab();
348 PropertiesAssignmentVerificator.validatePropertyValue(propertyNameString, propertyValueString);
349 PropertiesAssignmentVerificator.validatePropertyValue(propertyNameFloat, propertyValueFloat);
350 PropertiesAssignmentVerificator.validateBooleanPropertyValue(propertyNameBoolean, propertyValueBoolean);
353 //VF - List and Map Properties Tests
356 public void editAndSaveListPropertyValueTest() throws Exception {
358 String csarTestFile = csarFile;
359 String componentName = "abstract_pps";
360 String propertyName = "compute_pps_user_data_format";
361 String propertyListValueZero = "RAW";
362 String propertyListValueOne = "property-value-one";
363 String propertyListValueTwo = "property-value-two";
367 ResourceReqDetails resourceMetaData = ElementFactory.getDefaultResourceByType("ciRes", NormativeTypesEnum.ROOT, ResourceCategoryEnum.APPLICATION_L4_DATABASE, getUser().getUserId(), ResourceTypeEnum.VF.toString());
368 resourceMetaData.setVersion("0.1");
369 ResourceUIUtils.importVfFromCsar(resourceMetaData, filePath, csarTestFile, getUser());
371 //Navigate to Properties Assignment screen, edit "list of strings" properties values and save
372 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
373 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
374 PropertiesAssignmentPage.clickOnAddValueToList(propertyName);
375 PropertiesAssignmentPage.editPropertyValue(PropertyNameBuilder.buildIndexedField(propertyName, 1), propertyListValueOne);
376 PropertiesAssignmentPage.clickOnAddValueToList(propertyName);
377 PropertiesAssignmentPage.editPropertyValue(PropertyNameBuilder.buildIndexedField(propertyName, 2), propertyListValueTwo);
378 PropertiesAssignmentPage.clickOnSaveButton();
379 PropertiesAssignmentPage.clickODeleteValueFromList(propertyName, 1);
380 PropertiesAssignmentPage.clickOnSaveButton();
382 //Verify that properties values are saved
383 ResourceGeneralPage.clickCheckinButton(resourceMetaData.getName());
384 GeneralUIUtils.findComponentAndClick(resourceMetaData.getName());
385 GeneralPageElements.clickCheckoutButton();
386 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
387 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
388 PropertiesAssignmentVerificator.validatePropertyValue(PropertyNameBuilder.buildIndexedField(propertyName, 0), propertyListValueZero);
389 PropertiesAssignmentVerificator.validatePropertyValue(PropertyNameBuilder.buildIndexedField(propertyName, 1), propertyListValueTwo);
392 //Declare property as input, delete input
393 PropertiesAssignmentPage.findSearchBoxAndClick(propertyName);
394 PropertiesAssignmentPage.clickOnDeclareButton();
395 AssertJUnit.assertTrue(PropertiesAssignmentPage.isPropertyChecked(propertyName));
397 PropertiesAssignmentPage.clickOnInputTab();
398 PropertiesAssignmentPage.findInput(componentName, propertyName);
399 PropertiesAssignmentPage.clickOnDeleteInputButton();
400 PropertiesAssignmentPage.clickOnDeleteInputDialogConfirmationButton();
401 PropertiesAssignmentPage.clickOnPropertiesTab();
402 PropertiesAssignmentPage.findProperty(propertyName);
403 AssertJUnit.assertFalse(PropertiesAssignmentPage.isPropertyChecked(propertyName));
407 public void editAndSaveListOfComplexPropertyValueTest() throws Exception {
409 //External Defect 437285 - PLEASE DON'T DELETE THE TEST!!!!
411 String csarTestFile = csarFile1;
412 String componentName = "abstract_cdi";
413 String propertyName = "port_cdi_imscore_port_ip_requirements";
414 String nestedPropertyName = "ip_count";
415 String propertyListValue = "12345";
418 ResourceReqDetails resourceMetaData = ElementFactory.getDefaultResourceByType("ciRes", NormativeTypesEnum.ROOT, ResourceCategoryEnum.APPLICATION_L4_DATABASE, getUser().getUserId(), ResourceTypeEnum.VF.toString());
419 resourceMetaData.setVersion("0.1");
420 ResourceUIUtils.importVfFromCsar(resourceMetaData, filePath, csarTestFile, getUser());
422 //Navigate to Properties Assignment screen, edit "list of strings" properties values and save
423 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
424 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
425 PropertiesAssignmentPage.clickOnAddValueToList(propertyName);
426 PropertiesAssignmentPage.editPropertyValue(PropertyNameBuilder.buildIComplexListField(propertyName, nestedPropertyName, 1), propertyListValue);
427 PropertiesAssignmentPage.clickOnSaveButton();
428 PropertiesAssignmentPage.clickOnExpandButton(propertyName, 1);
429 PropertiesAssignmentPage.deletePropertyValue(PropertyNameBuilder.buildIComplexListField(propertyName, nestedPropertyName, 1));
430 PropertiesAssignmentPage.clickOnSaveButton();
432 //Verify that properties values are saved
433 HomePage.navigateToHomePage();
434 GeneralUIUtils.findComponentAndClick(resourceMetaData.getName());
435 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
436 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
437 PropertiesAssignmentPage.clickOnExpandButton(propertyName, 1);
438 PropertiesAssignmentVerificator.validatePropertyValue(PropertyNameBuilder.buildIComplexListField(propertyName, nestedPropertyName, 1), "");
445 public void editAndSaveMapPropertyValueTest() throws Exception {
447 String csarTestFile = csarFile;
448 String componentName = "oam_volume_0";
449 String propertyName = "metadata";
450 String propertyMapKeyOne = "KEY1";
451 String propertyMapValueOne = "property-value-one";
452 String propertyMapKeyTwo = "KEY2";
453 String propertyMapValueTwo = "property-value-two";
456 ResourceReqDetails resourceMetaData = ElementFactory.getDefaultResourceByType("ciRes", NormativeTypesEnum.ROOT, ResourceCategoryEnum.APPLICATION_L4_DATABASE, getUser().getUserId(), ResourceTypeEnum.VF.toString());
457 resourceMetaData.setVersion("0.1");
458 ResourceUIUtils.importVfFromCsar(resourceMetaData, filePath, csarTestFile, getUser());
460 //Navigate to Properties Assignment screen, edit "map of strings" properties values and save
461 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
462 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
463 PropertiesAssignmentPage.clickOnAddValueToList(propertyName);
464 PropertiesAssignmentPage.editPropertyValue(PropertyNameBuilder.buildIndexedField(propertyName, 0), propertyMapValueOne);
467 //Verify that Save and Declare buttons are disabled when leaving Key value empty
468 AssertJUnit.assertTrue(PropertiesAssignmentPage.isButtonDisabled(DataTestIdEnum.PropertiesAssignmentScreen.SAVE_BUTTON.getValue()));
469 AssertJUnit.assertTrue(PropertiesAssignmentPage.isButtonDisabled(DataTestIdEnum.PropertiesAssignmentScreen.DECLARE_BUTTON.getValue()));
471 PropertiesAssignmentPage.editPropertyValue(PropertyNameBuilder.buildIndexedKeyField(propertyName, 0), propertyMapKeyOne);
472 PropertiesAssignmentPage.clickOnSaveButton();
473 PropertiesAssignmentPage.clickOnAddValueToList(propertyName);
474 PropertiesAssignmentPage.editPropertyValue(PropertyNameBuilder.buildIndexedKeyField(propertyName, 1), propertyMapKeyTwo);
475 PropertiesAssignmentPage.editPropertyValue(PropertyNameBuilder.buildIndexedField(propertyName, 1), propertyMapValueTwo);
476 PropertiesAssignmentPage.clickODeleteValueFromList(propertyName, 0);
477 PropertiesAssignmentPage.clickOnSaveButton();
479 //Verify that properties values are saved
480 ResourceGeneralPage.clickCheckinButton(resourceMetaData.getName());
481 GeneralUIUtils.findComponentAndClick(resourceMetaData.getName());
482 GeneralPageElements.clickCheckoutButton();
483 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
484 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
485 PropertiesAssignmentVerificator.validatePropertyValue(PropertyNameBuilder.buildIndexedKeyField(propertyName, 0), propertyMapKeyTwo);
486 PropertiesAssignmentVerificator.validatePropertyValue(PropertyNameBuilder.buildIndexedField(propertyName, 0), propertyMapValueTwo);
488 //Declare property as input, delete input
489 PropertiesAssignmentPage.findSearchBoxAndClick(propertyName);
490 PropertiesAssignmentPage.clickOnDeclareButton();
491 AssertJUnit.assertTrue(PropertiesAssignmentPage.isPropertyChecked(propertyName));
493 PropertiesAssignmentPage.clickOnInputTab();
494 PropertiesAssignmentPage.findInput(componentName, propertyName);
495 PropertiesAssignmentPage.clickOnDeleteInputButton();
496 PropertiesAssignmentPage.clickOnDeleteInputDialogConfirmationButton();
497 PropertiesAssignmentPage.clickOnPropertiesTab();
498 PropertiesAssignmentPage.findProperty(propertyName);
499 AssertJUnit.assertFalse(PropertiesAssignmentPage.isPropertyChecked(propertyName));
503 //VF - Complex Properties Tests
505 public void editAndSaveComplexPropertyValueTest() throws Exception {
507 String csarTestFile = csarFile;
508 String componentName = "abstract_psm";
509 String propertyName = "service_template_filter";
510 String propertyNameString = "substitute_service_template";
511 String propertyNameInt = "index_value";
512 String propertyNameBoolean = "scaling_enabled";
513 String propertyValueString = "Modified_psmServiceTemplate.yaml";
514 String propertyValueInt = "2147483647";
515 String propertyValueBoolean = "FALSE";
518 ResourceReqDetails resourceMetaData = ElementFactory.getDefaultResourceByType("ciRes", NormativeTypesEnum.ROOT, ResourceCategoryEnum.APPLICATION_L4_DATABASE, getUser().getUserId(), ResourceTypeEnum.VF.toString());
519 resourceMetaData.setVersion("0.1");
520 ResourceUIUtils.importVfFromCsar(resourceMetaData, filePath, csarTestFile, getUser());
522 //Navigate to Properties Assignment screen, edit simple properties values and save
523 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
524 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
525 PropertiesAssignmentPage.editPropertyValue(PropertyNameBuilder.buildIComplexField(propertyName, propertyNameString), propertyValueString);
526 PropertiesAssignmentPage.editPropertyValue(PropertyNameBuilder.buildIComplexField(propertyName, propertyNameInt), propertyValueInt);
527 PropertiesAssignmentPage.selectBooleanPropertyValue(PropertyNameBuilder.buildIComplexField(propertyName, propertyNameBoolean), propertyValueBoolean);
528 PropertiesAssignmentPage.clickOnSaveButton();
530 //Verify that properties values are saved
531 ResourceGeneralPage.clickCheckinButton(resourceMetaData.getName());
532 GeneralUIUtils.findComponentAndClick(resourceMetaData.getName());
533 GeneralPageElements.clickCheckoutButton();
534 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
535 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
536 PropertiesAssignmentVerificator.validatePropertyValue(PropertyNameBuilder.buildIComplexField(propertyName, propertyNameString), propertyValueString);
537 PropertiesAssignmentVerificator.validatePropertyValue(PropertyNameBuilder.buildIComplexField(propertyName, propertyNameInt), propertyValueInt);
538 PropertiesAssignmentVerificator.validateBooleanPropertyValue(PropertyNameBuilder.buildIComplexField(propertyName, propertyNameBoolean), propertyValueBoolean);
540 //Select complex property and declare as input
541 PropertiesAssignmentPage.findSearchBoxAndClick(propertyName);
542 PropertiesAssignmentPage.clickOnDeclareButton();
543 PropertiesAssignmentVerificator.validatePropertyValue(PropertyNameBuilder.buildSimpleField(propertyName), PropertyNameBuilder.buildVfDeclaredPropValue(componentName, propertyName));
549 public void filterAllVfTest() throws Exception {
550 final int propertiesCountFilter = 22;
551 int propertiesCountWithoutFilter;
553 String csarTestFile = csarFile;
554 String propertyName = "name";
555 String propertyLocation = DataTestIdEnum.PropertiesAssignmentScreen.PROPERTY_NAME_COLUMN.getValue();
557 ResourceReqDetails resourceMetaData = ElementFactory.getDefaultResourceByType("ciRes", NormativeTypesEnum.ROOT, ResourceCategoryEnum.APPLICATION_L4_DATABASE, getUser().getUserId(), ResourceTypeEnum.VF.toString());
558 resourceMetaData.setVersion("0.1");
559 ResourceUIUtils.importVfFromCsar(resourceMetaData, filePath, csarTestFile, getUser());
562 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
563 //Count current properties number before filter is applied
564 propertiesCountWithoutFilter = GeneralUIUtils.getWebElementsListByContainsClassName(propertyLocation).size();
565 PropertiesAssignmentPage.clickOnFilterButton();
566 PropertiesAssignmentPage.clickOnFilterAllCheckbox();
567 PropertiesAssignmentPage.findFilterBoxAndClick(propertyName);
568 PropertiesAssignmentPage.clickOnFilterApplyButton();
569 PropertiesAssignmentVerificator.validateFilteredPropertiesCount(propertiesCountFilter, propertyLocation);
571 PropertiesAssignmentPage.clickOnFilterClearAllButton();
572 PropertiesAssignmentVerificator.validateFilteredPropertiesCount(propertiesCountWithoutFilter, propertyLocation);
576 protected UserRoleEnum getRole() {
577 return UserRoleEnum.DESIGNER;