82954e642ae8755f339db016cec4afbb55b84a7f
[sdc.git] / test-apis-ci / src / main / java / org / openecomp / sdc / ci / tests / utils / general / ElementFactory.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.ci.tests.utils.general;
22
23 import org.apache.commons.lang.StringUtils;
24 import org.openecomp.sdc.be.dao.api.ActionStatus;
25 import org.openecomp.sdc.be.datatypes.elements.ConsumerDataDefinition;
26 import org.openecomp.sdc.be.datatypes.enums.AssetTypeEnum;
27 import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
28 import org.openecomp.sdc.be.datatypes.enums.OriginTypeEnum;
29 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
30 import org.openecomp.sdc.be.model.*;
31 import org.openecomp.sdc.be.model.category.CategoryDefinition;
32 import org.openecomp.sdc.be.model.category.GroupingDefinition;
33 import org.openecomp.sdc.be.model.category.SubCategoryDefinition;
34 import org.openecomp.sdc.be.resources.data.auditing.AuditingActionEnum;
35 import org.openecomp.sdc.ci.tests.datatypes.*;
36 import org.openecomp.sdc.ci.tests.datatypes.enums.*;
37 import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedExternalAudit;
38 import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedResourceAuditJavaObject;
39 import org.openecomp.sdc.ci.tests.utils.rest.ArtifactRestUtils;
40 import org.openecomp.sdc.ci.tests.utils.rest.ResponseParser;
41 import org.openecomp.sdc.ci.tests.utils.validation.AuditValidationUtils;
42 import org.openecomp.sdc.ci.tests.utils.validation.ErrorValidationUtils;
43 import org.openecomp.sdc.common.api.ArtifactGroupTypeEnum;
44 import org.openecomp.sdc.common.util.ValidationUtils;
45
46 import java.io.FileNotFoundException;
47 import java.io.IOException;
48 import java.util.ArrayList;
49 import java.util.List;
50 import java.util.UUID;
51
52 public class ElementFactory {
53
54         private static final String CI_SERVICE = "ciService";
55         private static final String CI_RES = "ciRes";
56         private static final String CI_PRODUCT = "CiProduct";
57         private static String DEFAULT_ARTIFACT_LABEL = "artifact1";
58         private static final String RESOURCE_INSTANCE_POS_X = "20";
59         private static final String RESOURCE_INSTANCE_POS_Y = "20";
60         private static final String RESOURCE_INSTANCE_DESCRIPTION = "description";
61         
62         // *** Getters ***
63         
64         public static String getServicePrefix() {
65                 return CI_SERVICE;
66         }
67
68         public static String getResourcePrefix() {
69                 return CI_RES;
70         }
71
72         public static String getProductPrefix() {
73                 return CI_PRODUCT;
74         }
75
76         // *** RESOURCE ***
77
78         public static ResourceReqDetails getDefaultResource() {
79                 return getDefaultResource(CI_RES, NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, "jh0003");
80         }
81
82         public static ResourceReqDetails getDefaultResource(ResourceCategoryEnum category) {
83                 return getDefaultResource(CI_RES, NormativeTypesEnum.ROOT, category, "jh0003");
84         }
85
86         public static ResourceReqDetails getDefaultResource(String contactId) {
87                 return getDefaultResource(CI_RES, NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, contactId);
88         }
89
90         public static ResourceReqDetails getDefaultResource(User modifier) {
91                 return getDefaultResource(CI_RES, NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, modifier.getUserId());
92         }
93
94         public static ResourceReqDetails getDefaultResource(NormativeTypesEnum derivedFrom, ResourceCategoryEnum category) {
95                 return getDefaultResource(CI_RES, derivedFrom, category, "jh0003");
96         }
97
98         public static ResourceReqDetails getDefaultResource(NormativeTypesEnum derivedFrom) {
99                 return getDefaultResource(CI_RES, derivedFrom, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, "jh0003");
100         }
101
102         public static ResourceReqDetails getDefaultResource(String resourceName, NormativeTypesEnum derivedFrom) {
103                 return getDefaultResource(resourceName, derivedFrom, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, "jh0003");
104         }
105
106         public static ResourceReqDetails getDefaultResource(NormativeTypesEnum derivedFrom, String contactId) {
107                 return getDefaultResource(CI_RES, derivedFrom, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, contactId);
108         }
109
110         // New
111         public static ResourceReqDetails getDefaultResourceByType(ResourceTypeEnum ResourceType, String resourceName, ResourceCategoryEnum resourceCategory, String vendorName, String vendorModelNumber) {
112                 return getDefaultResourceByType(resourceName, NormativeTypesEnum.ROOT, resourceCategory, "jh0003", ResourceType.toString(), vendorName, vendorModelNumber);
113         }
114
115         public static ResourceReqDetails getDefaultResourceByType(ResourceTypeEnum ResourceType, String resourceName) {
116                 return getDefaultResourceByType(resourceName, NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, "jh0003", ResourceType.toString());
117         }
118
119         public static ResourceReqDetails getDefaultResourceByType(ResourceTypeEnum ResourceType, User user) {
120                 return getDefaultResourceByType(CI_RES, NormativeTypesEnum.ROOT, ResourceCategoryEnum.APPLICATION_L4_LOAD_BALANCER, user.getUserId(), ResourceType.toString());
121         }
122
123         public static ResourceReqDetails getDefaultResourceByTypeNormTypeAndCatregory(ResourceTypeEnum resourceType, NormativeTypesEnum normativeTypes, ResourceCategoryEnum resourceCategory, User user) {
124                 return getDefaultResourceByType(CI_RES, normativeTypes, resourceCategory, user.getUserId(), resourceType.toString());
125         }
126
127         public static PropertyReqDetails getDefaultMapProperty(PropertyTypeEnum innerType) {
128                 return getPropertyDetails(innerType);
129         }
130
131         public static PropertyReqDetails getDefaultMapProperty() {
132                 return getPropertyDetails(PropertyTypeEnum.STRING_MAP);
133         }
134
135         public static ResourceReqDetails getDefaultResource(String resourceName, NormativeTypesEnum derived, ResourceCategoryEnum category, String contactId) {
136                 resourceName = (resourceName + generateUUIDforSufix());
137                 String description = "Represents a generic software component that can be managed and run by a Compute Node Type.";
138                 ArrayList<String> resourceTags = new ArrayList<>();
139                 resourceTags.add(resourceName);
140
141                 ArrayList<String> derivedFrom = new ArrayList<>();
142                 derivedFrom.add(derived.normativeName);
143                 String vendorName = "ATT Tosca";
144                 String vendorRelease = "1.0.0.wd03";
145                 String icon = "defaulticon";
146                 ResourceReqDetails resourceDetails = new ResourceReqDetails(resourceName, description, resourceTags, null, derivedFrom, vendorName, vendorRelease, contactId, icon);
147                 resourceDetails.addCategoryChain(category.getCategory(), category.getSubCategory());
148                 resourceDetails.setResourceVendorModelNumber("vendorNumber-1.5.7");
149
150                 return resourceDetails;
151
152         }
153
154         public static ResourceReqDetails getDefaultResourceByTypeNormTypeAndCatregory(ResourceTypeEnum resourceType, Resource normativeTypes, ResourceCategoryEnum resourceCategory, User user) {
155                 return getDefaultResource(CI_RES + resourceType, normativeTypes, resourceCategory, user.getUserId());
156         }
157
158         public static ResourceReqDetails getDefaultResource(String resourceName, Resource derived, ResourceCategoryEnum category, String contactId) {
159                 resourceName = (resourceName + generateUUIDforSufix());
160                 String description = "Represents a generic software component that can be managed and run by a Compute Node Type.";
161                 ArrayList<String> resourceTags = new ArrayList<>();
162                 resourceTags.add(resourceName);
163
164                 ArrayList<String> derivedFrom = new ArrayList<>();
165                 derivedFrom.add(derived.getToscaResourceName());
166                 String vendorName = "ATT Tosca";
167                 String vendorRelease = "1.0.0.wd03";
168                 String icon = "defaulticon";
169                 ResourceReqDetails resourceDetails = new ResourceReqDetails(resourceName, description, resourceTags, null, derivedFrom, vendorName, vendorRelease, contactId, icon);
170                 resourceDetails.addCategoryChain(category.getCategory(), category.getSubCategory());
171
172                 return resourceDetails;
173
174         }
175
176         public static ResourceReqDetails getDefaultResourceByType(String resourceName, NormativeTypesEnum derived, ResourceCategoryEnum category, String contactId, ResourceTypeEnum resourceType) {
177                 return getDefaultResourceByType(resourceName, derived, category, contactId, resourceType.toString());
178         }
179
180         // New
181         public static ResourceReqDetails getDefaultResourceByType(String resourceName, NormativeTypesEnum derived, ResourceCategoryEnum category, String contactId, String resourceType) {
182                 resourceName = (resourceName + resourceType + generateUUIDforSufix());
183                 String description = "Represents a generic software component that can be managed and run by a Compute Node Type.";
184                 ArrayList<String> resourceTags = new ArrayList<>();
185                 resourceTags.add(resourceName);
186                 ArrayList<String> derivedFrom = null;
187                 if (derived != null) {
188                         derivedFrom = new ArrayList<String>();
189                         derivedFrom.add(derived.normativeName);
190                 }
191                 String vendorName = "ATT Tosca";
192                 String vendorRelease = "1.0.0.wd03";
193                 String icon = "defaulticon";
194                 ResourceReqDetails resourceDetails = new ResourceReqDetails(resourceName, description, resourceTags, null, derivedFrom, vendorName, vendorRelease, contactId, icon, resourceType.toString());
195                 resourceDetails.addCategoryChain(category.getCategory(), category.getSubCategory());
196                 resourceDetails.setResourceVendorModelNumber("vendorNumber-1.5.7");
197                 return resourceDetails;
198         }
199
200         public static ResourceReqDetails getDefaultResourceByType(String resourceName, NormativeTypesEnum derived, ResourceCategoryEnum category, String contactId, String resourceType, String vendorName, String vendorModelNumber) {
201                 resourceName = (resourceName + resourceType + generateUUIDforSufix());
202
203                 String description = "Represents a generic software component that can be managed and run by a Compute Node Type.";
204                 ArrayList<String> resourceTags = new ArrayList<>();
205                 resourceTags.add(resourceName);
206                 ArrayList<String> derivedFrom = null;
207                 if (derived != null) {
208                         derivedFrom = new ArrayList<>();
209                         derivedFrom.add(derived.normativeName);
210                 }
211                 String vendorRelease = "1.0.0.wd03";
212                 String icon = "defaulticon";
213                 ResourceReqDetails resourceDetails = new ResourceReqDetails(resourceName, description, resourceTags, null, derivedFrom, vendorName, vendorRelease, contactId, icon, resourceType.toString());
214                 resourceDetails.addCategoryChain(category.getCategory(), category.getSubCategory());
215                 resourceDetails.setResourceVendorModelNumber(vendorModelNumber);
216                 return resourceDetails;
217         }
218
219         public static ResourceReqDetails getRandomCategoryResource() {
220                 ResourceReqDetails resourceDetails = getDefaultResource(ResourceCategoryEnum.getRandomElement());
221                 return resourceDetails;
222         }
223
224         public static ResourceExternalReqDetails getDefaultResourceByType(String resourceName, ResourceCategoryEnum category, String contactId, String resourceType) {
225                 resourceName = (resourceName + resourceType + generateUUIDforSufix());
226                 String description = "Represents a generic software component that can be managed and run by a Compute Node Type.";
227                 ArrayList<String> resourceTags = new ArrayList<>();
228                 resourceTags.add(resourceName);
229                 String vendorName = "ATT Tosca";
230                 String vendorRelease = "1.0.0.wd03";
231                 String icon = "defaulticon";
232                 ResourceExternalReqDetails resourceDetails = new ResourceExternalReqDetails(resourceName, description, resourceTags, 
233                                 vendorName, vendorRelease, contactId, icon,
234                                 resourceType.toString(), category.getCategory(), category.getSubCategory());
235                 return resourceDetails;
236         }
237
238         // New
239         public static ImportReqDetails getDefaultImportResourceByType(String resourceName, NormativeTypesEnum derived, ResourceCategoryEnum category, String contactId, String resourceType) {
240                 resourceName = (resourceName + resourceType + generateUUIDforSufix());
241                 String description = "Represents a generic software component that can be managed and run by a Compute Node Type.";
242                 ArrayList<String> resourceTags = new ArrayList<>();
243                 resourceTags.add(resourceName);
244                 ArrayList<String> derivedFrom = null;
245                 if (derived != null) {
246                         derivedFrom = new ArrayList<>();
247                         derivedFrom.add(derived.normativeName);
248                 }
249                 String vendorName = "ATT Tosca";
250                 String vendorRelease = "1.0.0.wd03";
251                 String icon = "defaulticon";
252                 ImportReqDetails resourceDetails = new ImportReqDetails(resourceName, description, resourceTags, derivedFrom, vendorName, vendorRelease, contactId, icon);
253                 resourceDetails.addCategoryChain(category.getCategory(), category.getSubCategory());
254                 return resourceDetails;
255         }
256         ////
257
258         public static ImportReqDetails getDefaultImportResource(ResourceReqDetails resourceReqDetails) {
259                 ImportReqDetails importReqDetails = new ImportReqDetails(resourceReqDetails.getName(), resourceReqDetails.getDescription(), resourceReqDetails.getTags(), resourceReqDetails.getDerivedFrom(), resourceReqDetails.getVendorName(),
260                                 resourceReqDetails.getVendorRelease(), resourceReqDetails.getContactId(), resourceReqDetails.getIcon());
261                 importReqDetails.setPayloadName("myCompute.yaml");
262                 importReqDetails.setCategories(resourceReqDetails.getCategories());
263                 importReqDetails.setPayloadData(
264                                 "dG9zY2FfZGVmaW5pdGlvbnNfdmVyc2lvbjogdG9zY2Ffc2ltcGxlX3lhbWxfMV8wXzANCm5vZGVfdHlwZXM6IA0KICBjb20uYXR0LmQyLnJlc291cmNlLk15Q29tcHV0ZToNCiAgICBkZXJpdmVkX2Zyb206IHRvc2NhLm5vZGVzLlJvb3QNCiAgICBhdHRyaWJ1dGVzOg0KICAgICAgcHJpdmF0ZV9hZGRyZXNzOg0KICAgICAgICB0eXBlOiBzdHJpbmcNCiAgICAgIHB1YmxpY19hZGRyZXNzOg0KICAgICAgICB0eXBlOiBzdHJpbmcNCiAgICAgIG5ldHdvcmtzOg0KICAgICAgICB0eXBlOiBtYXANCiAgICAgICAgZW50cnlfc2NoZW1hOg0KICAgICAgICAgIHR5cGU6IHRvc2NhLmRhdGF0eXBlcy5uZXR3b3JrLk5ldHdvcmtJbmZvDQogICAgICBwb3J0czoNCiAgICAgICAgdHlwZTogbWFwDQogICAgICAgIGVudHJ5X3NjaGVtYToNCiAgICAgICAgICB0eXBlOiB0b3NjYS5kYXRhdHlwZXMubmV0d29yay5Qb3J0SW5mbw0KICAgIHJlcXVpcmVtZW50czoNCiAgICAgIC0gbG9jYWxfc3RvcmFnZTogDQogICAgICAgICAgY2FwYWJpbGl0eTogdG9zY2EuY2FwYWJpbGl0aWVzLkF0dGFjaG1lbnQNCiAgICAgICAgICBub2RlOiB0b3NjYS5ub2Rlcy5CbG9ja1N0b3JhZ2UNCiAgICAgICAgICByZWxhdGlvbnNoaXA6IHRvc2NhLnJlbGF0aW9uc2hpcHMuQXR0YWNoZXNUbw0KICAgICAgICAgIG9jY3VycmVuY2VzOiBbMCwgVU5CT1VOREVEXSAgDQogICAgY2FwYWJpbGl0aWVzOg0KICAgICAgaG9zdDogDQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5Db250YWluZXINCiAgICAgICAgdmFsaWRfc291cmNlX3R5cGVzOiBbdG9zY2Eubm9kZXMuU29mdHdhcmVDb21wb25lbnRdIA0KICAgICAgZW5kcG9pbnQgOg0KICAgICAgICB0eXBlOiB0b3NjYS5jYXBhYmlsaXRpZXMuRW5kcG9pbnQuQWRtaW4gDQogICAgICBvczogDQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5PcGVyYXRpbmdTeXN0ZW0NCiAgICAgIHNjYWxhYmxlOg0KICAgICAgICB0eXBlOiB0b3NjYS5jYXBhYmlsaXRpZXMuU2NhbGFibGUNCiAgICAgIGJpbmRpbmc6DQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5uZXR3b3JrLkJpbmRhYmxlDQo=");
265                 return importReqDetails;
266         }
267
268         public static ImportReqDetails getDefaultImportResource() {
269                 ResourceReqDetails resourceReqDetails = getDefaultResource();
270                 ImportReqDetails importReqDetails = new ImportReqDetails(resourceReqDetails.getName(), resourceReqDetails.getDescription(), resourceReqDetails.getTags(), resourceReqDetails.getDerivedFrom(), resourceReqDetails.getVendorName(),
271                                 resourceReqDetails.getVendorRelease(), resourceReqDetails.getContactId(), resourceReqDetails.getIcon());
272                 importReqDetails.setPayloadName("myCompute.yaml");
273                 importReqDetails.setCategories(resourceReqDetails.getCategories());
274                 importReqDetails.setPayloadData(
275                                 "dG9zY2FfZGVmaW5pdGlvbnNfdmVyc2lvbjogdG9zY2Ffc2ltcGxlX3lhbWxfMV8wXzANCm5vZGVfdHlwZXM6IA0KICBjb20uYXR0LmQyLnJlc291cmNlLk15Q29tcHV0ZToNCiAgICBkZXJpdmVkX2Zyb206IHRvc2NhLm5vZGVzLlJvb3QNCiAgICBhdHRyaWJ1dGVzOg0KICAgICAgcHJpdmF0ZV9hZGRyZXNzOg0KICAgICAgICB0eXBlOiBzdHJpbmcNCiAgICAgIHB1YmxpY19hZGRyZXNzOg0KICAgICAgICB0eXBlOiBzdHJpbmcNCiAgICAgIG5ldHdvcmtzOg0KICAgICAgICB0eXBlOiBtYXANCiAgICAgICAgZW50cnlfc2NoZW1hOg0KICAgICAgICAgIHR5cGU6IHRvc2NhLmRhdGF0eXBlcy5uZXR3b3JrLk5ldHdvcmtJbmZvDQogICAgICBwb3J0czoNCiAgICAgICAgdHlwZTogbWFwDQogICAgICAgIGVudHJ5X3NjaGVtYToNCiAgICAgICAgICB0eXBlOiB0b3NjYS5kYXRhdHlwZXMubmV0d29yay5Qb3J0SW5mbw0KICAgIHJlcXVpcmVtZW50czoNCiAgICAgIC0gbG9jYWxfc3RvcmFnZTogDQogICAgICAgICAgY2FwYWJpbGl0eTogdG9zY2EuY2FwYWJpbGl0aWVzLkF0dGFjaG1lbnQNCiAgICAgICAgICBub2RlOiB0b3NjYS5ub2Rlcy5CbG9ja1N0b3JhZ2UNCiAgICAgICAgICByZWxhdGlvbnNoaXA6IHRvc2NhLnJlbGF0aW9uc2hpcHMuQXR0YWNoZXNUbw0KICAgICAgICAgIG9jY3VycmVuY2VzOiBbMCwgVU5CT1VOREVEXSAgDQogICAgY2FwYWJpbGl0aWVzOg0KICAgICAgaG9zdDogDQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5Db250YWluZXINCiAgICAgICAgdmFsaWRfc291cmNlX3R5cGVzOiBbdG9zY2Eubm9kZXMuU29mdHdhcmVDb21wb25lbnRdIA0KICAgICAgZW5kcG9pbnQgOg0KICAgICAgICB0eXBlOiB0b3NjYS5jYXBhYmlsaXRpZXMuRW5kcG9pbnQuQWRtaW4gDQogICAgICBvczogDQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5PcGVyYXRpbmdTeXN0ZW0NCiAgICAgIHNjYWxhYmxlOg0KICAgICAgICB0eXBlOiB0b3NjYS5jYXBhYmlsaXRpZXMuU2NhbGFibGUNCiAgICAgIGJpbmRpbmc6DQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5uZXR3b3JrLkJpbmRhYmxlDQo=");
276                 return importReqDetails;
277         }
278
279         public static ImportReqDetails getDefaultImportResource(String name) {
280                 ResourceReqDetails resourceReqDetails = getDefaultResourceByType(ResourceTypeEnum.VFC, name);
281                 ImportReqDetails importReqDetails = new ImportReqDetails(resourceReqDetails.getName(), resourceReqDetails.getDescription(), resourceReqDetails.getTags(), resourceReqDetails.getDerivedFrom(), resourceReqDetails.getVendorName(),
282                                 resourceReqDetails.getVendorRelease(), resourceReqDetails.getContactId(), resourceReqDetails.getIcon());
283                 importReqDetails.setPayloadName("myCompute.yaml");
284                 importReqDetails.setCategories(resourceReqDetails.getCategories());
285                 importReqDetails.setPayloadData(
286                                 "dG9zY2FfZGVmaW5pdGlvbnNfdmVyc2lvbjogdG9zY2Ffc2ltcGxlX3lhbWxfMV8wXzANCm5vZGVfdHlwZXM6IA0KICBjb20uYXR0LmQyLnJlc291cmNlLk15Q29tcHV0ZToNCiAgICBkZXJpdmVkX2Zyb206IHRvc2NhLm5vZGVzLlJvb3QNCiAgICBhdHRyaWJ1dGVzOg0KICAgICAgcHJpdmF0ZV9hZGRyZXNzOg0KICAgICAgICB0eXBlOiBzdHJpbmcNCiAgICAgIHB1YmxpY19hZGRyZXNzOg0KICAgICAgICB0eXBlOiBzdHJpbmcNCiAgICAgIG5ldHdvcmtzOg0KICAgICAgICB0eXBlOiBtYXANCiAgICAgICAgZW50cnlfc2NoZW1hOg0KICAgICAgICAgIHR5cGU6IHRvc2NhLmRhdGF0eXBlcy5uZXR3b3JrLk5ldHdvcmtJbmZvDQogICAgICBwb3J0czoNCiAgICAgICAgdHlwZTogbWFwDQogICAgICAgIGVudHJ5X3NjaGVtYToNCiAgICAgICAgICB0eXBlOiB0b3NjYS5kYXRhdHlwZXMubmV0d29yay5Qb3J0SW5mbw0KICAgIHJlcXVpcmVtZW50czoNCiAgICAgIC0gbG9jYWxfc3RvcmFnZTogDQogICAgICAgICAgY2FwYWJpbGl0eTogdG9zY2EuY2FwYWJpbGl0aWVzLkF0dGFjaG1lbnQNCiAgICAgICAgICBub2RlOiB0b3NjYS5ub2Rlcy5CbG9ja1N0b3JhZ2UNCiAgICAgICAgICByZWxhdGlvbnNoaXA6IHRvc2NhLnJlbGF0aW9uc2hpcHMuQXR0YWNoZXNUbw0KICAgICAgICAgIG9jY3VycmVuY2VzOiBbMCwgVU5CT1VOREVEXSAgDQogICAgY2FwYWJpbGl0aWVzOg0KICAgICAgaG9zdDogDQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5Db250YWluZXINCiAgICAgICAgdmFsaWRfc291cmNlX3R5cGVzOiBbdG9zY2Eubm9kZXMuU29mdHdhcmVDb21wb25lbnRdIA0KICAgICAgZW5kcG9pbnQgOg0KICAgICAgICB0eXBlOiB0b3NjYS5jYXBhYmlsaXRpZXMuRW5kcG9pbnQuQWRtaW4gDQogICAgICBvczogDQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5PcGVyYXRpbmdTeXN0ZW0NCiAgICAgIHNjYWxhYmxlOg0KICAgICAgICB0eXBlOiB0b3NjYS5jYXBhYmlsaXRpZXMuU2NhbGFibGUNCiAgICAgIGJpbmRpbmc6DQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5uZXR3b3JrLkJpbmRhYmxlDQo=");
287                 return importReqDetails;
288         }
289
290         // *** SERVICE ***
291         public static ServiceReqDetails getDefaultService() {
292                 return getDefaultService(CI_SERVICE, ServiceCategoriesEnum.MOBILITY, "al1976", ServiceInstantiationType.A_LA_CARTE.getValue());
293         }
294
295         public static ServiceReqDetails getDefaultService(String contactId) {
296                 return getDefaultService(CI_SERVICE, ServiceCategoriesEnum.MOBILITY, contactId, ServiceInstantiationType.A_LA_CARTE.getValue());
297         }
298
299         public static ServiceReqDetails getDefaultService(User user) {
300                 return getDefaultService(CI_SERVICE, ServiceCategoriesEnum.MOBILITY, user.getUserId(), ServiceInstantiationType.A_LA_CARTE.getValue());
301         }
302         
303         public static ServiceReqDetails getDefaultService(ServiceCategoriesEnum category, User user) {
304                 return getDefaultService(CI_SERVICE, category, user.getUserId(), ServiceInstantiationType.A_LA_CARTE.getValue());
305         }
306         
307         public static ServiceReqDetails getServiceByCategory(ServiceCategoriesEnum category) {
308                 return getDefaultService(CI_SERVICE, category, "al1976", ServiceInstantiationType.A_LA_CARTE.getValue());
309         }
310
311         public static ServiceReqDetails getDefaultService(String serviceName, ServiceCategoriesEnum category, String contactId, String instantiationType) {
312                 serviceName = (serviceName + generateUUIDforSufix());
313                 ArrayList<String> tags = new ArrayList<>();
314                 tags.add("serviceTag");
315                 tags.add("serviceTag1");
316                 tags.add(serviceName);
317                 String description = "service Description";
318                 String icon = "defaulticon";
319
320                 ServiceReqDetails serviceDetails = new ServiceReqDetails(serviceName, category.getValue(), tags, description, contactId, icon, instantiationType);
321
322                 return serviceDetails;
323         }
324
325         public static ServiceReqDetails getRandomCategoryService() {
326                 ServiceReqDetails serviceReqDetails = getServiceByCategory(ServiceCategoriesEnum.getRandomElement());
327                 return serviceReqDetails;
328         }
329
330         // ***** PROPERTY ***
331
332         public static PropertyReqDetails getDefaultProperty() {
333                 return getDefaultProperty("disk_size");
334         }
335
336         public static PropertyReqDetails getDefaultProperty(String propertyName) {
337                 PropertyReqDetails property = new PropertyReqDetails();
338                 property.setName(propertyName);
339                 property.setPropertyType("integer");
340                 property.setPropertyRequired(false);
341                 property.setPropertyDefaultValue("12345");
342                 property.setPropertyDescription("test property");
343                 property.setPropertyRangeMax("500");
344                 property.setPropertyRangeMin("100");
345                 property.setPropertyPassword(false);
346                 return property;
347         }
348
349         public static PropertyReqDetails getDefaultIntegerProperty() {
350                 return getPropertyDetails(PropertyTypeEnum.INTEGER);
351         }
352
353         public static PropertyReqDetails getDefaultStringProperty() {
354                 return getPropertyDetails(PropertyTypeEnum.STRING);
355         }
356
357         public static PropertyReqDetails getDefaultBooleanProperty() {
358                 return getPropertyDetails(PropertyTypeEnum.BOOLEAN);
359         }
360
361         public static PropertyReqDetails getDefaultListProperty() {
362                 return getPropertyDetails(PropertyTypeEnum.STRING_LIST);
363         }
364
365         public static PropertyReqDetails getDefaultListProperty(PropertyTypeEnum innerType) {
366                 return getPropertyDetails(innerType);
367         }
368
369         public static PropertyReqDetails getPropertyDetails(PropertyTypeEnum propType) {
370                 return new PropertyReqDetails(propType.getName(), propType.getType(), propType.getValue(), propType.getDescription(), propType.getSchemaDefinition());
371         }
372
373         // ***** RESOURCE INSTANCE ***
374         public static ComponentInstanceReqDetails getDefaultComponentInstance() {
375                 return getDefaultComponentInstance("resourceInstanceName");
376         }
377
378         public static ComponentInstanceReqDetails getDefaultComponentInstance(String name) {
379                 String resourceUid = "resourceId";
380                 ComponentInstanceReqDetails resourceInstanceDetails = new ComponentInstanceReqDetails(resourceUid, RESOURCE_INSTANCE_DESCRIPTION, RESOURCE_INSTANCE_POS_X, RESOURCE_INSTANCE_POS_Y, name, null);
381
382                 return resourceInstanceDetails;
383
384         }
385
386         public static ComponentInstanceReqDetails getDefaultComponentInstance(String name, ComponentReqDetails componentReqDetails) {
387                 String resourceUid = componentReqDetails.getUniqueId();
388                 ComponentInstanceReqDetails resourceInstanceDetails = new ComponentInstanceReqDetails(resourceUid, RESOURCE_INSTANCE_DESCRIPTION, RESOURCE_INSTANCE_POS_X, RESOURCE_INSTANCE_POS_Y, name, null);
389
390                 return resourceInstanceDetails;
391
392         }
393
394     public static ComponentInstanceReqDetails getDefaultComponentInstance(String serviceUniqueId, String originType) {
395         ComponentInstanceReqDetails componentInstanceReqDetails = new ComponentInstanceReqDetails(serviceUniqueId,
396                 RESOURCE_INSTANCE_DESCRIPTION, RESOURCE_INSTANCE_POS_X, RESOURCE_INSTANCE_POS_Y, null, originType);
397
398         componentInstanceReqDetails.setUniqueId(serviceUniqueId + Math.random());
399
400         return componentInstanceReqDetails;
401
402     }
403
404         public static ComponentInstanceReqDetails getComponentResourceInstance(ComponentReqDetails compInstOriginDetails) {
405                 String compInstName = (compInstOriginDetails.getName() != null ? compInstOriginDetails.getName() : "resourceInstanceName");
406                 String resourceUid = compInstOriginDetails.getUniqueId();
407                 ComponentInstanceReqDetails resourceInstanceDetails = new ComponentInstanceReqDetails(resourceUid, RESOURCE_INSTANCE_DESCRIPTION, RESOURCE_INSTANCE_POS_X, RESOURCE_INSTANCE_POS_Y, compInstName, null);
408                 return resourceInstanceDetails;
409
410         }
411
412         public static ComponentInstanceReqDetails getComponentInstance(Component compInstOriginDetails) {
413                 String compInstName = (compInstOriginDetails.getName() != null ? compInstOriginDetails.getName() : "componentInstanceName");
414                 String compInsUid = compInstOriginDetails.getUniqueId();
415                 ComponentInstanceReqDetails componentInstanceDetails = new ComponentInstanceReqDetails(compInsUid, RESOURCE_INSTANCE_DESCRIPTION, RESOURCE_INSTANCE_POS_X, RESOURCE_INSTANCE_POS_Y, compInstName, compInstOriginDetails.getComponentType() == ComponentTypeEnum.SERVICE ? OriginTypeEnum.ServiceProxy.name() : null);
416                 return componentInstanceDetails;
417
418         }
419
420         //********ServiceFilter**********
421     public static ServiceFilterDetails getDefaultEqualOperatorFilter(String propertyName, String valueString) {
422         return new ServiceFilterDetails(propertyName, "equal", "static", "static", valueString);
423     }
424
425     public static ServiceFilterDetails getDefaultFilter(String propertyName, String valueString,
426                                                                     String operator) {
427         return new ServiceFilterDetails(propertyName, operator, "static", "static", valueString);
428     }
429
430         // ******* USER **********************
431         public static User getDefaultUser(UserRoleEnum userRole) {
432                 User sdncModifierDetails = new User();
433                 sdncModifierDetails.setUserId(userRole.getUserId());
434                 sdncModifierDetails.setFirstName(userRole.getFirstName());
435                 sdncModifierDetails.setLastName(userRole.getLastName());
436                 return sdncModifierDetails;
437         }
438
439         public static User getDefaultMechUser() {
440                 User sdncMechUserDetails = new User();
441                 sdncMechUserDetails.setUserId("m12345");
442                 sdncMechUserDetails.setFirstName("Fishi");
443                 sdncMechUserDetails.setLastName("Shifi");
444                 sdncMechUserDetails.setEmail("mechId@intl.sdc.com");
445                 sdncMechUserDetails.setRole("DESIGNER");
446                 return sdncMechUserDetails;
447         }
448
449         // ******* CONSUMER **********************
450
451         public static ConsumerDataDefinition getDefaultConsumerDetails() {
452                 ConsumerDataDefinition consumer = new ConsumerDataDefinition();
453                 consumer.setConsumerName("ci");
454                 consumer.setConsumerSalt("2a1f887d607d4515d4066fe0f5452a50");
455                 consumer.setConsumerPassword("0a0dc557c3bf594b1a48030e3e99227580168b21f44e285c69740b8d5b13e33b");
456                 return consumer;
457         }
458
459         // *** ARTIFACT ***
460         public static ArtifactReqDetails getDefaultArtifact() throws IOException, Exception {
461                 return getDefaultArtifact(DEFAULT_ARTIFACT_LABEL);
462         }
463
464         public static ArtifactReqDetails getDefaultArtifact(String artifactLabel) throws IOException, Exception {
465                 List<String> artifactTypes = ResponseParser.getValuesFromJsonArray(ArtifactRestUtils.getArtifactTypesList());
466                 String artifactType = artifactTypes.get(0);
467
468                 return getDefaultArtifact(artifactLabel, artifactType);
469         }
470
471         public static ArtifactReqDetails getDefaultArtifact(String artifactLabel, String artifactType) throws IOException, Exception {
472
473                 String artifactName = "testArtifact.sh";
474                 String artifactDescription = "descriptionTest";
475                 String payloadData = "dGVzdA=="; // content of file
476
477                 ArtifactReqDetails artifactDetails = new ArtifactReqDetails(artifactName, artifactType, artifactDescription, payloadData, artifactLabel);
478                 artifactDetails.setUrl("");
479                 artifactDetails.setArtifactDisplayName(artifactLabel);
480                 return artifactDetails;
481         }
482
483         public static ArtifactReqDetails getServiceApiArtifactDetails(String artifactLabel) throws IOException, Exception {
484                 ArtifactReqDetails defaultArtifact = getDefaultArtifact(artifactLabel, "OTHER");
485                 defaultArtifact.setUrl("http://www.apple.com");
486                 defaultArtifact.setServiceApi(true);
487                 defaultArtifact.setArtifactDisplayName(StringUtils.capitalize(defaultArtifact.getArtifactLabel()));
488                 return defaultArtifact;
489         }
490
491         public static ArtifactReqDetails getDefaultDeploymentArtifactForType(String artifactType) throws IOException, Exception {
492                 return getArtifactByType(DEFAULT_ARTIFACT_LABEL, artifactType, true, false);
493         }
494
495         public static ArtifactReqDetails getArtifactByType(ArtifactTypeEnum artifactLabel, ArtifactTypeEnum artifactType, Boolean deploymentTrue) throws IOException, Exception {
496                 return getArtifactByType(DEFAULT_ARTIFACT_LABEL, artifactType.toString(), deploymentTrue, false);
497
498         }
499
500         public static ArtifactReqDetails getArtifactByType(String artifactLabel, String artifactType, Boolean deploymentTrue, Boolean updatedPayload) throws IOException, Exception {
501                 String artifactName;
502                 String updatedPayloadData =null;
503                 String payloadData = null;
504                 Integer timeout = null;
505                 String url = "";
506                 String artifactDescription = "descriptionTest";
507
508                 // PLEASE NOTE!!!
509                 // The non-default payloads here are real ones according to various
510                 // types validations,
511                 // Please don't change them unless you know what you are doing!
512
513                 ArtifactTypeEnum artifactTypeEnum = ArtifactTypeEnum.findType(artifactType);
514
515                 /*
516                  * Missing file type: DCAE_JSON
517                  */
518                 switch (artifactTypeEnum) {
519                 case DCAE_INVENTORY_TOSCA:
520                 case DCAE_EVENT:
521                 case APPC_CONFIG:
522                 case DCAE_DOC:
523                 case DCAE_TOSCA:
524                 case HEAT:
525                 case HEAT_NET:
526                 case HEAT_VOL: {
527                         artifactName = generateUUIDforSufix() + artifactType + "_install_apache2.yaml";
528                         payloadData = "aGVhdF90ZW1wbGF0ZV92ZXJzaW9uOiAyMDEzLTA1LTIzDQoNCmRlc2NyaXB0aW9uOiBTaW1wbGUgdGVtcGxhdGUgdG8gZGVwbG95IGEgc3RhY2sgd2l0aCB0d28gdmlydHVhbCBtYWNoaW5lIGluc3RhbmNlcw0KDQpwYXJhbWV0ZXJzOg0KICBpbWFnZV9uYW1lXzE6DQogICAgdHlwZTogc3RyaW5nDQogICAgbGFiZWw6IEltYWdlIE5hbWUNCiAgICBkZXNjcmlwdGlvbjogU0NPSU1BR0UgU3BlY2lmeSBhbiBpbWFnZSBuYW1lIGZvciBpbnN0YW5jZTENCiAgICBkZWZhdWx0OiBjaXJyb3MtMC4zLjEteDg2XzY0DQogIGltYWdlX25hbWVfMjoNCiAgICB0eXBlOiBzdHJpbmcNCiAgICBsYWJlbDogSW1hZ2UgTmFtZQ0KICAgIGRlc2NyaXB0aW9uOiBTQ09JTUFHRSBTcGVjaWZ5IGFuIGltYWdlIG5hbWUgZm9yIGluc3RhbmNlMg0KICAgIGRlZmF1bHQ6IGNpcnJvcy0wLjMuMS14ODZfNjQNCiAgbmV0d29ya19pZDoNCiAgICB0eXBlOiBzdHJpbmcNCiAgICBsYWJlbDogTmV0d29yayBJRA0KICAgIGRlc2NyaXB0aW9uOiBTQ09ORVRXT1JLIE5ldHdvcmsgdG8gYmUgdXNlZCBmb3IgdGhlIGNvbXB1dGUgaW5zdGFuY2UNCiAgICBoaWRkZW46IHRydWUNCiAgICBjb25zdHJhaW50czoNCiAgICAgIC0gbGVuZ3RoOiB7IG1pbjogNiwgbWF4OiA4IH0NCiAgICAgICAgZGVzY3JpcHRpb246IFBhc3N3b3JkIGxlbmd0aCBtdXN0IGJlIGJldHdlZW4gNiBhbmQgOCBjaGFyYWN0ZXJzLg0KICAgICAgLSByYW5nZTogeyBtaW46IDYsIG1heDogOCB9DQogICAgICAgIGRlc2NyaXB0aW9uOiBSYW5nZSBkZXNjcmlwdGlvbg0KICAgICAgLSBhbGxvd2VkX3ZhbHVlczoNCiAgICAgICAgLSBtMS5zbWFsbA0KICAgICAgICAtIG0xLm1lZGl1bQ0KICAgICAgICAtIG0xLmxhcmdlDQogICAgICAgIGRlc2NyaXB0aW9uOiBBbGxvd2VkIHZhbHVlcyBkZXNjcmlwdGlvbg0KICAgICAgLSBhbGxvd2VkX3BhdHRlcm46ICJbYS16QS1aMC05XSsiDQogICAgICAgIGRlc2NyaXB0aW9uOiBQYXNzd29yZCBtdXN0IGNvbnNpc3Qgb2YgY2hhcmFjdGVycyBhbmQgbnVtYmVycyBvbmx5Lg0KICAgICAgLSBhbGxvd2VkX3BhdHRlcm46ICJbQS1aXStbYS16QS1aMC05XSoiDQogICAgICAgIGRlc2NyaXB0aW9uOiBQYXNzd29yZCBtdXN0IHN0YXJ0IHdpdGggYW4gdXBwZXJjYXNlIGNoYXJhY3Rlci4NCiAgICAgIC0gY3VzdG9tX2NvbnN0cmFpbnQ6IG5vdmEua2V5cGFpcg0KICAgICAgICBkZXNjcmlwdGlvbjogQ3VzdG9tIGRlc2NyaXB0aW9uDQoNCnJlc291cmNlczoNCiAgbXlfaW5zdGFuY2UxOg0KICAgIHR5cGU6IE9TOjpOb3ZhOjpTZXJ2ZXINCiAgICBwcm9wZXJ0aWVzOg0KICAgICAgaW1hZ2U6IHsgZ2V0X3BhcmFtOiBpbWFnZV9uYW1lXzEgfQ0KICAgICAgZmxhdm9yOiBtMS5zbWFsbA0KICAgICAgbmV0d29ya3M6DQogICAgICAgIC0gbmV0d29yayA6IHsgZ2V0X3BhcmFtIDogbmV0d29ya19pZCB9DQogIG15X2luc3RhbmNlMjoNCiAgICB0eXBlOiBPUzo6Tm92YTo6U2VydmVyDQogICAgcHJvcGVydGllczoNCiAgICAgIGltYWdlOiB7IGdldF9wYXJhbTogaW1hZ2VfbmFtZV8yIH0NCiAgICAgIGZsYXZvcjogbTEudGlueQ0KICAgICAgbmV0d29ya3M6DQogICAgICAgIC0gbmV0d29yayA6IHsgZ2V0X3BhcmFtIDogbmV0d29ya19pZCB9";
529                         updatedPayloadData = "dG9zY2FfZGVmaW5pdGlvbnNfdmVyc2lvbjogdG9zY2Ffc2ltcGxlX3lhbWxfMV8wXzANCg0Kbm9kZV90eXBlczoNCiAgY29tLmF0dC5kMi5yZXNvdXJjZS5jcC5DUDoNCiAgICBkZXJpdmVkX2Zyb206IHRvc2NhLm5vZGVzLm5ldHdvcmsuUG9ydA0KICAgIHByb3BlcnRpZXM6DQogICAgICBpc190YWdnZWQ6DQogICAgICAgIHR5cGU6IGJvb2xlYW4NCiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlDQogICAgICAgIGRlZmF1bHQ6IGZhbHNlDQogICAgICAgIGRlc2NyaXB0aW9uOiANCg0KICAgIHJlcXVpcmVtZW50czoNCiAgICAgIC0gdmlydHVhbExpbms6DQogICAgICAgICAgY2FwYWJpbGl0eTogdG9zY2EuY2FwYWJpbGl0aWVzLm5ldHdvcmsuTGlua2FibGUNCiAgICAgICAgICByZWxhdGlvbnNoaXA6IHRvc2NhLnJlbGF0aW9uc2hpcHMubmV0d29yay5MaW5rc1RvDQogICAgICAtIHZpcnR1YWxCaW5kaW5nOg0KICAgICAgICAgIGNhcGFiaWxpdHk6IHRvc2NhLmNhcGFiaWxpdGllcy5uZXR3b3JrLkJpbmRhYmxlDQogICAgICAgICAgcmVsYXRpb25zaGlwOiB0b3NjYS5yZWxhdGlvbnNoaXBzLm5ldHdvcmsuQmluZHNUbw0KICAgIGNhcGFiaWxpdGllczoNCiAgICAgIGF0dGFjaG1lbnQ6DQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5BdHRhY2htZW50DQogICAgICAgIG9jY3VycmVuY2VzOg0KICAgICAgICAtIDENCiAgICAgICAgLSBVTkJPVU5ERUQNCiAgICAgICAgdHlwZTogdG9zY2EuY2FwYWJpbGl0aWVzLm5ldHdvcmsuQmluZGFibGUNCiAgICAgICAgb2NjdXJyZW5jZXM6DQogICAgICAgIC0gMQ0KICAgICAgICAtIFVOQk9VTkRFRA0KICAgICAgdmlydHVhbF9saW5rYWJsZToNCiAgICAgICAgdHlwZTogY29tLmF0dC5kMi5jYXBhYmlsaXRpZXMuTWV0cmljDQogICAgICBlbmRfcG9pbnQ6DQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5FbmRwb2ludCAgICAgICA=";
530                         timeout = 60;
531                         artifactLabel = normalizeArtifactLabel(artifactName);
532                         break;
533                 }
534                 case DCAE_INVENTORY_POLICY:
535                 case DCAE_INVENTORY_BLUEPRINT:
536                 case DCAE_INVENTORY_EVENT: {
537                         artifactName = getDcaeArtifactName(artifactTypeEnum, artifactType);
538                         payloadData = "will be override later";
539                         updatedPayloadData = "override";
540                         timeout = 60;
541                         artifactLabel = normalizeArtifactLabel(artifactName);
542                         break;
543                 }
544                 case MURANO_PKG: {
545                         artifactName = artifactType + "org.openstack.Rally.zip";
546                         payloadData = "ODM4MTRjNzkxZjcwYTlkMjk4ZGQ2ODE4MThmNjg0N2Y=";
547                         updatedPayloadData = "ODM4MTRjNzkxZjcwYTlkMjk4ZGQ2ODE4MThmMTAwN2Y=";
548                         break;
549                 }
550                 case DCAE_POLICY: {
551                         artifactName = artifactType + "dcae_policy.emf";
552                         payloadData = "will be override later";
553                         updatedPayloadData = "override";
554                         break;
555                 }
556                 case DCAE_INVENTORY_JSON:
557                 case DCAE_JSON: {
558                         artifactName = artifactType + "dcae_policy.json";
559                         payloadData = "ew0KICAiYXJ0aWZhY3RzIjogImRmc2FmIiwNCiAgIm5vcm1hbGl6ZWROYW1lIjogImNpc2VydmljZTBiYzY5ODk2OTQ4ZiIsDQogICJzeXN0ZW1OYW1lIjogIkNpc2VydmljZTBiYzY5ODk2OTQ4ZiIsDQogICJpbnZhcmlhbnRVVUlEIjogIjEzZmJkNzI3LWRjNzUtNDU1OS1iNzEyLWUwMjc5YmY4YTg2MSIsDQogICJhdHRDb250YWN0IjogImNzMDAwOCIsDQogICJuYW1lIjogImNpU2VydmljZTBiYzY5ODk2OTQ4ZiINCn0=";
560                         updatedPayloadData = "ew0KICAiYXJ0aWZhY3RzIjogIjEyMzQzIiwNCiAgIm5vcm1hbGl6ZWROYW1lIjogIjU0MzUzNCIsDQogICJzeXN0ZW1OYW1lIjogIkNpc2VydmljZTBiYzY5ODk2OTQ4ZiIsDQogICJpbnZhcmlhbnRVVUlEIjogIjEzZmJkNzI3LWRjNzUtNDU1OS1iNzEyLWUwMjc5YmY4YTg2MSIsDQogICJhdHRDb250YWN0IjogImNzMDAwOCIsDQogICJuYW1lIjogImNpU2VydmljZTBiYzY5ODk2OTQ4ZiINCn0=";
561                         break;
562                 }
563                 case PUPPET:
564                 case CHEF:
565                 case DG_XML:
566                 case YANG: {
567                         artifactName = generateUUIDforSufix() + artifactType + "yangXml.xml";
568                         payloadData = "PD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8ZGF0YT4NCiAgPHNwb3J0cz4NCiAgICA8cGVyc29uPg0KICAgICAgPG5hbWU+TGlvbmVsIEFuZHJlcyBNZXNzaTwvbmFtZT4NCiAgICAgIDxiaXJ0aGRheT4xOTg3LTA2LTI0VDAwOjAwOjAwLTAwOjAwPC9iaXJ0aGRheT4NCiAgICA8L3BlcnNvbj4NCiAgICA8cGVyc29uPg0KICAgICAgPG5hbWU+Q3Jpc3RpYW5vIFJvbmFsZG88L25hbWU+DQogICAgICA8YmlydGhkYXk+MTk4NS0wMi0wNVQwMDowMDowMC0wMDowMDwvYmlydGhkYXk+DQogICAgPC9wZXJzb24+DQogICAgPHRlYW0+DQogICAgICA8bmFtZT5GQyBCYXJjZWxvbmE8L25hbWU+DQogICAgICA8cGxheWVyPg0KICAgICAgICA8bmFtZT5MaW9uZWwgQW5kcmVzIE1lc3NpPC9uYW1lPg0KICAgICAgICA8c2Vhc29uPkNoYW1waW9ucyBMZWFndWUgMjAxNC0yMDE1PC9zZWFzb24+DQogICAgICAgIDxudW1iZXI+MTA8L251bWJlcj4NCiAgICAgICAgPHNjb3Jlcz40Mzwvc2NvcmVzPg0KICAgICAgPC9wbGF5ZXI+DQogICAgPC90ZWFtPg0KICAgIDx0ZWFtPg0KICAgICAgPG5hbWU+UmVhbCBNYWRyaWQ8L25hbWU+DQogICAgICA8cGxheWVyPg0KICAgICAgICA8bmFtZT5DcmlzdGlhbm8gUm9uYWxkbzwvbmFtZT4NCiAgICAgICAgPHNlYXNvbj5DaGFtcGlvbnMgTGVhZ3VlIDIwMTQtMjAxNTwvc2Vhc29uPg0KICAgICAgICA8bnVtYmVyPjc8L251bWJlcj4NCiAgICAgICAgPHNjb3Jlcz40ODwvc2NvcmVzPg0KICAgICAgPC9wbGF5ZXI+DQogICAgPC90ZWFtPg0KICA8L3Nwb3J0cz4NCg0KPC9kYXRhPg==";
569                         updatedPayloadData = "PD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8ZGF0YT4NCiAgPHNwb3J0cz4NCiAgICA8cGVyc29uPg0KICAgICAgPG5hbWU+TGlvbmVsIEFuZHJlcyBNZXNzaTwvbmFtZT4NCiAgICAgIDxiaXJ0aGRheT4xOTkwLTA2LTI0VDAwOjAwOjAwLTAwOjExPC9iaXJ0aGRheT4NCiAgICA8L3BlcnNvbj4NCiAgICA8cGVyc29uPg0KICAgICAgPG5hbWU+Q3Jpc3RpYW5vIFJvbmFsZG88L25hbWU+DQogICAgICA8YmlydGhkYXk+MTk4NS0wMi0wNVQwMDowMDowMC0wMDowMDwvYmlydGhkYXk+DQogICAgPC9wZXJzb24+DQogICAgPHRlYW0+DQogICAgICA8bmFtZT5GQyBCYXJjZWxvbmE8L25hbWU+DQogICAgICA8cGxheWVyPg0KICAgICAgICA8bmFtZT5MaW9uZWwgQW5kcmVzIE1lc3NpPC9uYW1lPg0KICAgICAgICA8c2Vhc29uPkNoYW1waW9ucyBMZWFndWUgMjAxNC0yMDE1PC9zZWFzb24+DQogICAgICAgIDxudW1iZXI+MTA8L251bWJlcj4NCiAgICAgICAgPHNjb3Jlcz40Mzwvc2NvcmVzPg0KICAgICAgPC9wbGF5ZXI+DQogICAgPC90ZWFtPg0KICAgIDx0ZWFtPg0KICAgICAgPG5hbWU+UmVhbCBNYWRyaWQ8L25hbWU+DQogICAgICA8cGxheWVyPg0KICAgICAgICA8bmFtZT5DcmlzdGlhbm8gUm9uYWxkbzwvbmFtZT4NCiAgICAgICAgPHNlYXNvbj5DaGFtcGlvbnMgTGVhZ3VlIDIwMTQtMjAxNTwvc2Vhc29uPg0KICAgICAgICA8bnVtYmVyPjc8L251bWJlcj4NCiAgICAgICAgPHNjb3Jlcz40ODwvc2NvcmVzPg0KICAgICAgPC9wbGF5ZXI+DQogICAgPC90ZWFtPg0KICA8L3Nwb3J0cz4NCg0KPC9kYXRhPg==";
570                         timeout = 15;
571                         artifactLabel = normalizeArtifactLabel(artifactName);
572                         break;
573                 }
574                 case VF_LICENSE:
575                 case VENDOR_LICENSE:
576                 case MODEL_INVENTORY_PROFILE:
577                 case MODEL_QUERY_SPEC:
578                 case VNF_CATALOG:
579                 case YANG_XML: {
580                         artifactName = generateUUIDforSufix() + artifactType + "yangXml.xml";
581                         payloadData = "PD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8ZGF0YT4NCiAgPHNwb3J0cz4NCiAgICA8cGVyc29uPg0KICAgICAgPG5hbWU+TGlvbmVsIEFuZHJlcyBNZXNzaTwvbmFtZT4NCiAgICAgIDxiaXJ0aGRheT4xOTg3LTA2LTI0VDAwOjAwOjAwLTAwOjAwPC9iaXJ0aGRheT4NCiAgICA8L3BlcnNvbj4NCiAgICA8cGVyc29uPg0KICAgICAgPG5hbWU+Q3Jpc3RpYW5vIFJvbmFsZG88L25hbWU+DQogICAgICA8YmlydGhkYXk+MTk4NS0wMi0wNVQwMDowMDowMC0wMDowMDwvYmlydGhkYXk+DQogICAgPC9wZXJzb24+DQogICAgPHRlYW0+DQogICAgICA8bmFtZT5GQyBCYXJjZWxvbmE8L25hbWU+DQogICAgICA8cGxheWVyPg0KICAgICAgICA8bmFtZT5MaW9uZWwgQW5kcmVzIE1lc3NpPC9uYW1lPg0KICAgICAgICA8c2Vhc29uPkNoYW1waW9ucyBMZWFndWUgMjAxNC0yMDE1PC9zZWFzb24+DQogICAgICAgIDxudW1iZXI+MTA8L251bWJlcj4NCiAgICAgICAgPHNjb3Jlcz40Mzwvc2NvcmVzPg0KICAgICAgPC9wbGF5ZXI+DQogICAgPC90ZWFtPg0KICAgIDx0ZWFtPg0KICAgICAgPG5hbWU+UmVhbCBNYWRyaWQ8L25hbWU+DQogICAgICA8cGxheWVyPg0KICAgICAgICA8bmFtZT5DcmlzdGlhbm8gUm9uYWxkbzwvbmFtZT4NCiAgICAgICAgPHNlYXNvbj5DaGFtcGlvbnMgTGVhZ3VlIDIwMTQtMjAxNTwvc2Vhc29uPg0KICAgICAgICA8bnVtYmVyPjc8L251bWJlcj4NCiAgICAgICAgPHNjb3Jlcz40ODwvc2NvcmVzPg0KICAgICAgPC9wbGF5ZXI+DQogICAgPC90ZWFtPg0KICA8L3Nwb3J0cz4NCg0KPC9kYXRhPg==";
582                         updatedPayloadData = "PD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8ZGF0YT4NCiAgPHNwb3J0cz4NCiAgICA8cGVyc29uPg0KICAgICAgPG5hbWU+TGlvbmVsIEFuZHJlcyBNZXNzaTwvbmFtZT4NCiAgICAgIDxiaXJ0aGRheT4xOTkwLTA2LTI0VDAwOjAwOjAwLTAwOjExPC9iaXJ0aGRheT4NCiAgICA8L3BlcnNvbj4NCiAgICA8cGVyc29uPg0KICAgICAgPG5hbWU+Q3Jpc3RpYW5vIFJvbmFsZG88L25hbWU+DQogICAgICA8YmlydGhkYXk+MTk4NS0wMi0wNVQwMDowMDowMC0wMDowMDwvYmlydGhkYXk+DQogICAgPC9wZXJzb24+DQogICAgPHRlYW0+DQogICAgICA8bmFtZT5GQyBCYXJjZWxvbmE8L25hbWU+DQogICAgICA8cGxheWVyPg0KICAgICAgICA8bmFtZT5MaW9uZWwgQW5kcmVzIE1lc3NpPC9uYW1lPg0KICAgICAgICA8c2Vhc29uPkNoYW1waW9ucyBMZWFndWUgMjAxNC0yMDE1PC9zZWFzb24+DQogICAgICAgIDxudW1iZXI+MTA8L251bWJlcj4NCiAgICAgICAgPHNjb3Jlcz40Mzwvc2NvcmVzPg0KICAgICAgPC9wbGF5ZXI+DQogICAgPC90ZWFtPg0KICAgIDx0ZWFtPg0KICAgICAgPG5hbWU+UmVhbCBNYWRyaWQ8L25hbWU+DQogICAgICA8cGxheWVyPg0KICAgICAgICA8bmFtZT5DcmlzdGlhbm8gUm9uYWxkbzwvbmFtZT4NCiAgICAgICAgPHNlYXNvbj5DaGFtcGlvbnMgTGVhZ3VlIDIwMTQtMjAxNTwvc2Vhc29uPg0KICAgICAgICA8bnVtYmVyPjc8L251bWJlcj4NCiAgICAgICAgPHNjb3Jlcz40ODwvc2NvcmVzPg0KICAgICAgPC9wbGF5ZXI+DQogICAgPC90ZWFtPg0KICA8L3Nwb3J0cz4NCg0KPC9kYXRhPg==";
583                         timeout = 0;
584                         artifactLabel = normalizeArtifactLabel(artifactName);
585                         break;
586                 }
587                 case SNMP_POLL:
588                 case SNMP_TRAP:
589                 case DCAE_INVENTORY_DOC:
590                 case GUIDE:
591                 case OTHER: {
592                         artifactName = generateUUIDforSufix() + artifactType + "other.pdf";
593                         payloadData = "aGVhdF90ZW1wbGF0ZV92ZXJzaW9uOiAyMDEzLTA1LTIzDQoNCmRlc2NyaXB0aW9uOiBTaW1wbGUgdGVtcGxhdGUgdG8gZGVwbG95IGEgc3RhY2sgd2l0aCB0d28gdmlydHVhbCBtYWNoaW5lIGluc3RhbmNlcw0KDQpwYXJhbWV0ZXJzOg0KICBpbWFnZV9uYW1lXzE6DQogICAgdHlwZTogc3RyaW5nDQogICAgbGFiZWw6IEltYWdlIE5hbWUNCiAgICBkZXNjcmlwdGlvbjogU0NPSU1BR0UgU3BlY2lmeSBhbiBpbWFnZSBuYW1lIGZvciBpbnN0YW5jZTENCiAgICBkZWZhdWx0OiBjaXJyb3MtMC4zLjEteDg2XzY0DQogIGltYWdlX25hbWVfMjoNCiAgICB0eXBlOiBzdHJpbmcNCiAgICBsYWJlbDogSW1hZ2UgTmFtZQ0KICAgIGRlc2NyaXB0aW9uOiBTQ09JTUFHRSBTcGVjaWZ5IGFuIGltYWdlIG5hbWUgZm9yIGluc3RhbmNlMg0KICAgIGRlZmF1bHQ6IGNpcnJvcy0wLjMuMS14ODZfNjQNCiAgbmV0d29ya19pZDoNCiAgICB0eXBlOiBzdHJpbmcNCiAgICBsYWJlbDogTmV0d29yayBJRA0KICAgIGRlc2NyaXB0aW9uOiBTQ09ORVRXT1JLIE5ldHdvcmsgdG8gYmUgdXNlZCBmb3IgdGhlIGNvbXB1dGUgaW5zdGFuY2UNCiAgICBoaWRkZW46IHRydWUNCiAgICBjb25zdHJhaW50czoNCiAgICAgIC0gbGVuZ3RoOiB7IG1pbjogNiwgbWF4OiA4IH0NCiAgICAgICAgZGVzY3JpcHRpb246IFBhc3N3b3JkIGxlbmd0aCBtdXN0IGJlIGJldHdlZW4gNiBhbmQgOCBjaGFyYWN0ZXJzLg0KICAgICAgLSByYW5nZTogeyBtaW46IDYsIG1heDogOCB9DQogICAgICAgIGRlc2NyaXB0aW9uOiBSYW5nZSBkZXNjcmlwdGlvbg0KICAgICAgLSBhbGxvd2VkX3ZhbHVlczoNCiAgICAgICAgLSBtMS5zbWFsbA0KICAgICAgICAtIG0xLm1lZGl1bQ0KICAgICAgICAtIG0xLmxhcmdlDQogICAgICAgIGRlc2NyaXB0aW9uOiBBbGxvd2VkIHZhbHVlcyBkZXNjcmlwdGlvbg0KICAgICAgLSBhbGxvd2VkX3BhdHRlcm46ICJbYS16QS1aMC05XSsiDQogICAgICAgIGRlc2NyaXB0aW9uOiBQYXNzd29yZCBtdXN0IGNvbnNpc3Qgb2YgY2hhcmFjdGVycyBhbmQgbnVtYmVycyBvbmx5Lg0KICAgICAgLSBhbGxvd2VkX3BhdHRlcm46ICJbQS1aXStbYS16QS1aMC05XSoiDQogICAgICAgIGRlc2NyaXB0aW9uOiBQYXNzd29yZCBtdXN0IHN0YXJ0IHdpdGggYW4gdXBwZXJjYXNlIGNoYXJhY3Rlci4NCiAgICAgIC0gY3VzdG9tX2NvbnN0cmFpbnQ6IG5vdmEua2V5cGFpcg0KICAgICAgICBkZXNjcmlwdGlvbjogQ3VzdG9tIGRlc2NyaXB0aW9uDQoNCnJlc291cmNlczoNCiAgbXlfaW5zdGFuY2UxOg0KICAgIHR5cGU6IE9TOjpOb3ZhOjpTZXJ2ZXINCiAgICBwcm9wZXJ0aWVzOg0KICAgICAgaW1hZ2U6IHsgZ2V0X3BhcmFtOiBpbWFnZV9uYW1lXzEgfQ0KICAgICAgZmxhdm9yOiBtMS5zbWFsbA0KICAgICAgbmV0d29ya3M6DQogICAgICAgIC0gbmV0d29yayA6IHsgZ2V0X3BhcmFtIDogbmV0d29ya19pZCB9DQogIG15X2luc3RhbmNlMjoNCiAgICB0eXBlOiBPUzo6Tm92YTo6U2VydmVyDQogICAgcHJvcGVydGllczoNCiAgICAgIGltYWdlOiB7IGdldF9wYXJhbTogaW1hZ2VfbmFtZV8yIH0NCiAgICAgIGZsYXZvcjogbTEudGlueQ0KICAgICAgbmV0d29ya3M6DQogICAgICAgIC0gbmV0d29yayA6IHsgZ2V0X3BhcmFtIDogbmV0d29ya19pZCB9";
594                         updatedPayloadData = "aGVhdF90ZW1wbGF0ZV92ZXJzaW9uOiAyMDE2LTA1LTIzDQoNCmRlc2NyaXB0aW9uOiBTaW1wbGUgdGVtcGxhdGRzYWRzYWRzYWUgdG8gZGVwbG95IGEgc3RhY2sgd2l0aCB0d28gdmlydHVhbCBtYWNoaW5lIGluc3RhbmNlcw0KDQpwYXJhbWV0ZXJzOg0KICBpbWFnZV9uYW1lXzE6DQogICAgdHlwZTogc3RyaW5nDQogICAgbGFiZWw6IEltYWdlIE5hbWUNCiAgICBkZXNjcmlwdGlvbjogU0NPSU1BR0UgU3BlY2lmeSBhbiBpbWFkc2FkYXN3Z2UgbmFtZSBmb3IgaW5zdGFuY2UxDQogICAgZGVmYXVsdDogY2lycm9zLTAuMy4xLXg4Nl82NA0KICBpbWFnZV9uYW1lXzI6DQogICAgdHlwZTogc3RyaW5nDQogICAgbGFiZWw6IEltYWdlIE5hbWUNCiAgICBkZXNjcmlwdGlvbjogU0NPSU1BR0UgU3BlY2lmeSBhbiBpbWFnZSBuYW1lIGZvciBpbnN0YW5jZTINCiAgICBkZWZhdWx0OiBjaXJyb3MtMC4zLjEteDg2XzY0DQogIG5ldHdvcmtfaWQ6DQogICAgdHlwZTogc3RyaW5nDQogICAgbGFiZWw6IE5ldHdvcmsgSUQNCiAgICBkZXNjcmlwdGlvbjogU0NPTkVUV09SSyBOZXR3b3JrIHRvIGJlIHVzZWQgZm9yIHRoZSBjb21wdXRlIGluc3RhbmNlDQogICAgaGlkZGVuOiB0cnVlDQogICAgY29uc3RyYWludHM6DQogICAgICAtIGxlbmd0aDogeyBtaW46IDYsIG1heDogOCB9DQogICAgICAgIGRlc2NyaXB0aW9uOiBQYXNzd29yZCBsZW5ndGggbXVzdCBiZSBiZXR3ZWVuIDYgYW5kIDggY2hhcmFjdGVycy4NCiAgICAgIC0gcmFuZ2U6IHsgbWluOiA2LCBtYXg6IDggfQ0KICAgICAgICBkZXNjcmlwdGlvbjogUmFuZ2UgZGVzY3JpcHRpb24NCiAgICAgIC0gYWxsb3dlZF92YWx1ZXM6DQogICAgICAgIC0gbTEuc21hbGwNCiAgICAgICAgLSBtMS5tZWRpdW0NCiAgICAgICAgLSBtMS5sYXJnZQ0KICAgICAgICBkZXNjcmlwdGlvbjogQWxsb3dlZCB2YWx1ZXMgZGVzY3JpcHRpb24NCiAgICAgIC0gYWxsb3dlZF9wYXR0ZXJuOiAiW2EtekEtWjAtOV0rIg0KICAgICAgICBkZXNjcmlwdGlvbjogUGFzc3dvcmQgbXVzdCBjb25zaXN0IG9mIGNoYXJhY3RlcnMgYW5kIG51bWJlcnMgb25seS4NCiAgICAgIC0gYWxsb3dlZF9wYXR0ZXJuOiAiW0EtWl0rW2EtekEtWjAtOV0qIg0KICAgICAgICBkZXNjcmlwdGlvbjogUGFzc3dvcmQgbXVzdCBzdGFydCB3aXRoIGFuIHVwcGVyY2FzZSBjaGFyYWN0ZXIuDQogICAgICAtIGN1c3RvbV9jb25zdHJhaW50OiBub3ZhLmtleXBhaXINCiAgICAgICAgZGVzY3JpcHRpb246IEN1c3RvbSBkZXNjcmlwdGlvbg0KDQpyZXNvdXJjZXM6DQogIG15X2luc3RhbmNlMToNCiAgICB0eXBlOiBPUzo6Tm92YTo6U2VydmVyDQogICAgcHJvcGVydGllczoNCiAgICAgIGltYWdlOiB7IGdldF9wYXJhbTogaW1hZ2VfbmFtZV8xIH0NCiAgICAgIGZsYXZvcjogbTEuc21hbGwNCiAgICAgIG5ldHdvcmtzOg0KICAgICAgICAtIG5ldHdvcmsgOiB7IGdldF9wYXJhbSA6IG5ldHdvcmtfaWQgfQ0KICBteV9pbnN0YW5jZTI6DQogICAgdHlwZTogT1M6Ok5vdmE6OlNlcnZlcg0KICAgIHByb3BlcnRpZXM6DQogICAgICBpbWFnZTogeyBnZXRfcGFyYW06IGltYWdlX25hbWVfMiB9DQogICAgICBmbGF2b3I6IG0xLnRpbnkNCiAgICAgIG5ldHdvcmtzOg0KICAgICAgICAtIG5ldHdvcmsgOiB7IGdldF9wYXJhbSA6IG5ldHdvcmtfaWQgfQ";
595                         timeout = 0;
596                         artifactLabel = normalizeArtifactLabel(artifactName);
597                         break;
598                 }
599                 case SHELL_SCRIPT:
600                 default: {// dummy
601                         artifactName = generateUUIDforSufix() + "testArtifact.sh";
602                         payloadData = "dGVzdA==";
603                         updatedPayloadData = "YmVzYg==";
604                         artifactLabel = normalizeArtifactLabel(artifactName);
605                         break;
606                 }
607                 }
608                 artifactLabel = normalizeArtifactLabel("ci" + artifactName);
609                 
610                 ArtifactReqDetails artifactDetails = null;
611                 
612                 if (!updatedPayload){
613                 artifactDetails = new ArtifactReqDetails(artifactName, artifactType, artifactDescription, payloadData, artifactLabel);
614                 }
615                 else artifactDetails = new ArtifactReqDetails(artifactName, artifactType, artifactDescription,
616                                 updatedPayloadData, artifactLabel);
617                 
618                 artifactDetails.setArtifactGroupType(ArtifactGroupTypeEnum.DEPLOYMENT.getType());
619                 artifactDetails.setUrl(url);
620                 artifactDetails.setTimeout(timeout);
621                 artifactDetails.setArtifactDisplayName(artifactLabel);
622                 return artifactDetails;
623         }
624
625         private static String getDcaeArtifactName(ArtifactTypeEnum artifactTypeEnum, String artifactType) {
626                 String artifactName = null;
627                 switch (artifactTypeEnum) {
628                 case DCAE_INVENTORY_TOSCA: {
629                         artifactName = generateUUIDforSufix() + artifactType + "_toscaSampleArtifact.yml";
630                         break;
631                 }
632                 case DCAE_INVENTORY_JSON: {
633                         artifactName = generateUUIDforSufix() + artifactType + "_jsonSampleArtifact.json";
634                         break;
635                 }
636                 case DCAE_INVENTORY_POLICY: {
637                         artifactName = generateUUIDforSufix() + artifactType + "_emfSampleArtifact.emf";
638                         break;
639                 }
640                 case DCAE_INVENTORY_DOC: {
641                         artifactName = generateUUIDforSufix() + artifactType + "_docSampleArtifact.doc";
642                         break;
643                 }
644                 case DCAE_INVENTORY_BLUEPRINT: {
645                         artifactName = generateUUIDforSufix() + artifactType + "_bluePrintSampleArtifact.xml";
646                         break;
647                 }
648                 case DCAE_INVENTORY_EVENT: {
649                         artifactName = generateUUIDforSufix() + artifactType + "_eventSampleArtifact.xml";
650                         break;
651                 }
652                 }
653                 return artifactName;
654         }
655
656         // ---------------------Audit message------------------
657         public static ExpectedResourceAuditJavaObject getDefaultImportResourceAuditMsgSuccess() {
658
659                 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject();
660                 expectedResourceAuditJavaObject.setAction(AuditingActionEnum.IMPORT_RESOURCE.getName());
661                 expectedResourceAuditJavaObject.setResourceName("defaultImportResourceName.yaml");
662                 expectedResourceAuditJavaObject.setResourceType("Resource");
663                 expectedResourceAuditJavaObject.setPrevVersion("");
664                 expectedResourceAuditJavaObject.setCurrVersion("0.1");
665                 expectedResourceAuditJavaObject.setModifierName(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getFullName());
666                 expectedResourceAuditJavaObject.setModifierUid(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getUserId());
667                 expectedResourceAuditJavaObject.setPrevState("");
668                 expectedResourceAuditJavaObject.setCurrState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.toString());
669                 expectedResourceAuditJavaObject.setStatus("201");
670                 expectedResourceAuditJavaObject.setDesc("OK");
671                 expectedResourceAuditJavaObject.setToscaNodeType("");
672                 return expectedResourceAuditJavaObject;
673
674         }
675
676         public static ExpectedResourceAuditJavaObject getDefaultImportResourceAuditMsgFailure(ErrorInfo errorInfo, List<String> variables) {
677
678                 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject();
679                 expectedResourceAuditJavaObject.setAction(AuditingActionEnum.IMPORT_RESOURCE.getName());
680                 expectedResourceAuditJavaObject.setResourceName("");
681                 expectedResourceAuditJavaObject.setResourceType("Resource");
682                 expectedResourceAuditJavaObject.setPrevVersion("");
683                 expectedResourceAuditJavaObject.setCurrVersion("");
684                 expectedResourceAuditJavaObject.setModifierName(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getFullName());
685                 expectedResourceAuditJavaObject.setModifierUid(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getUserId());
686                 expectedResourceAuditJavaObject.setPrevState("");
687                 expectedResourceAuditJavaObject.setCurrState("");
688                 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
689                 expectedResourceAuditJavaObject.setDesc(AuditValidationUtils.buildAuditDescription(errorInfo, variables));
690                 expectedResourceAuditJavaObject.setToscaNodeType("");
691                 return expectedResourceAuditJavaObject;
692
693         }
694
695         public static ExpectedResourceAuditJavaObject getDefaultCertificationRequestAuditMsgSuccess() {
696
697                 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject();
698                 expectedResourceAuditJavaObject.setAction(AuditingActionEnum.CERTIFICATION_REQUEST_RESOURCE.getName());
699                 expectedResourceAuditJavaObject.setResourceName("defaultResourceName");
700                 expectedResourceAuditJavaObject.setResourceType("Resource");
701                 expectedResourceAuditJavaObject.setPrevVersion("");
702                 expectedResourceAuditJavaObject.setCurrVersion("0.1");
703                 expectedResourceAuditJavaObject.setModifierName(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getFullName());
704                 expectedResourceAuditJavaObject.setModifierUid(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getUserId());
705                 expectedResourceAuditJavaObject.setPrevState("");
706                 expectedResourceAuditJavaObject.setCurrState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.toString());
707                 expectedResourceAuditJavaObject.setStatus("200");
708                 expectedResourceAuditJavaObject.setDesc("OK");
709                 expectedResourceAuditJavaObject.setComment("");
710                 return expectedResourceAuditJavaObject;
711
712         }
713
714         public static ExpectedResourceAuditJavaObject getDefaultCertificationRequestAuditMsgFailure(ErrorInfo errorInfo, List<String> variables) {
715
716                 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject();
717                 expectedResourceAuditJavaObject.setAction(AuditingActionEnum.CERTIFICATION_REQUEST_RESOURCE.getName());
718                 expectedResourceAuditJavaObject.setResourceName("");
719                 expectedResourceAuditJavaObject.setResourceType("Resource");
720                 expectedResourceAuditJavaObject.setPrevVersion("0.1");
721                 expectedResourceAuditJavaObject.setCurrVersion("0.1");
722                 expectedResourceAuditJavaObject.setModifierName(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getFullName());
723                 expectedResourceAuditJavaObject.setModifierUid(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getUserId());
724                 expectedResourceAuditJavaObject.setPrevState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.toString());
725                 expectedResourceAuditJavaObject.setCurrState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.toString());
726                 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
727                 expectedResourceAuditJavaObject.setDesc(AuditValidationUtils.buildAuditDescription(errorInfo, variables));
728                 expectedResourceAuditJavaObject.setComment("");
729                 return expectedResourceAuditJavaObject;
730
731         }
732
733         public static ExpectedExternalAudit getDefaultExternalAuditObject(AssetTypeEnum assetType, AuditingActionEnum action, String query) {
734
735                 ExpectedExternalAudit expectedExternalAudit = new ExpectedExternalAudit();
736                 expectedExternalAudit.setACTION(action.getName());
737                 expectedExternalAudit.setCONSUMER_ID("ci");
738                 expectedExternalAudit.setRESOURCE_URL("/sdc/v1/catalog/" + assetType.getValue() + (query == null ? "" : query));
739                 expectedExternalAudit.setSTATUS("200");
740                 expectedExternalAudit.setDESC("OK");
741                 return expectedExternalAudit;
742
743         }
744
745         public static ExpectedExternalAudit getDefaultAssetListAudit(AssetTypeEnum assetType, AuditingActionEnum auditAction) {
746
747                 // ExpectedExternalAudit expectedAssetListAuditJavaObject = new
748                 // ExpectedExternalAudit();
749                 ExpectedExternalAudit expectedAssetListAuditJavaObject = getDefaultExternalAuditObject(assetType, auditAction, null);
750                 return expectedAssetListAuditJavaObject;
751
752         }
753
754         public static ExpectedExternalAudit getDefaultFilteredAssetListAudit(AssetTypeEnum assetType, String query) {
755
756                 // ExpectedExternalAudit expectedAssetListAuditJavaObject = new
757                 // ExpectedExternalAudit();
758                 ExpectedExternalAudit expectedAssetListAuditJavaObject = getDefaultExternalAuditObject(assetType, AuditingActionEnum.GET_FILTERED_ASSET_LIST, query);
759                 return expectedAssetListAuditJavaObject;
760
761         }
762
763         public static ExpectedExternalAudit getDefaultExternalArtifactAuditSuccess(AssetTypeEnum assetType, AuditingActionEnum action, ArtifactDefinition artifactDefinition, String componentUUID) {
764
765                 // ExpectedExternalAudit expectedExternalArtifactAudit = new
766                 // ExpectedExternalAudit();
767
768                 ExpectedExternalAudit expectedExternalArtifactAudit = getDefaultExternalAuditObject(assetType, action, null);
769                 expectedExternalArtifactAudit.setMODIFIER(AuditValidationUtils.getModifierString(artifactDefinition.getUpdaterFullName(), artifactDefinition.getUserIdLastUpdater()));
770                 expectedExternalArtifactAudit.setPREV_ARTIFACT_UUID("");
771                 expectedExternalArtifactAudit.setCURR_ARTIFACT_UUID(artifactDefinition.getArtifactUUID());
772                 expectedExternalArtifactAudit.setARTIFACT_DATA(AuditValidationUtils.buildArtifactDataAudit(artifactDefinition));
773                 expectedExternalArtifactAudit.setRESOURCE_URL(expectedExternalArtifactAudit.getRESOURCE_URL() + "/" + componentUUID + "/artifacts");
774                 return expectedExternalArtifactAudit;
775
776         }
777         
778         public static ExpectedExternalAudit getDefaultExternalArtifactAuditSuccess(AssetTypeEnum assetType, AuditingActionEnum action, ArtifactDefinition artifactDefinition, Component component) {
779
780                  //ExpectedExternalAudit expectedExternalArtifactAudit = new ExpectedExternalAudit();
781                 
782                 ExpectedExternalAudit expectedExternalArtifactAudit = getDefaultExternalAuditObject(assetType, action, null);
783                 expectedExternalArtifactAudit.setMODIFIER(AuditValidationUtils.getModifierString(artifactDefinition.getUpdaterFullName(), artifactDefinition.getUserIdLastUpdater()));
784                 expectedExternalArtifactAudit.setPREV_ARTIFACT_UUID("");
785                 expectedExternalArtifactAudit.setCURR_ARTIFACT_UUID(artifactDefinition.getArtifactUUID());
786                 expectedExternalArtifactAudit.setARTIFACT_DATA(AuditValidationUtils.buildArtifactDataAudit(artifactDefinition));
787                 expectedExternalArtifactAudit.setRESOURCE_URL(expectedExternalArtifactAudit.getRESOURCE_URL() + "/" + component.getUUID() + "/artifacts");
788                 expectedExternalArtifactAudit.setRESOURCE_NAME(component.getName());
789                 expectedExternalArtifactAudit.setRESOURCE_TYPE(component.getComponentType().getValue());
790                 return expectedExternalArtifactAudit;
791                 
792         }
793         
794         public static ExpectedResourceAuditJavaObject getDefaultCreateResourceExternalAPI(String resourceName) {
795
796                 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject();
797                 expectedResourceAuditJavaObject.setAction(AuditingActionEnum.CREATE_RESOURCE_BY_API.getName());
798                 expectedResourceAuditJavaObject.setResourceName(resourceName);
799                 expectedResourceAuditJavaObject.setResourceType("Resource");
800                 expectedResourceAuditJavaObject.setCONSUMER_ID("ci");
801                 expectedResourceAuditJavaObject.setRESOURCE_URL("/sdc/v1/catalog/resources");
802                 expectedResourceAuditJavaObject.setMODIFIER("");
803                 expectedResourceAuditJavaObject.setPrevVersion("");
804                 expectedResourceAuditJavaObject.setCurrVersion("0.1");
805                 expectedResourceAuditJavaObject.setPrevState("");
806                 expectedResourceAuditJavaObject.setCurrState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.toString());
807                 expectedResourceAuditJavaObject.setStatus("201");
808                 expectedResourceAuditJavaObject.setDesc("OK");
809                 
810                 return expectedResourceAuditJavaObject;
811                 
812                 
813         }
814         
815         public static ExpectedResourceAuditJavaObject getDefaultChangeAssetLifeCycleExternalAPI(Component resourceAssetStructure, User defaultUser, LifeCycleStatesEnum lifecycleStateEnum, AssetTypeEnum assetTypeEnum) {
816
817                 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject();
818                 expectedResourceAuditJavaObject.setAction(AuditingActionEnum.CHANGE_LIFECYCLE_BY_API.getName());
819                 expectedResourceAuditJavaObject.setResourceName(resourceAssetStructure.getName());
820                 expectedResourceAuditJavaObject.setResourceType(assetTypeEnum.getCorrespondingComponent());
821                 expectedResourceAuditJavaObject.setCONSUMER_ID("ci");
822                 expectedResourceAuditJavaObject.setRESOURCE_URL(String.format("/sdc/v1/catalog/%s/%s/lifecycleState/%s", assetTypeEnum.getValue().toLowerCase(), resourceAssetStructure.getUUID(), lifecycleStateEnum.getState()));
823                 expectedResourceAuditJavaObject.setMODIFIER(defaultUser.getFullName() + "(" + defaultUser.getUserId() + ")");
824                 expectedResourceAuditJavaObject.setPrevVersion("0.1");
825                 expectedResourceAuditJavaObject.setCurrVersion("0.1");
826                 expectedResourceAuditJavaObject.setPrevState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.toString());
827                 expectedResourceAuditJavaObject.setCurrState(LifecycleStateEnum.NOT_CERTIFIED_CHECKIN.toString());
828                 // TODO: Remove comment
829 //              expectedResourceAuditJavaObject.setINVARIANT_UUID(resourceAssetStructure.getInvariantUUID());
830                 // TODO: SERVICE_INSTANCE_ID
831                 expectedResourceAuditJavaObject.setStatus("201");
832                 expectedResourceAuditJavaObject.setDesc("OK");
833                 
834                 return expectedResourceAuditJavaObject;
835                 
836         }
837         
838         public static ExpectedResourceAuditJavaObject getDefaultInvalidChangeAssetLifeCycleExternalAPI(String assetUUID, User defaultUser, LifeCycleStatesEnum lifecycleStateEnum, AssetTypeEnum assetTypeEnum) {
839
840                 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject();
841                 expectedResourceAuditJavaObject.setAction(AuditingActionEnum.CHANGE_LIFECYCLE_BY_API.getName());
842                 expectedResourceAuditJavaObject.setResourceName("");
843                 expectedResourceAuditJavaObject.setResourceType(assetTypeEnum.getCorrespondingComponent());
844                 expectedResourceAuditJavaObject.setCONSUMER_ID("ci");
845                 expectedResourceAuditJavaObject.setRESOURCE_URL(String.format("/sdc/v1/catalog/%s/%s/lifecycleState/%s", assetTypeEnum.getValue().toLowerCase(), assetUUID, lifecycleStateEnum.getState()));
846                 expectedResourceAuditJavaObject.setMODIFIER("");
847                 expectedResourceAuditJavaObject.setMODIFIER(defaultUser.getFullName() + "(" + defaultUser.getUserId() + ")");
848                 expectedResourceAuditJavaObject.setPrevVersion("");
849                 expectedResourceAuditJavaObject.setCurrVersion("");
850                 expectedResourceAuditJavaObject.setPrevState("");
851                 expectedResourceAuditJavaObject.setCurrState("");
852                 expectedResourceAuditJavaObject.setStatus("404");
853                 expectedResourceAuditJavaObject.setDesc("OK");
854                 
855                 return expectedResourceAuditJavaObject;
856                 
857         }
858
859         public static ExpectedExternalAudit getDefaultExternalArtifactAuditSuccess(AssetTypeEnum assetType, AuditingActionEnum action, ArtifactDefinition artifactDefinition, String componentUUID, String resourceInstanceName) {
860
861                 ExpectedExternalAudit expectedExternalArtifactAudit = getDefaultExternalArtifactAuditSuccess(assetType, action, artifactDefinition, componentUUID);
862                 expectedExternalArtifactAudit.setRESOURCE_URL("/sdc/v1/catalog/" + assetType.getValue() + "/" + componentUUID + "/resourceInstances/" + resourceInstanceName + "/artifacts");
863                 return expectedExternalArtifactAudit;
864         }
865
866         public static ExpectedExternalAudit getDefaultExternalArtifactAuditFailure(AssetTypeEnum assetType, AuditingActionEnum action, ArtifactDefinition artifactDefinition, String componentUUID, ErrorInfo errorInfo, List<String> variables) {
867
868                 // ExpectedExternalAudit expectedExternalArtifactAudit = new
869                 // ExpectedExternalAudit();
870
871                 ExpectedExternalAudit expectedExternalArtifactAudit = getDefaultExternalAuditObject(assetType, action, null);
872                 expectedExternalArtifactAudit.setMODIFIER(AuditValidationUtils.getModifierString(artifactDefinition.getUpdaterFullName(), artifactDefinition.getUserIdLastUpdater()));
873                 expectedExternalArtifactAudit.setPREV_ARTIFACT_UUID("");
874                 expectedExternalArtifactAudit.setCURR_ARTIFACT_UUID(artifactDefinition.getArtifactUUID());
875                 expectedExternalArtifactAudit.setARTIFACT_DATA(AuditValidationUtils.buildArtifactDataAudit(artifactDefinition));
876                 expectedExternalArtifactAudit.setRESOURCE_URL(expectedExternalArtifactAudit.getRESOURCE_URL() + "/" + componentUUID + "/artifacts");
877                 expectedExternalArtifactAudit.setSTATUS(errorInfo.getCode().toString());
878                 expectedExternalArtifactAudit.setDESC(AuditValidationUtils.buildAuditDescription(errorInfo, variables));
879                 return expectedExternalArtifactAudit;
880
881         }
882
883         public static ExpectedExternalAudit getDefaultExternalArtifactAuditFailure(AssetTypeEnum assetType, AuditingActionEnum action, ArtifactDefinition artifactDefinition, String componentUUID, ErrorInfo errorInfo, List<String> variables,
884                         String resourceInstanceName) {
885
886                 ExpectedExternalAudit expectedExternalArtifactAudit = getDefaultExternalArtifactAuditFailure(assetType, action, artifactDefinition, componentUUID, errorInfo, variables);
887                 expectedExternalArtifactAudit.setRESOURCE_URL("/sdc/v1/catalog/" + assetType.getValue() + "/" + componentUUID + "/resourceInstances/" + resourceInstanceName + "/artifacts");
888                 return expectedExternalArtifactAudit;
889         }
890
891         public static ExpectedExternalAudit getFilteredAssetListAuditCategoryNotFound(AssetTypeEnum assetType, String query, String category) {
892
893                 // ExpectedExternalAudit expectedAssetListAuditJavaObject = new
894                 // ExpectedExternalAudit();
895                 ExpectedExternalAudit expectedAssetListAuditJavaObject = getDefaultExternalAuditObject(assetType, AuditingActionEnum.GET_FILTERED_ASSET_LIST, query);
896                 expectedAssetListAuditJavaObject.setSTATUS("404");
897                 ErrorInfo errorInfo = null;
898                 try {
899                         errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.COMPONENT_CATEGORY_NOT_FOUND.name());
900                 } catch (FileNotFoundException e) {
901                         e.printStackTrace();
902                 }
903                 String desc = (errorInfo.getMessageId() + ": " + errorInfo.getMessage()).replace("%2", "category").replace("%3", category).replace("%1", "resource");
904                 expectedAssetListAuditJavaObject.setDESC(desc);
905
906                 return expectedAssetListAuditJavaObject;
907
908         }
909
910         public static ExpectedExternalAudit getDefaultAssetMetadataAudit(AssetTypeEnum assetType, Component component) {
911
912                 ExpectedExternalAudit expectedAssetListAuditJavaObject = new ExpectedExternalAudit();
913                 expectedAssetListAuditJavaObject = getDefaultExternalAuditObject(assetType, AuditingActionEnum.GET_ASSET_METADATA, null);
914                 expectedAssetListAuditJavaObject.setRESOURCE_URL(expectedAssetListAuditJavaObject.getRESOURCE_URL() + "/" + component.getUUID() + "/metadata");
915                 expectedAssetListAuditJavaObject.setRESOURCE_NAME(component.getName());
916                 expectedAssetListAuditJavaObject.setRESOURCE_TYPE(component.getComponentType().getValue());
917                 expectedAssetListAuditJavaObject.setSERVICE_INSTANCE_ID(component.getUUID());
918                 return expectedAssetListAuditJavaObject;
919
920         }
921
922         public static ExpectedExternalAudit getDefaultAssetMetadataAuditFailure(AssetTypeEnum assetType, String serviceUuid, String resourceType) {
923
924                 ExpectedExternalAudit expectedAssetListAuditJavaObject = new ExpectedExternalAudit();
925                 expectedAssetListAuditJavaObject = getDefaultExternalAuditObject(assetType, AuditingActionEnum.GET_ASSET_METADATA, null);
926                 expectedAssetListAuditJavaObject.setSTATUS("404");
927                 expectedAssetListAuditJavaObject.setDESC("OK");
928                 expectedAssetListAuditJavaObject.setRESOURCE_URL(expectedAssetListAuditJavaObject.getRESOURCE_URL() + "/" + serviceUuid + "/metadata");
929                 expectedAssetListAuditJavaObject.setRESOURCE_TYPE(resourceType);
930                 expectedAssetListAuditJavaObject.setSERVICE_INSTANCE_ID(serviceUuid);
931                 return expectedAssetListAuditJavaObject;
932
933         }
934
935         // Category/Subcategory/Group
936         public static CategoryDefinition getDefaultCategory() {
937                 CategoryDefinition productCategoryDefinition = new CategoryDefinition();
938                 productCategoryDefinition.setName("CiCateg" + generateUUIDforSufix());
939                 return productCategoryDefinition;
940         }
941
942         public static SubCategoryDefinition getDefaultSubCategory() {
943                 SubCategoryDefinition productSubCategoryDefinition = new SubCategoryDefinition();
944                 productSubCategoryDefinition.setName("CiSubCateg" + generateUUIDforSufix());
945                 return productSubCategoryDefinition;
946         }
947
948         public static GroupingDefinition getDefaultGroup() {
949                 GroupingDefinition productGroupDefinition = new GroupingDefinition();
950                 productGroupDefinition.setName("CiGrouping1" + generateUUIDforSufix());
951                 return productGroupDefinition;
952         }
953
954         // Product
955
956         public static ProductReqDetails getDefaultProduct() {
957                 return createDefaultProductReqDetails(CI_PRODUCT, null);
958         }
959
960         public static ProductReqDetails getDefaultProduct(String name) {
961                 return createDefaultProductReqDetails(name, null);
962         }
963
964         public static ProductReqDetails getDefaultProduct(CategoryDefinition category) {
965                 List<CategoryDefinition> categories = new ArrayList<>();
966                 categories.add(category);
967                 return createDefaultProductReqDetails(CI_PRODUCT, categories);
968         }
969
970         public static ProductReqDetails getDefaultProduct(String name, CategoryDefinition category) {
971                 List<CategoryDefinition> categories = new ArrayList<>();
972                 categories.add(category);
973                 return createDefaultProductReqDetails(name, categories);
974         }
975
976         public static ProductReqDetails getDefaultProduct(List<CategoryDefinition> categories) {
977                 return createDefaultProductReqDetails(CI_PRODUCT, categories);
978         }
979
980         public static ProductReqDetails getDefaultProduct(String name, List<CategoryDefinition> categories) {
981                 return createDefaultProductReqDetails(name, categories);
982         }
983
984         private static ProductReqDetails createDefaultProductReqDetails(String productName, List<CategoryDefinition> categories) {
985                 ProductReqDetails product = new ProductReqDetails(productName);
986                 productName = (productName + generateUUIDforSufix());
987                 product.setName(productName);
988                 ArrayList<String> tags = new ArrayList<>();
989                 tags.add(productName);
990                 product.setTags(tags);
991                 product.setProjectCode("12345");
992                 product.setIcon("myIcon");
993                 ArrayList<String> contacts = new ArrayList<>();
994                 // contacts.add(ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_STRATEGIST1).getUserId());
995                 // contacts.add(ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_STRATEGIST2).getUserId());
996                 contacts.add(ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_MANAGER1).getUserId());
997                 // contacts.add(ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_MANAGER2).getUserId());
998                 product.setContacts(contacts);
999                 product.setContactId(UserRoleEnum.PRODUCT_MANAGER1.getUserId());
1000                 product.setCategories(categories);
1001                 String fullName = "This is my full name: " + productName;
1002                 product.setFullName(fullName);
1003                 String description = "This is product description";
1004                 product.setDescription(description);
1005                 return product;
1006         }
1007
1008         public static RequirementCapabilityRelDef getReqCapRelation(String fromCompInstId, String toCompInstId, String reqOwnerId, String capOwnerId, String capType, String reqCapName, List<CapabilityDefinition> capList,
1009                         List<RequirementDefinition> reqList) {
1010                 RequirementCapabilityRelDef requirementDef = new RequirementCapabilityRelDef();
1011                 requirementDef.setFromNode(fromCompInstId);
1012                 requirementDef.setToNode(toCompInstId);
1013                 RelationshipInfo relationInfo = new RelationshipInfo();
1014                 relationInfo.setRequirementOwnerId(reqOwnerId);
1015                 relationInfo.setCapabilityOwnerId(capOwnerId);
1016                 relationInfo.setRequirement(reqCapName);
1017                 RelationshipImpl relationImpl = new RelationshipImpl();
1018                 relationImpl.setType(capType);
1019                 relationInfo.setRelationships(relationImpl);
1020                 relationInfo.setCapabilityUid(capList.get(0).getUniqueId());
1021                 relationInfo.setRequirementUid(reqList.get(0).getUniqueId());
1022                 List<CapabilityRequirementRelationship> relationships = new ArrayList<>();
1023                 CapabilityRequirementRelationship relationship = new CapabilityRequirementRelationship();
1024                 relationship.setRelation(relationInfo);
1025                 relationships.add(relationship);
1026                 requirementDef.setRelationships(relationships);
1027                 return requirementDef;
1028         }
1029
1030         public static String generateUUIDforSufix() {
1031
1032                 String uniqueSufix = UUID.randomUUID().toString();
1033                 String[] split = uniqueSufix.split("-");
1034                 return uniqueSufix = split[4];
1035         }
1036
1037         private static String normalizeArtifactLabel(String label) {
1038
1039                 label = label.substring(0, label.indexOf("."));
1040                 String normalizedLabel = ValidationUtils.normalizeArtifactLabel(label);
1041                 return normalizedLabel.substring(0, Math.min(25, normalizedLabel.length()));
1042
1043         }
1044
1045 }