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