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.openecomp.sdc.ci.tests.execute.sanity;
23 import com.aventstack.extentreports.Status;
24 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
25 import org.openecomp.sdc.ci.tests.datatypes.DataTestIdEnum;
26 import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails;
27 import org.openecomp.sdc.ci.tests.datatypes.enums.NormativeTypesEnum;
28 import org.openecomp.sdc.ci.tests.datatypes.enums.ResourceCategoryEnum;
29 import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
30 import org.openecomp.sdc.ci.tests.execute.setup.SetupCDTest;
31 import org.openecomp.sdc.ci.tests.pages.*;
32 import org.openecomp.sdc.ci.tests.utilities.FileHandling;
33 import org.openecomp.sdc.ci.tests.utilities.GeneralUIUtils;
34 import org.openecomp.sdc.ci.tests.utilities.ResourceUIUtils;
35 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
36 import org.openecomp.sdc.ci.tests.verificator.PropertiesAssignmentVerificator;
37 import org.testng.AssertJUnit;
38 import org.testng.annotations.BeforeClass;
39 import org.testng.annotations.BeforeMethod;
40 import org.testng.annotations.Test;
43 public class PropertiesAssignment extends SetupCDTest {
45 private static String filePath;
46 private static String csarFile = "PCRF_OS_FIXED.csar";
47 private static String csarFile1 = "437285.csar";
50 public void beforeClass(){
51 filePath = FileHandling.getFilePath("");
55 public void beforeTest(){
56 System.out.println("File repository is : " + filePath);
57 getExtendTest().log(Status.INFO, "File repository is : " + filePath);
61 //VF - Simple Properties Tests
63 public void declareAndDeleteInputVfTest() throws Exception {
65 String csarTestFile = csarFile;
66 // String componentName = "abstract_pcm";
67 String componentName = "abstract_psm";
68 // String propertyName = "min_instances";
69 String propertyName = "service_template_filter";
71 ResourceReqDetails resourceMetaData = ElementFactory.getDefaultResourceByType("ciRes", NormativeTypesEnum.ROOT, ResourceCategoryEnum.APPLICATION_L4_DATABASE, getUser().getUserId(), ResourceTypeEnum.VF.toString());
72 resourceMetaData.setVersion("0.1");
73 ResourceUIUtils.importVfFromCsar(resourceMetaData, filePath, csarTestFile, getUser());
76 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
77 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
78 PropertiesAssignmentPage.findSearchBoxAndClick(propertyName);
79 PropertiesAssignmentPage.clickOnDeclareButton();
80 GeneralUIUtils.ultimateWait();
81 AssertJUnit.assertTrue(PropertiesAssignmentPage.isPropertyChecked(propertyName));
83 PropertiesAssignmentPage.clickOnInputTab();
84 PropertiesAssignmentPage.findInput(componentName, propertyName);
85 PropertiesAssignmentPage.clickOnDeleteInputButton();
86 PropertiesAssignmentPage.clickOnDeleteInputDialogConfirmationButton();
87 PropertiesAssignmentPage.clickOnPropertiesTab();
88 PropertiesAssignmentPage.findProperty(propertyName);
89 AssertJUnit.assertFalse(PropertiesAssignmentPage.isPropertyChecked(propertyName));
96 public void editAndSaveSimplePropertyValueTest() throws Exception {
98 String csarTestFile = csarFile;
99 String componentName = "abstract_psm";
100 String propertyNameString = PropertyNameBuilder.buildSimpleField("nfc_function");
101 String propertyNameInt = PropertyNameBuilder.buildSimpleField("index_value");
102 String propertyValueString = "abc";
103 String propertyValueInt = "123";
106 ResourceReqDetails resourceMetaData = ElementFactory.getDefaultResourceByType(
107 "ciRes", NormativeTypesEnum.ROOT, ResourceCategoryEnum.APPLICATION_L4_DATABASE, getUser().getUserId(), ResourceTypeEnum.VF.toString());
108 resourceMetaData.setVersion("0.1");
109 ResourceUIUtils.importVfFromCsar(resourceMetaData, filePath, csarTestFile, getUser());
111 //Navigate to Properties Assignment screen, edit simple properties values and save
112 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
113 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
114 // PropertiesAssignmentPage.editPropertyValue(propertyNameString, propertyValueString);
115 PropertiesAssignmentPage.editPropertyValue(propertyNameString, propertyValueString);
116 PropertiesAssignmentPage.editPropertyValue(propertyNameInt, propertyValueInt);
117 PropertiesAssignmentPage.clickOnSaveButton();
119 //Verify that properties values are saved
120 HomePage.navigateToHomePage();
121 GeneralUIUtils.findComponentAndClick(resourceMetaData.getName());
122 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
123 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
124 PropertiesAssignmentVerificator.validatePropertyValue(propertyNameString,propertyValueString);
125 PropertiesAssignmentVerificator.validatePropertyValue(propertyNameInt,propertyValueInt);
129 public void editAndSaveBooleanPropertyValueTest() throws Exception {
131 String csarTestFile = csarFile;
132 String componentName = "oam_volume_0";
133 String propertyNameTrue = "value-prop-read_only";
134 String propertyValueTrue = "TRUE";
135 String propertyNameFalse = "value-prop-delete_on_termination";
136 String propertyValueFalse = "FALSE";
139 ResourceReqDetails resourceMetaData = ElementFactory.getDefaultResourceByType("ciRes", NormativeTypesEnum.ROOT, ResourceCategoryEnum.APPLICATION_L4_DATABASE, getUser().getUserId(), ResourceTypeEnum.VF.toString());
140 resourceMetaData.setVersion("0.1");
141 ResourceUIUtils.importVfFromCsar(resourceMetaData, filePath, csarTestFile, getUser());
143 //Navigate to Properties Assignment screen, edit simple properties values and save from a dialog
144 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
145 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
146 PropertiesAssignmentPage.selectBooleanPropertyValue(propertyNameTrue, propertyValueTrue);
147 PropertiesAssignmentPage.selectBooleanPropertyValue(propertyNameFalse, propertyValueFalse);
148 PropertiesAssignmentPage.clickOnSaveButton();
150 //Verify that properties values are saved
151 ResourceGeneralPage.getLeftMenu().moveToDeploymentViewScreen();
152 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
153 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
154 PropertiesAssignmentVerificator.validateBooleanPropertyValue(propertyNameTrue,propertyValueTrue);
155 PropertiesAssignmentVerificator.validateBooleanPropertyValue(propertyNameFalse,propertyValueFalse);
159 public void editAndSavePopupPropertyValueTest() throws Exception {
160 // Internal bug 391466
161 // Popup Property: value editing is done in a popup text field, opened by clicking Edit button
162 // Example: subnetpoolid property
164 String csarTestFile = csarFile1;
165 String componentName = "abstract_cif";
166 String propertyName = "port_cif_imsli_port_subnetpoolid";
167 String propertyValue = "updated by designer";
170 ResourceReqDetails resourceMetaData = ElementFactory.getDefaultResourceByType(
171 "ciRes", NormativeTypesEnum.ROOT, ResourceCategoryEnum.APPLICATION_L4_DATABASE, getUser().getUserId(), ResourceTypeEnum.VF.toString());
172 resourceMetaData.setVersion("0.1");
173 ResourceUIUtils.importVfFromCsar(resourceMetaData, filePath, csarTestFile, getUser());
175 //Navigate to Properties Assignment screen, edit popup property value and save
176 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
177 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
178 PropertiesAssignmentPage.clickOnEditButton(propertyName);
179 PropertiesAssignmentPage.editPropertyValue(PropertyNameBuilder.buildSimpleField(propertyName), propertyValue);
180 PropertiesAssignmentPage.clickOnSetButton();
181 PropertiesAssignmentPage.clickOnSaveButton();
183 //Verify that popup property value is saved
184 // HomePage.navigateToHomePage();
185 // GeneralUIUtils.findComponentAndClick(resourceMetaData.getName());
186 // ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
187 ResourceGeneralPage.getLeftMenu().moveToDeploymentViewScreen();
188 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
189 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
190 PropertiesAssignmentPage.clickOnEditButton(propertyName);
191 PropertiesAssignmentVerificator.validatePropertyValue(PropertyNameBuilder.buildSimpleField(propertyName),propertyValue);
197 public void editAndDiscardSimplePropertyValueTest() throws Exception {
199 String csarTestFile = csarFile;
200 String componentName = "abstract_psm";
201 String propertyNameString = "value-prop-nfc_function";
202 String propertyNameInt = "value-prop-index_value";
203 String propertyValueString = "abc";
204 String propertyValueInt = "123";
205 String propertyOrigValueString = "";
206 String propertyOrigValueInt = "0";
209 ResourceReqDetails resourceMetaData = ElementFactory.getDefaultResourceByType("ciRes", NormativeTypesEnum.ROOT, ResourceCategoryEnum.APPLICATION_L4_DATABASE, getUser().getUserId(), ResourceTypeEnum.VF.toString());
210 resourceMetaData.setVersion("0.1");
211 ResourceUIUtils.importVfFromCsar(resourceMetaData, filePath, csarTestFile, getUser());
213 //Navigate to Properties Assignment screen, edit simple properties values and discard changes
214 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
215 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
216 PropertiesAssignmentPage.editPropertyValue(propertyNameString, propertyValueString);
217 PropertiesAssignmentPage.editPropertyValue(propertyNameInt, propertyValueInt);
218 PropertiesAssignmentPage.clickOnDiscardButton();
220 //Verify that properties values are not saved
221 HomePage.navigateToHomePage();
222 GeneralUIUtils.findComponentAndClick(resourceMetaData.getName());
223 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
224 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
225 PropertiesAssignmentVerificator.validatePropertyValue(propertyNameString,propertyOrigValueString);
226 PropertiesAssignmentVerificator.validatePropertyValue(propertyNameInt,propertyOrigValueInt);
230 public void editAndSaveSimplePropertyFromDialogTest() throws Exception {
232 String csarTestFile = csarFile;
233 String componentName = "abstract_psm";
234 String propertyNameString = "value-prop-nfc_function";
235 String propertyNameInt = "value-prop-index_value";
236 String propertyValueString = "abc";
237 String propertyValueInt = "123";
240 ResourceReqDetails resourceMetaData = ElementFactory.getDefaultResourceByType("ciRes", NormativeTypesEnum.ROOT, ResourceCategoryEnum.APPLICATION_L4_DATABASE, getUser().getUserId(), ResourceTypeEnum.VF.toString());
241 resourceMetaData.setVersion("0.1");
242 ResourceUIUtils.importVfFromCsar(resourceMetaData, filePath, csarTestFile, getUser());
244 //Navigate to Properties Assignment screen, edit simple properties values and save from a dialog
245 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
246 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
247 PropertiesAssignmentPage.editPropertyValue(propertyNameString, propertyValueString);
248 PropertiesAssignmentPage.editPropertyValue(propertyNameInt, propertyValueInt);
249 PropertiesAssignmentPage.clickOnInputTab();
250 PropertiesAssignmentPage.clickOnDialogCancelButton();
252 //Verify that properties values are not removed
253 PropertiesAssignmentVerificator.validatePropertyValue(propertyNameString,propertyValueString);
254 PropertiesAssignmentVerificator.validatePropertyValue(propertyNameInt,propertyValueInt);
256 PropertiesAssignmentPage.clickOnInputTab();
257 PropertiesAssignmentPage.clickOnDialogSaveButton();
259 //Verify that properties values are saved
260 HomePage.navigateToHomePage();
261 GeneralUIUtils.findComponentAndClick(resourceMetaData.getName());
262 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
263 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
264 PropertiesAssignmentVerificator.validatePropertyValue(propertyNameString,propertyValueString);
265 PropertiesAssignmentVerificator.validatePropertyValue(propertyNameInt,propertyValueInt);
270 public void editAndDiscardSimplePropertyFromDialogTest() throws Exception {
272 String csarTestFile = csarFile;
273 String componentName = "abstract_psm";
274 String propertyNameString = "value-prop-nfc_function";
275 String propertyNameInt = "value-prop-index_value";
276 String propertyValueString = "abc";
277 String propertyValueInt = "123";
278 String propertyOrigValueString = "";
279 String propertyOrigValueInt = "0";
282 ResourceReqDetails resourceMetaData = ElementFactory.getDefaultResourceByType("ciRes", NormativeTypesEnum.ROOT, ResourceCategoryEnum.APPLICATION_L4_DATABASE, getUser().getUserId(), ResourceTypeEnum.VF.toString());
283 resourceMetaData.setVersion("0.1");
284 ResourceUIUtils.importVfFromCsar(resourceMetaData, filePath, csarTestFile, getUser());
286 //Navigate to Properties Assignment screen, edit simple properties values and save from a dialog
287 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
288 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
289 PropertiesAssignmentPage.editPropertyValue(propertyNameString, propertyValueString);
290 PropertiesAssignmentPage.editPropertyValue(propertyNameInt, propertyValueInt);
291 PropertiesAssignmentPage.clickOnInputTab();
292 PropertiesAssignmentPage.clickOnDialogCancelButton();
294 ///Verify that properties values are not removed
295 PropertiesAssignmentVerificator.validatePropertyValue(propertyNameString,propertyValueString);
296 PropertiesAssignmentVerificator.validatePropertyValue(propertyNameInt,propertyValueInt);
298 PropertiesAssignmentPage.clickOnInputTab();
299 PropertiesAssignmentPage.clickOnDialogDiscardButton();
301 //Verify that properties values are saved
302 HomePage.navigateToHomePage();
303 GeneralUIUtils.findComponentAndClick(resourceMetaData.getName());
304 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
305 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
306 PropertiesAssignmentVerificator.validatePropertyValue(propertyNameString,propertyOrigValueString);
307 PropertiesAssignmentVerificator.validatePropertyValue(propertyNameInt,propertyOrigValueInt);
312 public void editAndSaveInputValueTest() throws Exception {
314 String csarTestFile = csarFile;
315 String componentName = "abstract_psm";
316 String propertyNameString = "value-input-nf_type";
317 String propertyNameFloat = "value-input-pcm_volume_size_0";
318 String propertyNameBoolean = "value-input-multi_stage_design";
319 String propertyValueString = "POLICY";
320 String propertyValueFloat = "80.1";
321 String propertyValueBoolean = "TRUE";
324 ResourceReqDetails resourceMetaData = ElementFactory.getDefaultResourceByType("ciRes", NormativeTypesEnum.ROOT, ResourceCategoryEnum.APPLICATION_L4_DATABASE, getUser().getUserId(), ResourceTypeEnum.VF.toString());
325 resourceMetaData.setVersion("0.1");
326 ResourceUIUtils.importVfFromCsar(resourceMetaData, filePath, csarTestFile, getUser());
328 //Navigate to Properties Assignment screen - Inputs
329 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
330 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
331 PropertiesAssignmentPage.clickOnInputTab();
333 //Verify that Save button is disabled when inserting invalid value into Input field
334 PropertiesAssignmentPage.editPropertyValue(propertyNameFloat, propertyValueString);
335 AssertJUnit.assertTrue(PropertiesAssignmentPage.isButtonDisabled(DataTestIdEnum.PropertiesAssignmentScreen.SAVE_BUTTON.getValue()));
337 //Insert valid values for different Input types and save
338 PropertiesAssignmentPage.editPropertyValue(propertyNameFloat, propertyValueFloat);
339 PropertiesAssignmentPage.editPropertyValue(propertyNameString, propertyValueString);
340 PropertiesAssignmentPage.selectBooleanPropertyValue(propertyNameBoolean, propertyValueBoolean);
341 PropertiesAssignmentPage.clickOnSaveButton();
343 //Verify that input values are saved after changing VF version
344 ResourceGeneralPage.clickCheckinButton(resourceMetaData.getName());
345 GeneralUIUtils.findComponentAndClick(resourceMetaData.getName());
346 GeneralPageElements.clickCheckoutButton();
347 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
348 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
349 PropertiesAssignmentPage.clickOnInputTab();
350 PropertiesAssignmentVerificator.validatePropertyValue(propertyNameString,propertyValueString);
351 PropertiesAssignmentVerificator.validatePropertyValue(propertyNameFloat,propertyValueFloat);
352 PropertiesAssignmentVerificator.validateBooleanPropertyValue(propertyNameBoolean,propertyValueBoolean);
355 //VF - List and Map Properties Tests
358 public void editAndSaveListPropertyValueTest() throws Exception {
360 String csarTestFile = csarFile;
361 String componentName = "abstract_pps";
362 String propertyName = "compute_pps_user_data_format";
363 String propertyListValueZero = "RAW";
364 String propertyListValueOne = "property-value-one";
365 String propertyListValueTwo = "property-value-two";
369 ResourceReqDetails resourceMetaData = ElementFactory.getDefaultResourceByType("ciRes", NormativeTypesEnum.ROOT, ResourceCategoryEnum.APPLICATION_L4_DATABASE, getUser().getUserId(), ResourceTypeEnum.VF.toString());
370 resourceMetaData.setVersion("0.1");
371 ResourceUIUtils.importVfFromCsar(resourceMetaData, filePath, csarTestFile, getUser());
373 //Navigate to Properties Assignment screen, edit "list of strings" properties values and save
374 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
375 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
376 PropertiesAssignmentPage.clickOnAddValueToList(propertyName);
377 PropertiesAssignmentPage.editPropertyValue(PropertyNameBuilder.buildIndexedField(propertyName,1), propertyListValueOne);
378 PropertiesAssignmentPage.clickOnAddValueToList(propertyName);
379 PropertiesAssignmentPage.editPropertyValue(PropertyNameBuilder.buildIndexedField(propertyName,2), propertyListValueTwo);
380 PropertiesAssignmentPage.clickOnSaveButton();
381 PropertiesAssignmentPage.clickODeleteValueFromList(propertyName,1);
382 PropertiesAssignmentPage.clickOnSaveButton();
384 //Verify that properties values are saved
385 ResourceGeneralPage.clickCheckinButton(resourceMetaData.getName());
386 GeneralUIUtils.findComponentAndClick(resourceMetaData.getName());
387 GeneralPageElements.clickCheckoutButton();
388 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
389 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
390 PropertiesAssignmentVerificator.validatePropertyValue(PropertyNameBuilder.buildIndexedField(propertyName,0),propertyListValueZero);
391 PropertiesAssignmentVerificator.validatePropertyValue(PropertyNameBuilder.buildIndexedField(propertyName,1),propertyListValueTwo);
394 //Declare property as input, delete input
395 PropertiesAssignmentPage.findSearchBoxAndClick(propertyName);
396 PropertiesAssignmentPage.clickOnDeclareButton();
397 AssertJUnit.assertTrue(PropertiesAssignmentPage.isPropertyChecked(propertyName));
399 PropertiesAssignmentPage.clickOnInputTab();
400 PropertiesAssignmentPage.findInput(componentName, propertyName);
401 PropertiesAssignmentPage.clickOnDeleteInputButton();
402 PropertiesAssignmentPage.clickOnDeleteInputDialogConfirmationButton();
403 PropertiesAssignmentPage.clickOnPropertiesTab();
404 PropertiesAssignmentPage.findProperty(propertyName);
405 AssertJUnit.assertFalse(PropertiesAssignmentPage.isPropertyChecked(propertyName));
409 public void editAndSaveListOfComplexPropertyValueTest() throws Exception {
411 //External Defect 437285 - PLEASE DON'T DELETE THE TEST!!!!
413 String csarTestFile = csarFile1;
414 String componentName = "abstract_cdi";
415 String propertyName = "port_cdi_imscore_port_ip_requirements";
416 String nestedPropertyName = "ip_count";
417 String propertyListValue = "12345";
420 ResourceReqDetails resourceMetaData = ElementFactory.getDefaultResourceByType("ciRes", NormativeTypesEnum.ROOT, ResourceCategoryEnum.APPLICATION_L4_DATABASE, getUser().getUserId(), ResourceTypeEnum.VF.toString());
421 resourceMetaData.setVersion("0.1");
422 ResourceUIUtils.importVfFromCsar(resourceMetaData, filePath, csarTestFile, getUser());
424 //Navigate to Properties Assignment screen, edit "list of strings" properties values and save
425 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
426 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
427 PropertiesAssignmentPage.clickOnAddValueToList(propertyName);
428 PropertiesAssignmentPage.editPropertyValue(PropertyNameBuilder.buildIComplexListField(propertyName,nestedPropertyName,1),propertyListValue);
429 PropertiesAssignmentPage.clickOnSaveButton();
430 PropertiesAssignmentPage.clickOnExpandButton(propertyName,1);
431 PropertiesAssignmentPage.deletePropertyValue(PropertyNameBuilder.buildIComplexListField(propertyName,nestedPropertyName,1));
432 PropertiesAssignmentPage.clickOnSaveButton();
434 //Verify that properties values are saved
435 HomePage.navigateToHomePage();
436 GeneralUIUtils.findComponentAndClick(resourceMetaData.getName());
437 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
438 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
439 PropertiesAssignmentPage.clickOnExpandButton(propertyName,1);
440 PropertiesAssignmentVerificator.validatePropertyValue(PropertyNameBuilder.buildIComplexListField(propertyName,nestedPropertyName,1),"");
447 public void editAndSaveMapPropertyValueTest() throws Exception {
449 String csarTestFile = csarFile;
450 String componentName = "oam_volume_0";
451 String propertyName = "metadata";
452 String propertyMapKeyOne = "KEY1";
453 String propertyMapValueOne = "property-value-one";
454 String propertyMapKeyTwo = "KEY2";
455 String propertyMapValueTwo = "property-value-two";
458 ResourceReqDetails resourceMetaData = ElementFactory.getDefaultResourceByType("ciRes", NormativeTypesEnum.ROOT, ResourceCategoryEnum.APPLICATION_L4_DATABASE, getUser().getUserId(), ResourceTypeEnum.VF.toString());
459 resourceMetaData.setVersion("0.1");
460 ResourceUIUtils.importVfFromCsar(resourceMetaData, filePath, csarTestFile, getUser());
462 //Navigate to Properties Assignment screen, edit "map of strings" properties values and save
463 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
464 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
465 PropertiesAssignmentPage.clickOnAddValueToList(propertyName);
466 PropertiesAssignmentPage.editPropertyValue(PropertyNameBuilder.buildIndexedField(propertyName,0),propertyMapValueOne);
469 //Verify that Save and Declare buttons are disabled when leaving Key value empty
470 AssertJUnit.assertTrue(PropertiesAssignmentPage.isButtonDisabled(DataTestIdEnum.PropertiesAssignmentScreen.SAVE_BUTTON.getValue()));
471 AssertJUnit.assertTrue(PropertiesAssignmentPage.isButtonDisabled(DataTestIdEnum.PropertiesAssignmentScreen.DECLARE_BUTTON.getValue()));
473 PropertiesAssignmentPage.editPropertyValue(PropertyNameBuilder.buildIndexedKeyField(propertyName,0),propertyMapKeyOne);
474 PropertiesAssignmentPage.clickOnSaveButton();
475 PropertiesAssignmentPage.clickOnAddValueToList(propertyName);
476 PropertiesAssignmentPage.editPropertyValue(PropertyNameBuilder.buildIndexedKeyField(propertyName,1),propertyMapKeyTwo);
477 PropertiesAssignmentPage.editPropertyValue(PropertyNameBuilder.buildIndexedField(propertyName,1),propertyMapValueTwo);
478 PropertiesAssignmentPage.clickODeleteValueFromList(propertyName,0);
479 PropertiesAssignmentPage.clickOnSaveButton();
481 // //Verify that properties values are saved
482 ResourceGeneralPage.clickCheckinButton(resourceMetaData.getName());
483 GeneralUIUtils.findComponentAndClick(resourceMetaData.getName());
484 GeneralPageElements.clickCheckoutButton();
485 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
486 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
487 PropertiesAssignmentVerificator.validatePropertyValue(PropertyNameBuilder.buildIndexedKeyField(propertyName,0),propertyMapKeyTwo);
488 PropertiesAssignmentVerificator.validatePropertyValue(PropertyNameBuilder.buildIndexedField(propertyName,0),propertyMapValueTwo);
490 // //Declare property as input, delete input
491 PropertiesAssignmentPage.findSearchBoxAndClick(propertyName);
492 PropertiesAssignmentPage.clickOnDeclareButton();
493 AssertJUnit.assertTrue(PropertiesAssignmentPage.isPropertyChecked(propertyName));
495 PropertiesAssignmentPage.clickOnInputTab();
496 PropertiesAssignmentPage.findInput(componentName, propertyName);
497 PropertiesAssignmentPage.clickOnDeleteInputButton();
498 PropertiesAssignmentPage.clickOnDeleteInputDialogConfirmationButton();
499 PropertiesAssignmentPage.clickOnPropertiesTab();
500 PropertiesAssignmentPage.findProperty(propertyName);
501 AssertJUnit.assertFalse(PropertiesAssignmentPage.isPropertyChecked(propertyName));
505 //VF - Complex Properties Tests
507 public void editAndSaveComplexPropertyValueTest() throws Exception {
509 String csarTestFile = csarFile;
510 String componentName = "abstract_psm";
511 String propertyName = "service_template_filter";
512 String propertyNameString = "substitute_service_template";
513 String propertyNameInt = "index_value";
514 String propertyNameBoolean = "scaling_enabled";
515 String propertyValueString = "Modified_psmServiceTemplate.yaml";
516 String propertyValueInt = "2147483647";
517 String propertyValueBoolean = "FALSE";
520 ResourceReqDetails resourceMetaData = ElementFactory.getDefaultResourceByType("ciRes", NormativeTypesEnum.ROOT, ResourceCategoryEnum.APPLICATION_L4_DATABASE, getUser().getUserId(), ResourceTypeEnum.VF.toString());
521 resourceMetaData.setVersion("0.1");
522 ResourceUIUtils.importVfFromCsar(resourceMetaData, filePath, csarTestFile, getUser());
524 //Navigate to Properties Assignment screen, edit simple properties values and save
525 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
526 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
527 PropertiesAssignmentPage.editPropertyValue(PropertyNameBuilder.buildIComplexField(propertyName,propertyNameString), propertyValueString);
528 PropertiesAssignmentPage.editPropertyValue(PropertyNameBuilder.buildIComplexField(propertyName,propertyNameInt), propertyValueInt);
529 PropertiesAssignmentPage.selectBooleanPropertyValue(PropertyNameBuilder.buildIComplexField(propertyName,propertyNameBoolean), propertyValueBoolean);
530 PropertiesAssignmentPage.clickOnSaveButton();
532 //Verify that properties values are saved
533 ResourceGeneralPage.clickCheckinButton(resourceMetaData.getName());
534 GeneralUIUtils.findComponentAndClick(resourceMetaData.getName());
535 GeneralPageElements.clickCheckoutButton();
536 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
537 PropertiesAssignmentPage.clickOnComponentInComposition(componentName);
538 PropertiesAssignmentVerificator.validatePropertyValue(PropertyNameBuilder.buildIComplexField(propertyName,propertyNameString),propertyValueString);
539 PropertiesAssignmentVerificator.validatePropertyValue(PropertyNameBuilder.buildIComplexField(propertyName,propertyNameInt),propertyValueInt);
540 PropertiesAssignmentVerificator.validateBooleanPropertyValue(PropertyNameBuilder.buildIComplexField(propertyName,propertyNameBoolean),propertyValueBoolean);
542 //Select complex property and declare as input
543 PropertiesAssignmentPage.findSearchBoxAndClick(propertyName);
544 PropertiesAssignmentPage.clickOnDeclareButton();
545 PropertiesAssignmentVerificator.validatePropertyValue(PropertyNameBuilder.buildSimpleField(propertyName),PropertyNameBuilder.buildVfDeclaredPropValue(componentName, propertyName));
551 public void filterAllVfTest() throws Exception {
553 String csarTestFile = csarFile;
554 String propertyName = "name";
555 String propertyLocation = DataTestIdEnum.PropertiesAssignmentScreen.PROPERTY_NAME_COLUMN.getValue();
556 int propertiesCountFilter = 22;
557 int propertiesCountWithoutFilter = 0;
559 ResourceReqDetails resourceMetaData = ElementFactory.getDefaultResourceByType("ciRes", NormativeTypesEnum.ROOT, ResourceCategoryEnum.APPLICATION_L4_DATABASE, getUser().getUserId(), ResourceTypeEnum.VF.toString());
560 resourceMetaData.setVersion("0.1");
561 ResourceUIUtils.importVfFromCsar(resourceMetaData, filePath, csarTestFile, getUser());
564 ResourceGeneralPage.getLeftMenu().moveToPropertiesAssignmentScreen();
565 //Count current properties number before filter is applied
566 propertiesCountWithoutFilter = GeneralUIUtils.getWebElementsListByContainsClassName(propertyLocation).size();
567 PropertiesAssignmentPage.clickOnFilterButton();
568 PropertiesAssignmentPage.clickOnFilterAllCheckbox();
569 PropertiesAssignmentPage.findFilterBoxAndClick(propertyName);
570 PropertiesAssignmentPage.clickOnFilterApplyButton();
571 PropertiesAssignmentVerificator.validateFilteredPropertiesCount(propertiesCountFilter, propertyLocation);
573 PropertiesAssignmentPage.clickOnFilterClearAllButton();
574 PropertiesAssignmentVerificator.validateFilteredPropertiesCount(propertiesCountWithoutFilter, propertyLocation);
578 protected UserRoleEnum getRole() {
579 return UserRoleEnum.DESIGNER;