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 org.openecomp.sdc.be.dao.api.ActionStatus;
24 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
25 import org.openecomp.sdc.be.model.category.CategoryDefinition;
26 import org.openecomp.sdc.be.model.category.SubCategoryDefinition;
27 import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails;
28 import org.openecomp.sdc.ci.tests.datatypes.ServiceReqDetails;
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.AdminGeneralPage;
32 import org.openecomp.sdc.ci.tests.utilities.GeneralUIUtils;
33 import org.openecomp.sdc.ci.tests.utilities.ResourceUIUtils;
34 import org.openecomp.sdc.ci.tests.utilities.ServiceUIUtils;
35 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
36 import org.openecomp.sdc.ci.tests.utils.validation.ErrorValidationUtils;
37 import org.openqa.selenium.WebElement;
38 import org.testng.Assert;
39 import org.testng.annotations.Test;
41 import java.util.List;
42 import java.util.stream.Collectors;
44 public class Categories extends SetupCDTest {
48 public void createResourceCategory() throws Exception {
50 AdminGeneralPage.selectCategoryManagmetTab();
51 String newResourceCategory = ElementFactory.getDefaultCategory().getName();
52 AdminGeneralPage.createNewResourceCategory(newResourceCategory);
53 // GeneralUIUtils.clickSomewhereOnPage();
54 List<WebElement> resourceCategoriesList = AdminGeneralPage.getResourceCategoriesList();
55 List<String> collect = resourceCategoriesList.stream().map(f -> f.getText()).collect(Collectors.toList());
56 collect.contains(newResourceCategory);
62 public void createServiceCategory() throws Exception {
64 AdminGeneralPage.selectCategoryManagmetTab();
65 String newserviceCategory = ElementFactory.getDefaultCategory().getName();
66 AdminGeneralPage.createNewServiceCategory(newserviceCategory);
67 // GeneralUIUtils.clickSomewhereOnPage();
68 List<WebElement> serviceCategoriesList = AdminGeneralPage.getServiceCategoriesList();
69 List<String> collect = serviceCategoriesList.stream().map(f -> f.getText()).collect(Collectors.toList());
70 collect.contains(newserviceCategory);
76 public void createResourceSubCategory() throws Exception {
78 AdminGeneralPage.selectCategoryManagmetTab();
79 String newResourceCategory = ElementFactory.getDefaultCategory().getName();
80 String newserviceCategory = ElementFactory.getDefaultCategory().getName();
81 String newSubCategory = ElementFactory.getDefaultSubCategory().getName();
82 AdminGeneralPage.createNewResourceCategory(newResourceCategory);
83 AdminGeneralPage.createNewServiceCategory(newserviceCategory);
84 List<WebElement> serviceCategoriesList = AdminGeneralPage.getServiceCategoriesList();
85 List<WebElement> resourceCategoriesList = AdminGeneralPage.getResourceCategoriesList();
86 AdminGeneralPage.addSubCategoryToResource(resourceCategoriesList, newResourceCategory , newSubCategory);
87 GeneralUIUtils.waitForLoader();
88 // GeneralUIUtils.clickSomewhereOnPage();
93 public void createExistingResourceCategory() throws Exception {
95 AdminGeneralPage.selectCategoryManagmetTab();
96 String newResourceCategory = ElementFactory.getDefaultCategory().getName();
97 AdminGeneralPage.createNewResourceCategory(newResourceCategory);
98 AdminGeneralPage.createNewResourceCategory(newResourceCategory);
100 String errorMessage = GeneralUIUtils.getWebElementByClassName("w-sdc-modal-caption").getText();
101 String checkUIResponseOnError = ErrorValidationUtils.checkUIResponseOnError(ActionStatus.COMPONENT_CATEGORY_ALREADY_EXISTS.name());
102 Assert.assertTrue(errorMessage.contains(checkUIResponseOnError));
108 public void createExistingServiceCategory() throws Exception {
110 AdminGeneralPage.selectCategoryManagmetTab();
111 String newserviceCategory = ElementFactory.getDefaultCategory().getName();
112 AdminGeneralPage.createNewServiceCategory(newserviceCategory);
113 AdminGeneralPage.createNewServiceCategory(newserviceCategory);
114 // AdminGeneralPage.selectUserManagmetTab();
116 String errorMessage = GeneralUIUtils.getWebElementByClassName("w-sdc-modal-caption").getText();
117 String checkUIResponseOnError = ErrorValidationUtils.checkUIResponseOnError(ActionStatus.COMPONENT_CATEGORY_ALREADY_EXISTS.name());
118 Assert.assertTrue(errorMessage.contains(checkUIResponseOnError));
123 public void createExsitingResourceSubCategory() throws Exception {
126 AdminGeneralPage.selectCategoryManagmetTab();
127 String newResourceCategory = ElementFactory.getDefaultCategory().getName();
128 String newserviceCategory = ElementFactory.getDefaultCategory().getName();
129 String newSubCategory = ElementFactory.getDefaultSubCategory().getName();
130 AdminGeneralPage.createNewResourceCategory(newResourceCategory);
131 AdminGeneralPage.createNewServiceCategory(newserviceCategory);
132 List<WebElement> serviceCategoriesList = AdminGeneralPage.getServiceCategoriesList();
133 List<WebElement> resourceCategoriesList = AdminGeneralPage.getResourceCategoriesList();
134 AdminGeneralPage.addSubCategoryToResource(resourceCategoriesList, newResourceCategory , newSubCategory);
135 AdminGeneralPage.addSubCategoryToResource(resourceCategoriesList, newResourceCategory , newSubCategory);
136 GeneralUIUtils.waitForLoader();
137 String errorMessage = GeneralUIUtils.getWebElementByClassName("w-sdc-modal-caption").getText();
138 String checkUIResponseOnError = ErrorValidationUtils.checkUIResponseOnError(ActionStatus.COMPONENT_SUB_CATEGORY_EXISTS_FOR_CATEGORY.name());
139 Assert.assertTrue(errorMessage.contains(checkUIResponseOnError));
145 public void createServiceWithNewCategory() throws Exception {
147 AdminGeneralPage.selectCategoryManagmetTab();
148 String newResourceCategory = ElementFactory.getDefaultCategory().getName();
149 String newserviceCategory = ElementFactory.getDefaultCategory().getName();
150 String newSubCategory = ElementFactory.getDefaultSubCategory().getName();
151 AdminGeneralPage.createNewResourceCategory(newResourceCategory);
152 AdminGeneralPage.createNewServiceCategory(newserviceCategory);
153 List<WebElement> serviceCategoriesList = AdminGeneralPage.getServiceCategoriesList();
154 List<WebElement> resourceCategoriesList = AdminGeneralPage.getResourceCategoriesList();
155 AdminGeneralPage.addSubCategoryToResource(resourceCategoriesList, newResourceCategory , newSubCategory);
156 GeneralUIUtils.waitForLoader();
157 AdminGeneralPage.selectUserManagmetTab();
158 reloginWithNewRole(UserRoleEnum.DESIGNER);
159 ResourceReqDetails resourceMetaData = ElementFactory.getDefaultResourceByType(ResourceTypeEnum.VF, getUser());
161 ServiceReqDetails serviceMetadata = ElementFactory.getDefaultService();
162 List<CategoryDefinition> categories = serviceMetadata.getCategories();
163 categories.get(0).setName(newserviceCategory);
165 ServiceUIUtils.createService(serviceMetadata, getUser());
171 public void createResourceWithNewCategory() throws Exception {
173 AdminGeneralPage.selectCategoryManagmetTab();
174 String newResourceCategory = ElementFactory.getDefaultCategory().getName();
175 String newserviceCategory = ElementFactory.getDefaultCategory().getName();
176 String newSubCategory = ElementFactory.getDefaultSubCategory().getName();
177 AdminGeneralPage.createNewResourceCategory(newResourceCategory);
178 AdminGeneralPage.createNewServiceCategory(newserviceCategory);
179 List<WebElement> serviceCategoriesList = AdminGeneralPage.getServiceCategoriesList();
180 List<WebElement> resourceCategoriesList = AdminGeneralPage.getResourceCategoriesList();
181 AdminGeneralPage.addSubCategoryToResource(resourceCategoriesList, newResourceCategory , newSubCategory);
182 GeneralUIUtils.waitForLoader();
183 AdminGeneralPage.selectUserManagmetTab();
184 reloginWithNewRole(UserRoleEnum.DESIGNER);
185 ResourceReqDetails resourceMetaData = ElementFactory.getDefaultResourceByType(ResourceTypeEnum.VF, getUser());
187 List<CategoryDefinition> categories = resourceMetaData.getCategories();
188 CategoryDefinition categoryDefinition = categories.get(0);
189 categoryDefinition.setName(newResourceCategory);
190 SubCategoryDefinition subCategoryDefinition = categoryDefinition.getSubcategories().get(0);
191 subCategoryDefinition.setName(newSubCategory);
193 ResourceUIUtils.createVF(resourceMetaData, getUser());
207 protected UserRoleEnum getRole() {
208 return UserRoleEnum.ADMIN;