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