re base code
[sdc.git] / catalog-model / src / test / java / org / openecomp / sdc / be / model / operations / impl / util / OperationTestsUtil.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
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
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
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=========================================================
19  */
20
21 package org.openecomp.sdc.be.model.operations.impl.util;
22
23 import fj.data.Either;
24 import org.openecomp.sdc.be.dao.neo4j.GraphEdgeLabels;
25 import org.openecomp.sdc.be.dao.titan.TitanGenericDao;
26 import org.openecomp.sdc.be.dao.titan.TitanOperationStatus;
27 import org.openecomp.sdc.be.datatypes.enums.NodeTypeEnum;
28 import org.openecomp.sdc.be.model.User;
29 import org.openecomp.sdc.be.model.operations.impl.UniqueIdBuilder;
30 import org.openecomp.sdc.be.resources.data.ResourceCategoryData;
31 import org.openecomp.sdc.be.resources.data.ServiceCategoryData;
32 import org.openecomp.sdc.be.resources.data.UserData;
33 import org.openecomp.sdc.be.resources.data.category.CategoryData;
34 import org.openecomp.sdc.be.resources.data.category.SubCategoryData;
35 import org.openecomp.sdc.common.util.ValidationUtils;
36
37 public class OperationTestsUtil {
38
39     public static String deleteAndCreateServiceCategory(String category, TitanGenericDao titanDao) {
40         CategoryData categoryData = new CategoryData(NodeTypeEnum.ServiceNewCategory);
41         categoryData.getCategoryDataDefinition().setName(category);
42         categoryData.getCategoryDataDefinition()
43                 .setNormalizedName(ValidationUtils.normalizeCategoryName4Uniqueness(category));
44         categoryData.getCategoryDataDefinition().setUniqueId(UniqueIdBuilder.buildCategoryUid(
45                 ValidationUtils.normalizeCategoryName4Uniqueness(category), NodeTypeEnum.ServiceNewCategory));
46         titanDao.deleteNode(categoryData, CategoryData.class);
47         Either<CategoryData, TitanOperationStatus> createNode = titanDao.createNode(categoryData, CategoryData.class);
48         return (String) createNode.left().value().getUniqueId();
49     }
50
51     public static String deleteAndCreateResourceCategory(String category, String subcategory,
52             TitanGenericDao titanDao) {
53
54         CategoryData categoryData = new CategoryData(NodeTypeEnum.ResourceNewCategory);
55         categoryData.getCategoryDataDefinition().setName(category);
56         categoryData.getCategoryDataDefinition()
57                 .setNormalizedName(ValidationUtils.normalizeCategoryName4Uniqueness(category));
58         categoryData.getCategoryDataDefinition().setUniqueId(UniqueIdBuilder.buildCategoryUid(
59                 ValidationUtils.normalizeCategoryName4Uniqueness(category), NodeTypeEnum.ResourceNewCategory));
60
61         SubCategoryData subcategoryData = new SubCategoryData(NodeTypeEnum.ResourceSubcategory);
62         subcategoryData.getSubCategoryDataDefinition().setName(subcategory);
63         subcategoryData.getSubCategoryDataDefinition()
64                 .setNormalizedName(ValidationUtils.normalizeCategoryName4Uniqueness(subcategory));
65         subcategoryData.getSubCategoryDataDefinition().setUniqueId(UniqueIdBuilder
66                 .buildSubCategoryUid(categoryData.getCategoryDataDefinition().getUniqueId(), subcategory));
67         titanDao.deleteNode(categoryData, CategoryData.class);
68         titanDao.deleteNode(subcategoryData, SubCategoryData.class);
69         Either<CategoryData, TitanOperationStatus> createNode = titanDao.createNode(categoryData, CategoryData.class);
70         titanDao.createNode(subcategoryData, SubCategoryData.class);
71         titanDao.createRelation(categoryData, subcategoryData, GraphEdgeLabels.SUB_CATEGORY, null);
72         return (String) createNode.left().value().getUniqueId();
73     }
74
75     public static void deleteServiceCategory(String category, TitanGenericDao titanDao) {
76         ServiceCategoryData categoryData = new ServiceCategoryData(category);
77         titanDao.deleteNode(categoryData, ServiceCategoryData.class);
78     }
79
80     public static void deleteResourceCategory(String category, String subcategory, TitanGenericDao titanDao) {
81         ResourceCategoryData categoryData = new ResourceCategoryData(category, subcategory);
82         titanDao.deleteNode(categoryData, ResourceCategoryData.class);
83     }
84
85     public static User convertUserDataToUser(UserData modifierData) {
86         User modifier = new User();
87         modifier.setUserId(modifierData.getUserId());
88         modifier.setEmail(modifierData.getEmail());
89         modifier.setFirstName(modifierData.getFirstName());
90         modifier.setLastName(modifierData.getLastName());
91         modifier.setRole(modifierData.getRole());
92         return modifier;
93     }
94 }