2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 package org.openecomp.sdc.ci.tests.utils.general;
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;
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;
52 public class ElementFactory {
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";
64 public static String getServicePrefix() {
68 public static String getResourcePrefix() {
72 public static String getProductPrefix() {
78 public static ResourceReqDetails getDefaultResource() {
79 return getDefaultResource(CI_RES, NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, "jh0003");
82 public static ResourceReqDetails getDefaultResource(ResourceCategoryEnum category) {
83 return getDefaultResource(CI_RES, NormativeTypesEnum.ROOT, category, "jh0003");
86 public static ResourceReqDetails getDefaultResource(String contactId) {
87 return getDefaultResource(CI_RES, NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, contactId);
90 public static ResourceReqDetails getDefaultResource(User modifier) {
91 return getDefaultResource(CI_RES, NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, modifier.getUserId());
94 public static ResourceReqDetails getDefaultResource(NormativeTypesEnum derivedFrom, ResourceCategoryEnum category) {
95 return getDefaultResource(CI_RES, derivedFrom, category, "jh0003");
98 public static ResourceReqDetails getDefaultResource(NormativeTypesEnum derivedFrom) {
99 return getDefaultResource(CI_RES, derivedFrom, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, "jh0003");
102 public static ResourceReqDetails getDefaultResource(String resourceName, NormativeTypesEnum derivedFrom) {
103 return getDefaultResource(resourceName, derivedFrom, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, "jh0003");
106 public static ResourceReqDetails getDefaultResource(NormativeTypesEnum derivedFrom, String contactId) {
107 return getDefaultResource(CI_RES, derivedFrom, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, contactId);
111 public static ResourceReqDetails getDefaultResourceByType(ResourceTypeEnum ResourceType, String resourceName, ResourceCategoryEnum resourceCategory, String vendorName, String vendorModelNumber) {
112 return getDefaultResourceByType(resourceName, NormativeTypesEnum.ROOT, resourceCategory, "jh0003", ResourceType.toString(), vendorName, vendorModelNumber);
115 public static ResourceReqDetails getDefaultResourceByType(ResourceTypeEnum ResourceType, String resourceName) {
116 return getDefaultResourceByType(resourceName, NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, "jh0003", ResourceType.toString());
119 public static ResourceReqDetails getDefaultResourceByType(ResourceTypeEnum ResourceType, User user) {
120 return getDefaultResourceByType(CI_RES, NormativeTypesEnum.ROOT, ResourceCategoryEnum.APPLICATION_L4_LOAD_BALANCER, user.getUserId(), ResourceType.toString());
123 public static ResourceReqDetails getDefaultResourceByTypeNormTypeAndCatregory(ResourceTypeEnum resourceType, NormativeTypesEnum normativeTypes, ResourceCategoryEnum resourceCategory, User user) {
124 return getDefaultResourceByType(CI_RES, normativeTypes, resourceCategory, user.getUserId(), resourceType.toString());
127 public static PropertyReqDetails getDefaultMapProperty(PropertyTypeEnum innerType) {
128 return getPropertyDetails(innerType);
131 public static PropertyReqDetails getDefaultMapProperty() {
132 return getPropertyDetails(PropertyTypeEnum.STRING_MAP);
135 public static ResourceReqDetails getDefaultResource(String resourceName, NormativeTypesEnum derived, ResourceCategoryEnum category, String contactId) {
136 resourceName = (resourceName + generateUUIDforSufix());
137 String description = "Represents a generic software component that can be managed and run by a Compute Node Type.";
138 ArrayList<String> resourceTags = new ArrayList<>();
139 resourceTags.add(resourceName);
141 ArrayList<String> derivedFrom = new ArrayList<>();
142 derivedFrom.add(derived.normativeName);
143 String vendorName = "ATT Tosca";
144 String vendorRelease = "1.0.0.wd03";
145 String icon = "defaulticon";
146 ResourceReqDetails resourceDetails = new ResourceReqDetails(resourceName, description, resourceTags, null, derivedFrom, vendorName, vendorRelease, contactId, icon);
147 resourceDetails.addCategoryChain(category.getCategory(), category.getSubCategory());
148 resourceDetails.setResourceVendorModelNumber("vendorNumber-1.5.7");
150 return resourceDetails;
154 public static ResourceReqDetails getDefaultResourceByTypeNormTypeAndCatregory(ResourceTypeEnum resourceType, Resource normativeTypes, ResourceCategoryEnum resourceCategory, User user) {
155 return getDefaultResource(CI_RES + resourceType, normativeTypes, resourceCategory, user.getUserId());
158 public static ResourceReqDetails getDefaultResource(String resourceName, Resource derived, ResourceCategoryEnum category, String contactId) {
159 resourceName = (resourceName + generateUUIDforSufix());
160 String description = "Represents a generic software component that can be managed and run by a Compute Node Type.";
161 ArrayList<String> resourceTags = new ArrayList<>();
162 resourceTags.add(resourceName);
164 ArrayList<String> derivedFrom = new ArrayList<>();
165 derivedFrom.add(derived.getToscaResourceName());
166 String vendorName = "ATT Tosca";
167 String vendorRelease = "1.0.0.wd03";
168 String icon = "defaulticon";
169 ResourceReqDetails resourceDetails = new ResourceReqDetails(resourceName, description, resourceTags, null, derivedFrom, vendorName, vendorRelease, contactId, icon);
170 resourceDetails.addCategoryChain(category.getCategory(), category.getSubCategory());
172 return resourceDetails;
176 public static ResourceReqDetails getDefaultResourceByType(String resourceName, NormativeTypesEnum derived, ResourceCategoryEnum category, String contactId, ResourceTypeEnum resourceType) {
177 return getDefaultResourceByType(resourceName, derived, category, contactId, resourceType.toString());
181 public static ResourceReqDetails getDefaultResourceByType(String resourceName, NormativeTypesEnum derived, ResourceCategoryEnum category, String contactId, String resourceType) {
182 resourceName = (resourceName + resourceType + generateUUIDforSufix());
183 String description = "Represents a generic software component that can be managed and run by a Compute Node Type.";
184 ArrayList<String> resourceTags = new ArrayList<>();
185 resourceTags.add(resourceName);
186 ArrayList<String> derivedFrom = null;
187 if (derived != null) {
188 derivedFrom = new ArrayList<String>();
189 derivedFrom.add(derived.normativeName);
191 String vendorName = "ATT Tosca";
192 String vendorRelease = "1.0.0.wd03";
193 String icon = "defaulticon";
194 ResourceReqDetails resourceDetails = new ResourceReqDetails(resourceName, description, resourceTags, null, derivedFrom, vendorName, vendorRelease, contactId, icon, resourceType.toString());
195 resourceDetails.addCategoryChain(category.getCategory(), category.getSubCategory());
196 resourceDetails.setResourceVendorModelNumber("vendorNumber-1.5.7");
197 return resourceDetails;
200 public static ResourceReqDetails getDefaultResourceByType(String resourceName, NormativeTypesEnum derived, ResourceCategoryEnum category, String contactId, String resourceType, String vendorName, String vendorModelNumber) {
201 resourceName = (resourceName + resourceType + generateUUIDforSufix());
203 String description = "Represents a generic software component that can be managed and run by a Compute Node Type.";
204 ArrayList<String> resourceTags = new ArrayList<>();
205 resourceTags.add(resourceName);
206 ArrayList<String> derivedFrom = null;
207 if (derived != null) {
208 derivedFrom = new ArrayList<>();
209 derivedFrom.add(derived.normativeName);
211 String vendorRelease = "1.0.0.wd03";
212 String icon = "defaulticon";
213 ResourceReqDetails resourceDetails = new ResourceReqDetails(resourceName, description, resourceTags, null, derivedFrom, vendorName, vendorRelease, contactId, icon, resourceType.toString());
214 resourceDetails.addCategoryChain(category.getCategory(), category.getSubCategory());
215 resourceDetails.setResourceVendorModelNumber(vendorModelNumber);
216 return resourceDetails;
219 public static ResourceReqDetails getRandomCategoryResource() {
220 ResourceReqDetails resourceDetails = getDefaultResource(ResourceCategoryEnum.getRandomElement());
221 return resourceDetails;
224 public static ResourceExternalReqDetails getDefaultResourceByType(String resourceName, ResourceCategoryEnum category, String contactId, String resourceType) {
225 resourceName = (resourceName + resourceType + generateUUIDforSufix());
226 String description = "Represents a generic software component that can be managed and run by a Compute Node Type.";
227 ArrayList<String> resourceTags = new ArrayList<>();
228 resourceTags.add(resourceName);
229 String vendorName = "ATT Tosca";
230 String vendorRelease = "1.0.0.wd03";
231 String icon = "defaulticon";
232 ResourceExternalReqDetails resourceDetails = new ResourceExternalReqDetails(resourceName, description, resourceTags,
233 vendorName, vendorRelease, contactId, icon,
234 resourceType.toString(), category.getCategory(), category.getSubCategory());
235 return resourceDetails;
239 public static ImportReqDetails getDefaultImportResourceByType(String resourceName, NormativeTypesEnum derived, ResourceCategoryEnum category, String contactId, String resourceType) {
240 resourceName = (resourceName + resourceType + generateUUIDforSufix());
241 String description = "Represents a generic software component that can be managed and run by a Compute Node Type.";
242 ArrayList<String> resourceTags = new ArrayList<>();
243 resourceTags.add(resourceName);
244 ArrayList<String> derivedFrom = null;
245 if (derived != null) {
246 derivedFrom = new ArrayList<>();
247 derivedFrom.add(derived.normativeName);
249 String vendorName = "ATT Tosca";
250 String vendorRelease = "1.0.0.wd03";
251 String icon = "defaulticon";
252 ImportReqDetails resourceDetails = new ImportReqDetails(resourceName, description, resourceTags, derivedFrom, vendorName, vendorRelease, contactId, icon);
253 resourceDetails.addCategoryChain(category.getCategory(), category.getSubCategory());
254 return resourceDetails;
258 public static ImportReqDetails getDefaultImportResource(ResourceReqDetails resourceReqDetails) {
259 ImportReqDetails importReqDetails = new ImportReqDetails(resourceReqDetails.getName(), resourceReqDetails.getDescription(), resourceReqDetails.getTags(), resourceReqDetails.getDerivedFrom(), resourceReqDetails.getVendorName(),
260 resourceReqDetails.getVendorRelease(), resourceReqDetails.getContactId(), resourceReqDetails.getIcon());
261 importReqDetails.setPayloadName("myCompute.yaml");
262 importReqDetails.setCategories(resourceReqDetails.getCategories());
263 importReqDetails.setPayloadData(
264 "dG9zY2FfZGVmaW5pdGlvbnNfdmVyc2lvbjogdG9zY2Ffc2ltcGxlX3lhbWxfMV8wXzANCm5vZGVfdHlwZXM6IA0KICBjb20uYXR0LmQyLnJlc291cmNlLk15Q29tcHV0ZToNCiAgICBkZXJpdmVkX2Zyb206IHRvc2NhLm5vZGVzLlJvb3QNCiAgICBhdHRyaWJ1dGVzOg0KICAgICAgcHJpdmF0ZV9hZGRyZXNzOg0KICAgICAgICB0eXBlOiBzdHJpbmcNCiAgICAgIHB1YmxpY19hZGRyZXNzOg0KICAgICAgICB0eXBlOiBzdHJpbmcNCiAgICAgIG5ldHdvcmtzOg0KICAgICAgICB0eXBlOiBtYXANCiAgICAgICAgZW50cnlfc2NoZW1hOg0KICAgICAgICAgIHR5cGU6IHRvc2NhLmRhdGF0eXBlcy5uZXR3b3JrLk5ldHdvcmtJbmZvDQogICAgICBwb3J0czoNCiAgICAgICAgdHlwZTogbWFwDQogICAgICAgIGVudHJ5X3NjaGVtYToNCiAgICAgICAgICB0eXBlOiB0b3NjYS5kYXRhdHlwZXMubmV0d29yay5Qb3J0SW5mbw0KICAgIHJlcXVpcmVtZW50czoNCiAgICAgIC0gbG9jYWxfc3RvcmFnZTogDQogICAgICAgICAgY2FwYWJpbGl0eTogdG9zY2EuY2FwYWJpbGl0aWVzLkF0dGFjaG1lbnQNCiAgICAgICAgICBub2RlOiB0b3NjYS5ub2Rlcy5CbG9ja1N0b3JhZ2UNCiAgICAgICAgICByZWxhdGlvbnNoaXA6IHRvc2NhLnJlbGF0aW9uc2hpcHMuQXR0YWNoZXNUbw0KICAgICAgICAgIG9jY3VycmVuY2VzOiBbMCwgVU5CT1VOREVEXSAgDQogICAgY2FwYWJpbGl0aWVzOg0KICAgICAgaG9zdDogDQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5Db250YWluZXINCiAgICAgICAgdmFsaWRfc291cmNlX3R5cGVzOiBbdG9zY2Eubm9kZXMuU29mdHdhcmVDb21wb25lbnRdIA0KICAgICAgZW5kcG9pbnQgOg0KICAgICAgICB0eXBlOiB0b3NjYS5jYXBhYmlsaXRpZXMuRW5kcG9pbnQuQWRtaW4gDQogICAgICBvczogDQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5PcGVyYXRpbmdTeXN0ZW0NCiAgICAgIHNjYWxhYmxlOg0KICAgICAgICB0eXBlOiB0b3NjYS5jYXBhYmlsaXRpZXMuU2NhbGFibGUNCiAgICAgIGJpbmRpbmc6DQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5uZXR3b3JrLkJpbmRhYmxlDQo=");
265 return importReqDetails;
268 public static ImportReqDetails getDefaultImportResource() {
269 ResourceReqDetails resourceReqDetails = getDefaultResource();
270 ImportReqDetails importReqDetails = new ImportReqDetails(resourceReqDetails.getName(), resourceReqDetails.getDescription(), resourceReqDetails.getTags(), resourceReqDetails.getDerivedFrom(), resourceReqDetails.getVendorName(),
271 resourceReqDetails.getVendorRelease(), resourceReqDetails.getContactId(), resourceReqDetails.getIcon());
272 importReqDetails.setPayloadName("myCompute.yaml");
273 importReqDetails.setCategories(resourceReqDetails.getCategories());
274 importReqDetails.setPayloadData(
275 "dG9zY2FfZGVmaW5pdGlvbnNfdmVyc2lvbjogdG9zY2Ffc2ltcGxlX3lhbWxfMV8wXzANCm5vZGVfdHlwZXM6IA0KICBjb20uYXR0LmQyLnJlc291cmNlLk15Q29tcHV0ZToNCiAgICBkZXJpdmVkX2Zyb206IHRvc2NhLm5vZGVzLlJvb3QNCiAgICBhdHRyaWJ1dGVzOg0KICAgICAgcHJpdmF0ZV9hZGRyZXNzOg0KICAgICAgICB0eXBlOiBzdHJpbmcNCiAgICAgIHB1YmxpY19hZGRyZXNzOg0KICAgICAgICB0eXBlOiBzdHJpbmcNCiAgICAgIG5ldHdvcmtzOg0KICAgICAgICB0eXBlOiBtYXANCiAgICAgICAgZW50cnlfc2NoZW1hOg0KICAgICAgICAgIHR5cGU6IHRvc2NhLmRhdGF0eXBlcy5uZXR3b3JrLk5ldHdvcmtJbmZvDQogICAgICBwb3J0czoNCiAgICAgICAgdHlwZTogbWFwDQogICAgICAgIGVudHJ5X3NjaGVtYToNCiAgICAgICAgICB0eXBlOiB0b3NjYS5kYXRhdHlwZXMubmV0d29yay5Qb3J0SW5mbw0KICAgIHJlcXVpcmVtZW50czoNCiAgICAgIC0gbG9jYWxfc3RvcmFnZTogDQogICAgICAgICAgY2FwYWJpbGl0eTogdG9zY2EuY2FwYWJpbGl0aWVzLkF0dGFjaG1lbnQNCiAgICAgICAgICBub2RlOiB0b3NjYS5ub2Rlcy5CbG9ja1N0b3JhZ2UNCiAgICAgICAgICByZWxhdGlvbnNoaXA6IHRvc2NhLnJlbGF0aW9uc2hpcHMuQXR0YWNoZXNUbw0KICAgICAgICAgIG9jY3VycmVuY2VzOiBbMCwgVU5CT1VOREVEXSAgDQogICAgY2FwYWJpbGl0aWVzOg0KICAgICAgaG9zdDogDQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5Db250YWluZXINCiAgICAgICAgdmFsaWRfc291cmNlX3R5cGVzOiBbdG9zY2Eubm9kZXMuU29mdHdhcmVDb21wb25lbnRdIA0KICAgICAgZW5kcG9pbnQgOg0KICAgICAgICB0eXBlOiB0b3NjYS5jYXBhYmlsaXRpZXMuRW5kcG9pbnQuQWRtaW4gDQogICAgICBvczogDQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5PcGVyYXRpbmdTeXN0ZW0NCiAgICAgIHNjYWxhYmxlOg0KICAgICAgICB0eXBlOiB0b3NjYS5jYXBhYmlsaXRpZXMuU2NhbGFibGUNCiAgICAgIGJpbmRpbmc6DQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5uZXR3b3JrLkJpbmRhYmxlDQo=");
276 return importReqDetails;
279 public static ImportReqDetails getDefaultImportResource(String name) {
280 ResourceReqDetails resourceReqDetails = getDefaultResourceByType(ResourceTypeEnum.VFC, name);
281 ImportReqDetails importReqDetails = new ImportReqDetails(resourceReqDetails.getName(), resourceReqDetails.getDescription(), resourceReqDetails.getTags(), resourceReqDetails.getDerivedFrom(), resourceReqDetails.getVendorName(),
282 resourceReqDetails.getVendorRelease(), resourceReqDetails.getContactId(), resourceReqDetails.getIcon());
283 importReqDetails.setPayloadName("myCompute.yaml");
284 importReqDetails.setCategories(resourceReqDetails.getCategories());
285 importReqDetails.setPayloadData(
286 "dG9zY2FfZGVmaW5pdGlvbnNfdmVyc2lvbjogdG9zY2Ffc2ltcGxlX3lhbWxfMV8wXzANCm5vZGVfdHlwZXM6IA0KICBjb20uYXR0LmQyLnJlc291cmNlLk15Q29tcHV0ZToNCiAgICBkZXJpdmVkX2Zyb206IHRvc2NhLm5vZGVzLlJvb3QNCiAgICBhdHRyaWJ1dGVzOg0KICAgICAgcHJpdmF0ZV9hZGRyZXNzOg0KICAgICAgICB0eXBlOiBzdHJpbmcNCiAgICAgIHB1YmxpY19hZGRyZXNzOg0KICAgICAgICB0eXBlOiBzdHJpbmcNCiAgICAgIG5ldHdvcmtzOg0KICAgICAgICB0eXBlOiBtYXANCiAgICAgICAgZW50cnlfc2NoZW1hOg0KICAgICAgICAgIHR5cGU6IHRvc2NhLmRhdGF0eXBlcy5uZXR3b3JrLk5ldHdvcmtJbmZvDQogICAgICBwb3J0czoNCiAgICAgICAgdHlwZTogbWFwDQogICAgICAgIGVudHJ5X3NjaGVtYToNCiAgICAgICAgICB0eXBlOiB0b3NjYS5kYXRhdHlwZXMubmV0d29yay5Qb3J0SW5mbw0KICAgIHJlcXVpcmVtZW50czoNCiAgICAgIC0gbG9jYWxfc3RvcmFnZTogDQogICAgICAgICAgY2FwYWJpbGl0eTogdG9zY2EuY2FwYWJpbGl0aWVzLkF0dGFjaG1lbnQNCiAgICAgICAgICBub2RlOiB0b3NjYS5ub2Rlcy5CbG9ja1N0b3JhZ2UNCiAgICAgICAgICByZWxhdGlvbnNoaXA6IHRvc2NhLnJlbGF0aW9uc2hpcHMuQXR0YWNoZXNUbw0KICAgICAgICAgIG9jY3VycmVuY2VzOiBbMCwgVU5CT1VOREVEXSAgDQogICAgY2FwYWJpbGl0aWVzOg0KICAgICAgaG9zdDogDQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5Db250YWluZXINCiAgICAgICAgdmFsaWRfc291cmNlX3R5cGVzOiBbdG9zY2Eubm9kZXMuU29mdHdhcmVDb21wb25lbnRdIA0KICAgICAgZW5kcG9pbnQgOg0KICAgICAgICB0eXBlOiB0b3NjYS5jYXBhYmlsaXRpZXMuRW5kcG9pbnQuQWRtaW4gDQogICAgICBvczogDQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5PcGVyYXRpbmdTeXN0ZW0NCiAgICAgIHNjYWxhYmxlOg0KICAgICAgICB0eXBlOiB0b3NjYS5jYXBhYmlsaXRpZXMuU2NhbGFibGUNCiAgICAgIGJpbmRpbmc6DQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5uZXR3b3JrLkJpbmRhYmxlDQo=");
287 return importReqDetails;
291 public static ServiceReqDetails getDefaultService() {
292 return getDefaultService(CI_SERVICE, ServiceCategoriesEnum.MOBILITY, "al1976", ServiceInstantiationType.A_LA_CARTE.getValue());
295 public static ServiceReqDetails getDefaultService(String contactId) {
296 return getDefaultService(CI_SERVICE, ServiceCategoriesEnum.MOBILITY, contactId, ServiceInstantiationType.A_LA_CARTE.getValue());
299 public static ServiceReqDetails getDefaultService(User user) {
300 return getDefaultService(CI_SERVICE, ServiceCategoriesEnum.MOBILITY, user.getUserId(), ServiceInstantiationType.A_LA_CARTE.getValue());
303 public static ServiceReqDetails getDefaultService(ServiceCategoriesEnum category, User user) {
304 return getDefaultService(CI_SERVICE, category, user.getUserId(), ServiceInstantiationType.A_LA_CARTE.getValue());
307 public static ServiceReqDetails getServiceByCategory(ServiceCategoriesEnum category) {
308 return getDefaultService(CI_SERVICE, category, "al1976", ServiceInstantiationType.A_LA_CARTE.getValue());
311 public static ServiceReqDetails getDefaultService(String serviceName, ServiceCategoriesEnum category, String contactId, String instantiationType) {
312 serviceName = (serviceName + generateUUIDforSufix());
313 ArrayList<String> tags = new ArrayList<>();
314 tags.add("serviceTag");
315 tags.add("serviceTag1");
316 tags.add(serviceName);
317 String description = "service Description";
318 String icon = "defaulticon";
320 ServiceReqDetails serviceDetails = new ServiceReqDetails(serviceName, category.getValue(), tags, description, contactId, icon, instantiationType);
322 return serviceDetails;
325 public static ServiceReqDetails getRandomCategoryService() {
326 ServiceReqDetails serviceReqDetails = getServiceByCategory(ServiceCategoriesEnum.getRandomElement());
327 return serviceReqDetails;
330 // ***** PROPERTY ***
332 public static PropertyReqDetails getDefaultProperty() {
333 return getDefaultProperty("disk_size");
336 public static PropertyReqDetails getDefaultProperty(String propertyName) {
337 PropertyReqDetails property = new PropertyReqDetails();
338 property.setName(propertyName);
339 property.setPropertyType("integer");
340 property.setPropertyRequired(false);
341 property.setPropertyDefaultValue("12345");
342 property.setPropertyDescription("test property");
343 property.setPropertyRangeMax("500");
344 property.setPropertyRangeMin("100");
345 property.setPropertyPassword(false);
349 public static PropertyReqDetails getDefaultIntegerProperty() {
350 return getPropertyDetails(PropertyTypeEnum.INTEGER);
353 public static PropertyReqDetails getDefaultStringProperty() {
354 return getPropertyDetails(PropertyTypeEnum.STRING);
357 public static PropertyReqDetails getDefaultBooleanProperty() {
358 return getPropertyDetails(PropertyTypeEnum.BOOLEAN);
361 public static PropertyReqDetails getDefaultListProperty() {
362 return getPropertyDetails(PropertyTypeEnum.STRING_LIST);
365 public static PropertyReqDetails getDefaultListProperty(PropertyTypeEnum innerType) {
366 return getPropertyDetails(innerType);
369 public static PropertyReqDetails getPropertyDetails(PropertyTypeEnum propType) {
370 return new PropertyReqDetails(propType.getName(), propType.getType(), propType.getValue(), propType.getDescription(), propType.getSchemaDefinition());
373 // ***** RESOURCE INSTANCE ***
374 public static ComponentInstanceReqDetails getDefaultComponentInstance() {
375 return getDefaultComponentInstance("resourceInstanceName");
378 public static ComponentInstanceReqDetails getDefaultComponentInstance(String name) {
379 String resourceUid = "resourceId";
380 ComponentInstanceReqDetails resourceInstanceDetails = new ComponentInstanceReqDetails(resourceUid, RESOURCE_INSTANCE_DESCRIPTION, RESOURCE_INSTANCE_POS_X, RESOURCE_INSTANCE_POS_Y, name, null);
382 return resourceInstanceDetails;
386 public static ComponentInstanceReqDetails getDefaultComponentInstance(String name, ComponentReqDetails componentReqDetails) {
387 String resourceUid = componentReqDetails.getUniqueId();
388 ComponentInstanceReqDetails resourceInstanceDetails = new ComponentInstanceReqDetails(resourceUid, RESOURCE_INSTANCE_DESCRIPTION, RESOURCE_INSTANCE_POS_X, RESOURCE_INSTANCE_POS_Y, name, null);
390 return resourceInstanceDetails;
394 public static ComponentInstanceReqDetails getDefaultComponentInstance(String serviceUniqueId, String originType) {
395 ComponentInstanceReqDetails componentInstanceReqDetails = new ComponentInstanceReqDetails(serviceUniqueId,
396 RESOURCE_INSTANCE_DESCRIPTION, RESOURCE_INSTANCE_POS_X, RESOURCE_INSTANCE_POS_Y, null, originType);
398 componentInstanceReqDetails.setUniqueId(serviceUniqueId + Math.random());
400 return componentInstanceReqDetails;
404 public static ComponentInstanceReqDetails getComponentResourceInstance(ComponentReqDetails compInstOriginDetails) {
405 String compInstName = (compInstOriginDetails.getName() != null ? compInstOriginDetails.getName() : "resourceInstanceName");
406 String resourceUid = compInstOriginDetails.getUniqueId();
407 ComponentInstanceReqDetails resourceInstanceDetails = new ComponentInstanceReqDetails(resourceUid, RESOURCE_INSTANCE_DESCRIPTION, RESOURCE_INSTANCE_POS_X, RESOURCE_INSTANCE_POS_Y, compInstName, null);
408 return resourceInstanceDetails;
412 public static ComponentInstanceReqDetails getComponentInstance(Component compInstOriginDetails) {
413 String compInstName = (compInstOriginDetails.getName() != null ? compInstOriginDetails.getName() : "componentInstanceName");
414 String compInsUid = compInstOriginDetails.getUniqueId();
415 ComponentInstanceReqDetails componentInstanceDetails = new ComponentInstanceReqDetails(compInsUid, RESOURCE_INSTANCE_DESCRIPTION, RESOURCE_INSTANCE_POS_X, RESOURCE_INSTANCE_POS_Y, compInstName, compInstOriginDetails.getComponentType() == ComponentTypeEnum.SERVICE ? OriginTypeEnum.ServiceProxy.name() : null);
416 return componentInstanceDetails;
420 //********ServiceFilter**********
421 public static ServiceFilterDetails getDefaultEqualOperatorFilter(String propertyName, String valueString) {
422 return new ServiceFilterDetails(propertyName, "equal", "static", "static", valueString);
425 public static ServiceFilterDetails getDefaultFilter(String propertyName, String valueString,
427 return new ServiceFilterDetails(propertyName, operator, "static", "static", valueString);
430 // ******* USER **********************
431 public static User getDefaultUser(UserRoleEnum userRole) {
432 User sdncModifierDetails = new User();
433 sdncModifierDetails.setUserId(userRole.getUserId());
434 sdncModifierDetails.setFirstName(userRole.getFirstName());
435 sdncModifierDetails.setLastName(userRole.getLastName());
436 return sdncModifierDetails;
439 public static User getDefaultMechUser() {
440 User sdncMechUserDetails = new User();
441 sdncMechUserDetails.setUserId("m12345");
442 sdncMechUserDetails.setFirstName("Fishi");
443 sdncMechUserDetails.setLastName("Shifi");
444 sdncMechUserDetails.setEmail("mechId@intl.sdc.com");
445 sdncMechUserDetails.setRole("DESIGNER");
446 return sdncMechUserDetails;
449 // ******* CONSUMER **********************
451 public static ConsumerDataDefinition getDefaultConsumerDetails() {
452 ConsumerDataDefinition consumer = new ConsumerDataDefinition();
453 consumer.setConsumerName("ci");
454 consumer.setConsumerSalt("2a1f887d607d4515d4066fe0f5452a50");
455 consumer.setConsumerPassword("0a0dc557c3bf594b1a48030e3e99227580168b21f44e285c69740b8d5b13e33b");
460 public static ArtifactReqDetails getDefaultArtifact() throws IOException, Exception {
461 return getDefaultArtifact(DEFAULT_ARTIFACT_LABEL);
464 public static ArtifactReqDetails getDefaultArtifact(String artifactLabel) throws IOException, Exception {
465 List<String> artifactTypes = ResponseParser.getValuesFromJsonArray(ArtifactRestUtils.getArtifactTypesList());
466 String artifactType = artifactTypes.get(0);
468 return getDefaultArtifact(artifactLabel, artifactType);
471 public static ArtifactReqDetails getDefaultArtifact(String artifactLabel, String artifactType) throws IOException, Exception {
473 String artifactName = "testArtifact.sh";
474 String artifactDescription = "descriptionTest";
475 String payloadData = "dGVzdA=="; // content of file
477 ArtifactReqDetails artifactDetails = new ArtifactReqDetails(artifactName, artifactType, artifactDescription, payloadData, artifactLabel);
478 artifactDetails.setUrl("");
479 artifactDetails.setArtifactDisplayName(artifactLabel);
480 return artifactDetails;
483 public static ArtifactReqDetails getServiceApiArtifactDetails(String artifactLabel) throws IOException, Exception {
484 ArtifactReqDetails defaultArtifact = getDefaultArtifact(artifactLabel, "OTHER");
485 defaultArtifact.setUrl("http://www.apple.com");
486 defaultArtifact.setServiceApi(true);
487 defaultArtifact.setArtifactDisplayName(StringUtils.capitalize(defaultArtifact.getArtifactLabel()));
488 return defaultArtifact;
491 public static ArtifactReqDetails getDefaultDeploymentArtifactForType(String artifactType) throws IOException, Exception {
492 return getArtifactByType(DEFAULT_ARTIFACT_LABEL, artifactType, true, false);
495 public static ArtifactReqDetails getArtifactByType(ArtifactTypeEnum artifactLabel, ArtifactTypeEnum artifactType, Boolean deploymentTrue) throws IOException, Exception {
496 return getArtifactByType(DEFAULT_ARTIFACT_LABEL, artifactType.toString(), deploymentTrue, false);
500 public static ArtifactReqDetails getArtifactByType(String artifactLabel, String artifactType, Boolean deploymentTrue, Boolean updatedPayload) throws IOException, Exception {
502 String updatedPayloadData =null;
503 String payloadData = null;
504 Integer timeout = null;
506 String artifactDescription = "descriptionTest";
509 // The non-default payloads here are real ones according to various
510 // types validations,
511 // Please don't change them unless you know what you are doing!
513 ArtifactTypeEnum artifactTypeEnum = ArtifactTypeEnum.findType(artifactType);
516 * Missing file type: DCAE_JSON
518 switch (artifactTypeEnum) {
519 case DCAE_INVENTORY_TOSCA:
527 artifactName = generateUUIDforSufix() + artifactType + "_install_apache2.yaml";
528 payloadData = "aGVhdF90ZW1wbGF0ZV92ZXJzaW9uOiAyMDEzLTA1LTIzDQoNCmRlc2NyaXB0aW9uOiBTaW1wbGUgdGVtcGxhdGUgdG8gZGVwbG95IGEgc3RhY2sgd2l0aCB0d28gdmlydHVhbCBtYWNoaW5lIGluc3RhbmNlcw0KDQpwYXJhbWV0ZXJzOg0KICBpbWFnZV9uYW1lXzE6DQogICAgdHlwZTogc3RyaW5nDQogICAgbGFiZWw6IEltYWdlIE5hbWUNCiAgICBkZXNjcmlwdGlvbjogU0NPSU1BR0UgU3BlY2lmeSBhbiBpbWFnZSBuYW1lIGZvciBpbnN0YW5jZTENCiAgICBkZWZhdWx0OiBjaXJyb3MtMC4zLjEteDg2XzY0DQogIGltYWdlX25hbWVfMjoNCiAgICB0eXBlOiBzdHJpbmcNCiAgICBsYWJlbDogSW1hZ2UgTmFtZQ0KICAgIGRlc2NyaXB0aW9uOiBTQ09JTUFHRSBTcGVjaWZ5IGFuIGltYWdlIG5hbWUgZm9yIGluc3RhbmNlMg0KICAgIGRlZmF1bHQ6IGNpcnJvcy0wLjMuMS14ODZfNjQNCiAgbmV0d29ya19pZDoNCiAgICB0eXBlOiBzdHJpbmcNCiAgICBsYWJlbDogTmV0d29yayBJRA0KICAgIGRlc2NyaXB0aW9uOiBTQ09ORVRXT1JLIE5ldHdvcmsgdG8gYmUgdXNlZCBmb3IgdGhlIGNvbXB1dGUgaW5zdGFuY2UNCiAgICBoaWRkZW46IHRydWUNCiAgICBjb25zdHJhaW50czoNCiAgICAgIC0gbGVuZ3RoOiB7IG1pbjogNiwgbWF4OiA4IH0NCiAgICAgICAgZGVzY3JpcHRpb246IFBhc3N3b3JkIGxlbmd0aCBtdXN0IGJlIGJldHdlZW4gNiBhbmQgOCBjaGFyYWN0ZXJzLg0KICAgICAgLSByYW5nZTogeyBtaW46IDYsIG1heDogOCB9DQogICAgICAgIGRlc2NyaXB0aW9uOiBSYW5nZSBkZXNjcmlwdGlvbg0KICAgICAgLSBhbGxvd2VkX3ZhbHVlczoNCiAgICAgICAgLSBtMS5zbWFsbA0KICAgICAgICAtIG0xLm1lZGl1bQ0KICAgICAgICAtIG0xLmxhcmdlDQogICAgICAgIGRlc2NyaXB0aW9uOiBBbGxvd2VkIHZhbHVlcyBkZXNjcmlwdGlvbg0KICAgICAgLSBhbGxvd2VkX3BhdHRlcm46ICJbYS16QS1aMC05XSsiDQogICAgICAgIGRlc2NyaXB0aW9uOiBQYXNzd29yZCBtdXN0IGNvbnNpc3Qgb2YgY2hhcmFjdGVycyBhbmQgbnVtYmVycyBvbmx5Lg0KICAgICAgLSBhbGxvd2VkX3BhdHRlcm46ICJbQS1aXStbYS16QS1aMC05XSoiDQogICAgICAgIGRlc2NyaXB0aW9uOiBQYXNzd29yZCBtdXN0IHN0YXJ0IHdpdGggYW4gdXBwZXJjYXNlIGNoYXJhY3Rlci4NCiAgICAgIC0gY3VzdG9tX2NvbnN0cmFpbnQ6IG5vdmEua2V5cGFpcg0KICAgICAgICBkZXNjcmlwdGlvbjogQ3VzdG9tIGRlc2NyaXB0aW9uDQoNCnJlc291cmNlczoNCiAgbXlfaW5zdGFuY2UxOg0KICAgIHR5cGU6IE9TOjpOb3ZhOjpTZXJ2ZXINCiAgICBwcm9wZXJ0aWVzOg0KICAgICAgaW1hZ2U6IHsgZ2V0X3BhcmFtOiBpbWFnZV9uYW1lXzEgfQ0KICAgICAgZmxhdm9yOiBtMS5zbWFsbA0KICAgICAgbmV0d29ya3M6DQogICAgICAgIC0gbmV0d29yayA6IHsgZ2V0X3BhcmFtIDogbmV0d29ya19pZCB9DQogIG15X2luc3RhbmNlMjoNCiAgICB0eXBlOiBPUzo6Tm92YTo6U2VydmVyDQogICAgcHJvcGVydGllczoNCiAgICAgIGltYWdlOiB7IGdldF9wYXJhbTogaW1hZ2VfbmFtZV8yIH0NCiAgICAgIGZsYXZvcjogbTEudGlueQ0KICAgICAgbmV0d29ya3M6DQogICAgICAgIC0gbmV0d29yayA6IHsgZ2V0X3BhcmFtIDogbmV0d29ya19pZCB9";
529 updatedPayloadData = "dG9zY2FfZGVmaW5pdGlvbnNfdmVyc2lvbjogdG9zY2Ffc2ltcGxlX3lhbWxfMV8wXzANCg0Kbm9kZV90eXBlczoNCiAgY29tLmF0dC5kMi5yZXNvdXJjZS5jcC5DUDoNCiAgICBkZXJpdmVkX2Zyb206IHRvc2NhLm5vZGVzLm5ldHdvcmsuUG9ydA0KICAgIHByb3BlcnRpZXM6DQogICAgICBpc190YWdnZWQ6DQogICAgICAgIHR5cGU6IGJvb2xlYW4NCiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlDQogICAgICAgIGRlZmF1bHQ6IGZhbHNlDQogICAgICAgIGRlc2NyaXB0aW9uOiANCg0KICAgIHJlcXVpcmVtZW50czoNCiAgICAgIC0gdmlydHVhbExpbms6DQogICAgICAgICAgY2FwYWJpbGl0eTogdG9zY2EuY2FwYWJpbGl0aWVzLm5ldHdvcmsuTGlua2FibGUNCiAgICAgICAgICByZWxhdGlvbnNoaXA6IHRvc2NhLnJlbGF0aW9uc2hpcHMubmV0d29yay5MaW5rc1RvDQogICAgICAtIHZpcnR1YWxCaW5kaW5nOg0KICAgICAgICAgIGNhcGFiaWxpdHk6IHRvc2NhLmNhcGFiaWxpdGllcy5uZXR3b3JrLkJpbmRhYmxlDQogICAgICAgICAgcmVsYXRpb25zaGlwOiB0b3NjYS5yZWxhdGlvbnNoaXBzLm5ldHdvcmsuQmluZHNUbw0KICAgIGNhcGFiaWxpdGllczoNCiAgICAgIGF0dGFjaG1lbnQ6DQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5BdHRhY2htZW50DQogICAgICAgIG9jY3VycmVuY2VzOg0KICAgICAgICAtIDENCiAgICAgICAgLSBVTkJPVU5ERUQNCiAgICAgICAgdHlwZTogdG9zY2EuY2FwYWJpbGl0aWVzLm5ldHdvcmsuQmluZGFibGUNCiAgICAgICAgb2NjdXJyZW5jZXM6DQogICAgICAgIC0gMQ0KICAgICAgICAtIFVOQk9VTkRFRA0KICAgICAgdmlydHVhbF9saW5rYWJsZToNCiAgICAgICAgdHlwZTogY29tLmF0dC5kMi5jYXBhYmlsaXRpZXMuTWV0cmljDQogICAgICBlbmRfcG9pbnQ6DQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5FbmRwb2ludCAgICAgICA=";
531 artifactLabel = normalizeArtifactLabel(artifactName);
534 case DCAE_INVENTORY_POLICY:
535 case DCAE_INVENTORY_BLUEPRINT:
536 case DCAE_INVENTORY_EVENT: {
537 artifactName = getDcaeArtifactName(artifactTypeEnum, artifactType);
538 payloadData = "will be override later";
539 updatedPayloadData = "override";
541 artifactLabel = normalizeArtifactLabel(artifactName);
545 artifactName = artifactType + "org.openstack.Rally.zip";
546 payloadData = "ODM4MTRjNzkxZjcwYTlkMjk4ZGQ2ODE4MThmNjg0N2Y=";
547 updatedPayloadData = "ODM4MTRjNzkxZjcwYTlkMjk4ZGQ2ODE4MThmMTAwN2Y=";
551 artifactName = artifactType + "dcae_policy.emf";
552 payloadData = "will be override later";
553 updatedPayloadData = "override";
556 case DCAE_INVENTORY_JSON:
558 artifactName = artifactType + "dcae_policy.json";
559 payloadData = "ew0KICAiYXJ0aWZhY3RzIjogImRmc2FmIiwNCiAgIm5vcm1hbGl6ZWROYW1lIjogImNpc2VydmljZTBiYzY5ODk2OTQ4ZiIsDQogICJzeXN0ZW1OYW1lIjogIkNpc2VydmljZTBiYzY5ODk2OTQ4ZiIsDQogICJpbnZhcmlhbnRVVUlEIjogIjEzZmJkNzI3LWRjNzUtNDU1OS1iNzEyLWUwMjc5YmY4YTg2MSIsDQogICJhdHRDb250YWN0IjogImNzMDAwOCIsDQogICJuYW1lIjogImNpU2VydmljZTBiYzY5ODk2OTQ4ZiINCn0=";
560 updatedPayloadData = "ew0KICAiYXJ0aWZhY3RzIjogIjEyMzQzIiwNCiAgIm5vcm1hbGl6ZWROYW1lIjogIjU0MzUzNCIsDQogICJzeXN0ZW1OYW1lIjogIkNpc2VydmljZTBiYzY5ODk2OTQ4ZiIsDQogICJpbnZhcmlhbnRVVUlEIjogIjEzZmJkNzI3LWRjNzUtNDU1OS1iNzEyLWUwMjc5YmY4YTg2MSIsDQogICJhdHRDb250YWN0IjogImNzMDAwOCIsDQogICJuYW1lIjogImNpU2VydmljZTBiYzY5ODk2OTQ4ZiINCn0=";
567 artifactName = generateUUIDforSufix() + artifactType + "yangXml.xml";
568 payloadData = "PD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8ZGF0YT4NCiAgPHNwb3J0cz4NCiAgICA8cGVyc29uPg0KICAgICAgPG5hbWU+TGlvbmVsIEFuZHJlcyBNZXNzaTwvbmFtZT4NCiAgICAgIDxiaXJ0aGRheT4xOTg3LTA2LTI0VDAwOjAwOjAwLTAwOjAwPC9iaXJ0aGRheT4NCiAgICA8L3BlcnNvbj4NCiAgICA8cGVyc29uPg0KICAgICAgPG5hbWU+Q3Jpc3RpYW5vIFJvbmFsZG88L25hbWU+DQogICAgICA8YmlydGhkYXk+MTk4NS0wMi0wNVQwMDowMDowMC0wMDowMDwvYmlydGhkYXk+DQogICAgPC9wZXJzb24+DQogICAgPHRlYW0+DQogICAgICA8bmFtZT5GQyBCYXJjZWxvbmE8L25hbWU+DQogICAgICA8cGxheWVyPg0KICAgICAgICA8bmFtZT5MaW9uZWwgQW5kcmVzIE1lc3NpPC9uYW1lPg0KICAgICAgICA8c2Vhc29uPkNoYW1waW9ucyBMZWFndWUgMjAxNC0yMDE1PC9zZWFzb24+DQogICAgICAgIDxudW1iZXI+MTA8L251bWJlcj4NCiAgICAgICAgPHNjb3Jlcz40Mzwvc2NvcmVzPg0KICAgICAgPC9wbGF5ZXI+DQogICAgPC90ZWFtPg0KICAgIDx0ZWFtPg0KICAgICAgPG5hbWU+UmVhbCBNYWRyaWQ8L25hbWU+DQogICAgICA8cGxheWVyPg0KICAgICAgICA8bmFtZT5DcmlzdGlhbm8gUm9uYWxkbzwvbmFtZT4NCiAgICAgICAgPHNlYXNvbj5DaGFtcGlvbnMgTGVhZ3VlIDIwMTQtMjAxNTwvc2Vhc29uPg0KICAgICAgICA8bnVtYmVyPjc8L251bWJlcj4NCiAgICAgICAgPHNjb3Jlcz40ODwvc2NvcmVzPg0KICAgICAgPC9wbGF5ZXI+DQogICAgPC90ZWFtPg0KICA8L3Nwb3J0cz4NCg0KPC9kYXRhPg==";
569 updatedPayloadData = "PD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8ZGF0YT4NCiAgPHNwb3J0cz4NCiAgICA8cGVyc29uPg0KICAgICAgPG5hbWU+TGlvbmVsIEFuZHJlcyBNZXNzaTwvbmFtZT4NCiAgICAgIDxiaXJ0aGRheT4xOTkwLTA2LTI0VDAwOjAwOjAwLTAwOjExPC9iaXJ0aGRheT4NCiAgICA8L3BlcnNvbj4NCiAgICA8cGVyc29uPg0KICAgICAgPG5hbWU+Q3Jpc3RpYW5vIFJvbmFsZG88L25hbWU+DQogICAgICA8YmlydGhkYXk+MTk4NS0wMi0wNVQwMDowMDowMC0wMDowMDwvYmlydGhkYXk+DQogICAgPC9wZXJzb24+DQogICAgPHRlYW0+DQogICAgICA8bmFtZT5GQyBCYXJjZWxvbmE8L25hbWU+DQogICAgICA8cGxheWVyPg0KICAgICAgICA8bmFtZT5MaW9uZWwgQW5kcmVzIE1lc3NpPC9uYW1lPg0KICAgICAgICA8c2Vhc29uPkNoYW1waW9ucyBMZWFndWUgMjAxNC0yMDE1PC9zZWFzb24+DQogICAgICAgIDxudW1iZXI+MTA8L251bWJlcj4NCiAgICAgICAgPHNjb3Jlcz40Mzwvc2NvcmVzPg0KICAgICAgPC9wbGF5ZXI+DQogICAgPC90ZWFtPg0KICAgIDx0ZWFtPg0KICAgICAgPG5hbWU+UmVhbCBNYWRyaWQ8L25hbWU+DQogICAgICA8cGxheWVyPg0KICAgICAgICA8bmFtZT5DcmlzdGlhbm8gUm9uYWxkbzwvbmFtZT4NCiAgICAgICAgPHNlYXNvbj5DaGFtcGlvbnMgTGVhZ3VlIDIwMTQtMjAxNTwvc2Vhc29uPg0KICAgICAgICA8bnVtYmVyPjc8L251bWJlcj4NCiAgICAgICAgPHNjb3Jlcz40ODwvc2NvcmVzPg0KICAgICAgPC9wbGF5ZXI+DQogICAgPC90ZWFtPg0KICA8L3Nwb3J0cz4NCg0KPC9kYXRhPg==";
571 artifactLabel = normalizeArtifactLabel(artifactName);
576 case MODEL_INVENTORY_PROFILE:
577 case MODEL_QUERY_SPEC:
580 artifactName = generateUUIDforSufix() + artifactType + "yangXml.xml";
581 payloadData = "PD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8ZGF0YT4NCiAgPHNwb3J0cz4NCiAgICA8cGVyc29uPg0KICAgICAgPG5hbWU+TGlvbmVsIEFuZHJlcyBNZXNzaTwvbmFtZT4NCiAgICAgIDxiaXJ0aGRheT4xOTg3LTA2LTI0VDAwOjAwOjAwLTAwOjAwPC9iaXJ0aGRheT4NCiAgICA8L3BlcnNvbj4NCiAgICA8cGVyc29uPg0KICAgICAgPG5hbWU+Q3Jpc3RpYW5vIFJvbmFsZG88L25hbWU+DQogICAgICA8YmlydGhkYXk+MTk4NS0wMi0wNVQwMDowMDowMC0wMDowMDwvYmlydGhkYXk+DQogICAgPC9wZXJzb24+DQogICAgPHRlYW0+DQogICAgICA8bmFtZT5GQyBCYXJjZWxvbmE8L25hbWU+DQogICAgICA8cGxheWVyPg0KICAgICAgICA8bmFtZT5MaW9uZWwgQW5kcmVzIE1lc3NpPC9uYW1lPg0KICAgICAgICA8c2Vhc29uPkNoYW1waW9ucyBMZWFndWUgMjAxNC0yMDE1PC9zZWFzb24+DQogICAgICAgIDxudW1iZXI+MTA8L251bWJlcj4NCiAgICAgICAgPHNjb3Jlcz40Mzwvc2NvcmVzPg0KICAgICAgPC9wbGF5ZXI+DQogICAgPC90ZWFtPg0KICAgIDx0ZWFtPg0KICAgICAgPG5hbWU+UmVhbCBNYWRyaWQ8L25hbWU+DQogICAgICA8cGxheWVyPg0KICAgICAgICA8bmFtZT5DcmlzdGlhbm8gUm9uYWxkbzwvbmFtZT4NCiAgICAgICAgPHNlYXNvbj5DaGFtcGlvbnMgTGVhZ3VlIDIwMTQtMjAxNTwvc2Vhc29uPg0KICAgICAgICA8bnVtYmVyPjc8L251bWJlcj4NCiAgICAgICAgPHNjb3Jlcz40ODwvc2NvcmVzPg0KICAgICAgPC9wbGF5ZXI+DQogICAgPC90ZWFtPg0KICA8L3Nwb3J0cz4NCg0KPC9kYXRhPg==";
582 updatedPayloadData = "PD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8ZGF0YT4NCiAgPHNwb3J0cz4NCiAgICA8cGVyc29uPg0KICAgICAgPG5hbWU+TGlvbmVsIEFuZHJlcyBNZXNzaTwvbmFtZT4NCiAgICAgIDxiaXJ0aGRheT4xOTkwLTA2LTI0VDAwOjAwOjAwLTAwOjExPC9iaXJ0aGRheT4NCiAgICA8L3BlcnNvbj4NCiAgICA8cGVyc29uPg0KICAgICAgPG5hbWU+Q3Jpc3RpYW5vIFJvbmFsZG88L25hbWU+DQogICAgICA8YmlydGhkYXk+MTk4NS0wMi0wNVQwMDowMDowMC0wMDowMDwvYmlydGhkYXk+DQogICAgPC9wZXJzb24+DQogICAgPHRlYW0+DQogICAgICA8bmFtZT5GQyBCYXJjZWxvbmE8L25hbWU+DQogICAgICA8cGxheWVyPg0KICAgICAgICA8bmFtZT5MaW9uZWwgQW5kcmVzIE1lc3NpPC9uYW1lPg0KICAgICAgICA8c2Vhc29uPkNoYW1waW9ucyBMZWFndWUgMjAxNC0yMDE1PC9zZWFzb24+DQogICAgICAgIDxudW1iZXI+MTA8L251bWJlcj4NCiAgICAgICAgPHNjb3Jlcz40Mzwvc2NvcmVzPg0KICAgICAgPC9wbGF5ZXI+DQogICAgPC90ZWFtPg0KICAgIDx0ZWFtPg0KICAgICAgPG5hbWU+UmVhbCBNYWRyaWQ8L25hbWU+DQogICAgICA8cGxheWVyPg0KICAgICAgICA8bmFtZT5DcmlzdGlhbm8gUm9uYWxkbzwvbmFtZT4NCiAgICAgICAgPHNlYXNvbj5DaGFtcGlvbnMgTGVhZ3VlIDIwMTQtMjAxNTwvc2Vhc29uPg0KICAgICAgICA8bnVtYmVyPjc8L251bWJlcj4NCiAgICAgICAgPHNjb3Jlcz40ODwvc2NvcmVzPg0KICAgICAgPC9wbGF5ZXI+DQogICAgPC90ZWFtPg0KICA8L3Nwb3J0cz4NCg0KPC9kYXRhPg==";
584 artifactLabel = normalizeArtifactLabel(artifactName);
589 case DCAE_INVENTORY_DOC:
592 artifactName = generateUUIDforSufix() + artifactType + "other.pdf";
593 payloadData = "aGVhdF90ZW1wbGF0ZV92ZXJzaW9uOiAyMDEzLTA1LTIzDQoNCmRlc2NyaXB0aW9uOiBTaW1wbGUgdGVtcGxhdGUgdG8gZGVwbG95IGEgc3RhY2sgd2l0aCB0d28gdmlydHVhbCBtYWNoaW5lIGluc3RhbmNlcw0KDQpwYXJhbWV0ZXJzOg0KICBpbWFnZV9uYW1lXzE6DQogICAgdHlwZTogc3RyaW5nDQogICAgbGFiZWw6IEltYWdlIE5hbWUNCiAgICBkZXNjcmlwdGlvbjogU0NPSU1BR0UgU3BlY2lmeSBhbiBpbWFnZSBuYW1lIGZvciBpbnN0YW5jZTENCiAgICBkZWZhdWx0OiBjaXJyb3MtMC4zLjEteDg2XzY0DQogIGltYWdlX25hbWVfMjoNCiAgICB0eXBlOiBzdHJpbmcNCiAgICBsYWJlbDogSW1hZ2UgTmFtZQ0KICAgIGRlc2NyaXB0aW9uOiBTQ09JTUFHRSBTcGVjaWZ5IGFuIGltYWdlIG5hbWUgZm9yIGluc3RhbmNlMg0KICAgIGRlZmF1bHQ6IGNpcnJvcy0wLjMuMS14ODZfNjQNCiAgbmV0d29ya19pZDoNCiAgICB0eXBlOiBzdHJpbmcNCiAgICBsYWJlbDogTmV0d29yayBJRA0KICAgIGRlc2NyaXB0aW9uOiBTQ09ORVRXT1JLIE5ldHdvcmsgdG8gYmUgdXNlZCBmb3IgdGhlIGNvbXB1dGUgaW5zdGFuY2UNCiAgICBoaWRkZW46IHRydWUNCiAgICBjb25zdHJhaW50czoNCiAgICAgIC0gbGVuZ3RoOiB7IG1pbjogNiwgbWF4OiA4IH0NCiAgICAgICAgZGVzY3JpcHRpb246IFBhc3N3b3JkIGxlbmd0aCBtdXN0IGJlIGJldHdlZW4gNiBhbmQgOCBjaGFyYWN0ZXJzLg0KICAgICAgLSByYW5nZTogeyBtaW46IDYsIG1heDogOCB9DQogICAgICAgIGRlc2NyaXB0aW9uOiBSYW5nZSBkZXNjcmlwdGlvbg0KICAgICAgLSBhbGxvd2VkX3ZhbHVlczoNCiAgICAgICAgLSBtMS5zbWFsbA0KICAgICAgICAtIG0xLm1lZGl1bQ0KICAgICAgICAtIG0xLmxhcmdlDQogICAgICAgIGRlc2NyaXB0aW9uOiBBbGxvd2VkIHZhbHVlcyBkZXNjcmlwdGlvbg0KICAgICAgLSBhbGxvd2VkX3BhdHRlcm46ICJbYS16QS1aMC05XSsiDQogICAgICAgIGRlc2NyaXB0aW9uOiBQYXNzd29yZCBtdXN0IGNvbnNpc3Qgb2YgY2hhcmFjdGVycyBhbmQgbnVtYmVycyBvbmx5Lg0KICAgICAgLSBhbGxvd2VkX3BhdHRlcm46ICJbQS1aXStbYS16QS1aMC05XSoiDQogICAgICAgIGRlc2NyaXB0aW9uOiBQYXNzd29yZCBtdXN0IHN0YXJ0IHdpdGggYW4gdXBwZXJjYXNlIGNoYXJhY3Rlci4NCiAgICAgIC0gY3VzdG9tX2NvbnN0cmFpbnQ6IG5vdmEua2V5cGFpcg0KICAgICAgICBkZXNjcmlwdGlvbjogQ3VzdG9tIGRlc2NyaXB0aW9uDQoNCnJlc291cmNlczoNCiAgbXlfaW5zdGFuY2UxOg0KICAgIHR5cGU6IE9TOjpOb3ZhOjpTZXJ2ZXINCiAgICBwcm9wZXJ0aWVzOg0KICAgICAgaW1hZ2U6IHsgZ2V0X3BhcmFtOiBpbWFnZV9uYW1lXzEgfQ0KICAgICAgZmxhdm9yOiBtMS5zbWFsbA0KICAgICAgbmV0d29ya3M6DQogICAgICAgIC0gbmV0d29yayA6IHsgZ2V0X3BhcmFtIDogbmV0d29ya19pZCB9DQogIG15X2luc3RhbmNlMjoNCiAgICB0eXBlOiBPUzo6Tm92YTo6U2VydmVyDQogICAgcHJvcGVydGllczoNCiAgICAgIGltYWdlOiB7IGdldF9wYXJhbTogaW1hZ2VfbmFtZV8yIH0NCiAgICAgIGZsYXZvcjogbTEudGlueQ0KICAgICAgbmV0d29ya3M6DQogICAgICAgIC0gbmV0d29yayA6IHsgZ2V0X3BhcmFtIDogbmV0d29ya19pZCB9";
594 updatedPayloadData = "aGVhdF90ZW1wbGF0ZV92ZXJzaW9uOiAyMDE2LTA1LTIzDQoNCmRlc2NyaXB0aW9uOiBTaW1wbGUgdGVtcGxhdGRzYWRzYWRzYWUgdG8gZGVwbG95IGEgc3RhY2sgd2l0aCB0d28gdmlydHVhbCBtYWNoaW5lIGluc3RhbmNlcw0KDQpwYXJhbWV0ZXJzOg0KICBpbWFnZV9uYW1lXzE6DQogICAgdHlwZTogc3RyaW5nDQogICAgbGFiZWw6IEltYWdlIE5hbWUNCiAgICBkZXNjcmlwdGlvbjogU0NPSU1BR0UgU3BlY2lmeSBhbiBpbWFkc2FkYXN3Z2UgbmFtZSBmb3IgaW5zdGFuY2UxDQogICAgZGVmYXVsdDogY2lycm9zLTAuMy4xLXg4Nl82NA0KICBpbWFnZV9uYW1lXzI6DQogICAgdHlwZTogc3RyaW5nDQogICAgbGFiZWw6IEltYWdlIE5hbWUNCiAgICBkZXNjcmlwdGlvbjogU0NPSU1BR0UgU3BlY2lmeSBhbiBpbWFnZSBuYW1lIGZvciBpbnN0YW5jZTINCiAgICBkZWZhdWx0OiBjaXJyb3MtMC4zLjEteDg2XzY0DQogIG5ldHdvcmtfaWQ6DQogICAgdHlwZTogc3RyaW5nDQogICAgbGFiZWw6IE5ldHdvcmsgSUQNCiAgICBkZXNjcmlwdGlvbjogU0NPTkVUV09SSyBOZXR3b3JrIHRvIGJlIHVzZWQgZm9yIHRoZSBjb21wdXRlIGluc3RhbmNlDQogICAgaGlkZGVuOiB0cnVlDQogICAgY29uc3RyYWludHM6DQogICAgICAtIGxlbmd0aDogeyBtaW46IDYsIG1heDogOCB9DQogICAgICAgIGRlc2NyaXB0aW9uOiBQYXNzd29yZCBsZW5ndGggbXVzdCBiZSBiZXR3ZWVuIDYgYW5kIDggY2hhcmFjdGVycy4NCiAgICAgIC0gcmFuZ2U6IHsgbWluOiA2LCBtYXg6IDggfQ0KICAgICAgICBkZXNjcmlwdGlvbjogUmFuZ2UgZGVzY3JpcHRpb24NCiAgICAgIC0gYWxsb3dlZF92YWx1ZXM6DQogICAgICAgIC0gbTEuc21hbGwNCiAgICAgICAgLSBtMS5tZWRpdW0NCiAgICAgICAgLSBtMS5sYXJnZQ0KICAgICAgICBkZXNjcmlwdGlvbjogQWxsb3dlZCB2YWx1ZXMgZGVzY3JpcHRpb24NCiAgICAgIC0gYWxsb3dlZF9wYXR0ZXJuOiAiW2EtekEtWjAtOV0rIg0KICAgICAgICBkZXNjcmlwdGlvbjogUGFzc3dvcmQgbXVzdCBjb25zaXN0IG9mIGNoYXJhY3RlcnMgYW5kIG51bWJlcnMgb25seS4NCiAgICAgIC0gYWxsb3dlZF9wYXR0ZXJuOiAiW0EtWl0rW2EtekEtWjAtOV0qIg0KICAgICAgICBkZXNjcmlwdGlvbjogUGFzc3dvcmQgbXVzdCBzdGFydCB3aXRoIGFuIHVwcGVyY2FzZSBjaGFyYWN0ZXIuDQogICAgICAtIGN1c3RvbV9jb25zdHJhaW50OiBub3ZhLmtleXBhaXINCiAgICAgICAgZGVzY3JpcHRpb246IEN1c3RvbSBkZXNjcmlwdGlvbg0KDQpyZXNvdXJjZXM6DQogIG15X2luc3RhbmNlMToNCiAgICB0eXBlOiBPUzo6Tm92YTo6U2VydmVyDQogICAgcHJvcGVydGllczoNCiAgICAgIGltYWdlOiB7IGdldF9wYXJhbTogaW1hZ2VfbmFtZV8xIH0NCiAgICAgIGZsYXZvcjogbTEuc21hbGwNCiAgICAgIG5ldHdvcmtzOg0KICAgICAgICAtIG5ldHdvcmsgOiB7IGdldF9wYXJhbSA6IG5ldHdvcmtfaWQgfQ0KICBteV9pbnN0YW5jZTI6DQogICAgdHlwZTogT1M6Ok5vdmE6OlNlcnZlcg0KICAgIHByb3BlcnRpZXM6DQogICAgICBpbWFnZTogeyBnZXRfcGFyYW06IGltYWdlX25hbWVfMiB9DQogICAgICBmbGF2b3I6IG0xLnRpbnkNCiAgICAgIG5ldHdvcmtzOg0KICAgICAgICAtIG5ldHdvcmsgOiB7IGdldF9wYXJhbSA6IG5ldHdvcmtfaWQgfQ";
596 artifactLabel = normalizeArtifactLabel(artifactName);
601 artifactName = generateUUIDforSufix() + "testArtifact.sh";
602 payloadData = "dGVzdA==";
603 updatedPayloadData = "YmVzYg==";
604 artifactLabel = normalizeArtifactLabel(artifactName);
608 artifactLabel = normalizeArtifactLabel("ci" + artifactName);
610 ArtifactReqDetails artifactDetails = null;
612 if (!updatedPayload){
613 artifactDetails = new ArtifactReqDetails(artifactName, artifactType, artifactDescription, payloadData, artifactLabel);
615 else artifactDetails = new ArtifactReqDetails(artifactName, artifactType, artifactDescription,
616 updatedPayloadData, artifactLabel);
618 artifactDetails.setArtifactGroupType(ArtifactGroupTypeEnum.DEPLOYMENT.getType());
619 artifactDetails.setUrl(url);
620 artifactDetails.setTimeout(timeout);
621 artifactDetails.setArtifactDisplayName(artifactLabel);
622 return artifactDetails;
625 private static String getDcaeArtifactName(ArtifactTypeEnum artifactTypeEnum, String artifactType) {
626 String artifactName = null;
627 switch (artifactTypeEnum) {
628 case DCAE_INVENTORY_TOSCA: {
629 artifactName = generateUUIDforSufix() + artifactType + "_toscaSampleArtifact.yml";
632 case DCAE_INVENTORY_JSON: {
633 artifactName = generateUUIDforSufix() + artifactType + "_jsonSampleArtifact.json";
636 case DCAE_INVENTORY_POLICY: {
637 artifactName = generateUUIDforSufix() + artifactType + "_emfSampleArtifact.emf";
640 case DCAE_INVENTORY_DOC: {
641 artifactName = generateUUIDforSufix() + artifactType + "_docSampleArtifact.doc";
644 case DCAE_INVENTORY_BLUEPRINT: {
645 artifactName = generateUUIDforSufix() + artifactType + "_bluePrintSampleArtifact.xml";
648 case DCAE_INVENTORY_EVENT: {
649 artifactName = generateUUIDforSufix() + artifactType + "_eventSampleArtifact.xml";
656 // ---------------------Audit message------------------
657 public static ExpectedResourceAuditJavaObject getDefaultImportResourceAuditMsgSuccess() {
659 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject();
660 expectedResourceAuditJavaObject.setAction(AuditingActionEnum.IMPORT_RESOURCE.getName());
661 expectedResourceAuditJavaObject.setResourceName("defaultImportResourceName.yaml");
662 expectedResourceAuditJavaObject.setResourceType("Resource");
663 expectedResourceAuditJavaObject.setPrevVersion("");
664 expectedResourceAuditJavaObject.setCurrVersion("0.1");
665 expectedResourceAuditJavaObject.setModifierName(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getFullName());
666 expectedResourceAuditJavaObject.setModifierUid(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getUserId());
667 expectedResourceAuditJavaObject.setPrevState("");
668 expectedResourceAuditJavaObject.setCurrState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.toString());
669 expectedResourceAuditJavaObject.setStatus("201");
670 expectedResourceAuditJavaObject.setDesc("OK");
671 expectedResourceAuditJavaObject.setToscaNodeType("");
672 return expectedResourceAuditJavaObject;
676 public static ExpectedResourceAuditJavaObject getDefaultImportResourceAuditMsgFailure(ErrorInfo errorInfo, List<String> variables) {
678 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject();
679 expectedResourceAuditJavaObject.setAction(AuditingActionEnum.IMPORT_RESOURCE.getName());
680 expectedResourceAuditJavaObject.setResourceName("");
681 expectedResourceAuditJavaObject.setResourceType("Resource");
682 expectedResourceAuditJavaObject.setPrevVersion("");
683 expectedResourceAuditJavaObject.setCurrVersion("");
684 expectedResourceAuditJavaObject.setModifierName(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getFullName());
685 expectedResourceAuditJavaObject.setModifierUid(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getUserId());
686 expectedResourceAuditJavaObject.setPrevState("");
687 expectedResourceAuditJavaObject.setCurrState("");
688 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
689 expectedResourceAuditJavaObject.setDesc(AuditValidationUtils.buildAuditDescription(errorInfo, variables));
690 expectedResourceAuditJavaObject.setToscaNodeType("");
691 return expectedResourceAuditJavaObject;
695 public static ExpectedResourceAuditJavaObject getDefaultCertificationRequestAuditMsgSuccess() {
697 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject();
698 expectedResourceAuditJavaObject.setAction(AuditingActionEnum.CERTIFICATION_REQUEST_RESOURCE.getName());
699 expectedResourceAuditJavaObject.setResourceName("defaultResourceName");
700 expectedResourceAuditJavaObject.setResourceType("Resource");
701 expectedResourceAuditJavaObject.setPrevVersion("");
702 expectedResourceAuditJavaObject.setCurrVersion("0.1");
703 expectedResourceAuditJavaObject.setModifierName(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getFullName());
704 expectedResourceAuditJavaObject.setModifierUid(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getUserId());
705 expectedResourceAuditJavaObject.setPrevState("");
706 expectedResourceAuditJavaObject.setCurrState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.toString());
707 expectedResourceAuditJavaObject.setStatus("200");
708 expectedResourceAuditJavaObject.setDesc("OK");
709 expectedResourceAuditJavaObject.setComment("");
710 return expectedResourceAuditJavaObject;
714 public static ExpectedResourceAuditJavaObject getDefaultCertificationRequestAuditMsgFailure(ErrorInfo errorInfo, List<String> variables) {
716 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject();
717 expectedResourceAuditJavaObject.setAction(AuditingActionEnum.CERTIFICATION_REQUEST_RESOURCE.getName());
718 expectedResourceAuditJavaObject.setResourceName("");
719 expectedResourceAuditJavaObject.setResourceType("Resource");
720 expectedResourceAuditJavaObject.setPrevVersion("0.1");
721 expectedResourceAuditJavaObject.setCurrVersion("0.1");
722 expectedResourceAuditJavaObject.setModifierName(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getFullName());
723 expectedResourceAuditJavaObject.setModifierUid(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getUserId());
724 expectedResourceAuditJavaObject.setPrevState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.toString());
725 expectedResourceAuditJavaObject.setCurrState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.toString());
726 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
727 expectedResourceAuditJavaObject.setDesc(AuditValidationUtils.buildAuditDescription(errorInfo, variables));
728 expectedResourceAuditJavaObject.setComment("");
729 return expectedResourceAuditJavaObject;
733 public static ExpectedExternalAudit getDefaultExternalAuditObject(AssetTypeEnum assetType, AuditingActionEnum action, String query) {
735 ExpectedExternalAudit expectedExternalAudit = new ExpectedExternalAudit();
736 expectedExternalAudit.setACTION(action.getName());
737 expectedExternalAudit.setCONSUMER_ID("ci");
738 expectedExternalAudit.setRESOURCE_URL("/sdc/v1/catalog/" + assetType.getValue() + (query == null ? "" : query));
739 expectedExternalAudit.setSTATUS("200");
740 expectedExternalAudit.setDESC("OK");
741 return expectedExternalAudit;
745 public static ExpectedExternalAudit getDefaultAssetListAudit(AssetTypeEnum assetType, AuditingActionEnum auditAction) {
747 // ExpectedExternalAudit expectedAssetListAuditJavaObject = new
748 // ExpectedExternalAudit();
749 ExpectedExternalAudit expectedAssetListAuditJavaObject = getDefaultExternalAuditObject(assetType, auditAction, null);
750 return expectedAssetListAuditJavaObject;
754 public static ExpectedExternalAudit getDefaultFilteredAssetListAudit(AssetTypeEnum assetType, String query) {
756 // ExpectedExternalAudit expectedAssetListAuditJavaObject = new
757 // ExpectedExternalAudit();
758 ExpectedExternalAudit expectedAssetListAuditJavaObject = getDefaultExternalAuditObject(assetType, AuditingActionEnum.GET_FILTERED_ASSET_LIST, query);
759 return expectedAssetListAuditJavaObject;
763 public static ExpectedExternalAudit getDefaultExternalArtifactAuditSuccess(AssetTypeEnum assetType, AuditingActionEnum action, ArtifactDefinition artifactDefinition, String componentUUID) {
765 // ExpectedExternalAudit expectedExternalArtifactAudit = new
766 // ExpectedExternalAudit();
768 ExpectedExternalAudit expectedExternalArtifactAudit = getDefaultExternalAuditObject(assetType, action, null);
769 expectedExternalArtifactAudit.setMODIFIER(AuditValidationUtils.getModifierString(artifactDefinition.getUpdaterFullName(), artifactDefinition.getUserIdLastUpdater()));
770 expectedExternalArtifactAudit.setPREV_ARTIFACT_UUID("");
771 expectedExternalArtifactAudit.setCURR_ARTIFACT_UUID(artifactDefinition.getArtifactUUID());
772 expectedExternalArtifactAudit.setARTIFACT_DATA(AuditValidationUtils.buildArtifactDataAudit(artifactDefinition));
773 expectedExternalArtifactAudit.setRESOURCE_URL(expectedExternalArtifactAudit.getRESOURCE_URL() + "/" + componentUUID + "/artifacts");
774 return expectedExternalArtifactAudit;
778 public static ExpectedExternalAudit getDefaultExternalArtifactAuditSuccess(AssetTypeEnum assetType, AuditingActionEnum action, ArtifactDefinition artifactDefinition, Component component) {
780 //ExpectedExternalAudit expectedExternalArtifactAudit = new ExpectedExternalAudit();
782 ExpectedExternalAudit expectedExternalArtifactAudit = getDefaultExternalAuditObject(assetType, action, null);
783 expectedExternalArtifactAudit.setMODIFIER(AuditValidationUtils.getModifierString(artifactDefinition.getUpdaterFullName(), artifactDefinition.getUserIdLastUpdater()));
784 expectedExternalArtifactAudit.setPREV_ARTIFACT_UUID("");
785 expectedExternalArtifactAudit.setCURR_ARTIFACT_UUID(artifactDefinition.getArtifactUUID());
786 expectedExternalArtifactAudit.setARTIFACT_DATA(AuditValidationUtils.buildArtifactDataAudit(artifactDefinition));
787 expectedExternalArtifactAudit.setRESOURCE_URL(expectedExternalArtifactAudit.getRESOURCE_URL() + "/" + component.getUUID() + "/artifacts");
788 expectedExternalArtifactAudit.setRESOURCE_NAME(component.getName());
789 expectedExternalArtifactAudit.setRESOURCE_TYPE(component.getComponentType().getValue());
790 return expectedExternalArtifactAudit;
794 public static ExpectedResourceAuditJavaObject getDefaultCreateResourceExternalAPI(String resourceName) {
796 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject();
797 expectedResourceAuditJavaObject.setAction(AuditingActionEnum.CREATE_RESOURCE_BY_API.getName());
798 expectedResourceAuditJavaObject.setResourceName(resourceName);
799 expectedResourceAuditJavaObject.setResourceType("Resource");
800 expectedResourceAuditJavaObject.setCONSUMER_ID("ci");
801 expectedResourceAuditJavaObject.setRESOURCE_URL("/sdc/v1/catalog/resources");
802 expectedResourceAuditJavaObject.setMODIFIER("");
803 expectedResourceAuditJavaObject.setPrevVersion("");
804 expectedResourceAuditJavaObject.setCurrVersion("0.1");
805 expectedResourceAuditJavaObject.setPrevState("");
806 expectedResourceAuditJavaObject.setCurrState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.toString());
807 expectedResourceAuditJavaObject.setStatus("201");
808 expectedResourceAuditJavaObject.setDesc("OK");
810 return expectedResourceAuditJavaObject;
815 public static ExpectedResourceAuditJavaObject getDefaultChangeAssetLifeCycleExternalAPI(Component resourceAssetStructure, User defaultUser, LifeCycleStatesEnum lifecycleStateEnum, AssetTypeEnum assetTypeEnum) {
817 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject();
818 expectedResourceAuditJavaObject.setAction(AuditingActionEnum.CHANGE_LIFECYCLE_BY_API.getName());
819 expectedResourceAuditJavaObject.setResourceName(resourceAssetStructure.getName());
820 expectedResourceAuditJavaObject.setResourceType(assetTypeEnum.getCorrespondingComponent());
821 expectedResourceAuditJavaObject.setCONSUMER_ID("ci");
822 expectedResourceAuditJavaObject.setRESOURCE_URL(String.format("/sdc/v1/catalog/%s/%s/lifecycleState/%s", assetTypeEnum.getValue().toLowerCase(), resourceAssetStructure.getUUID(), lifecycleStateEnum.getState()));
823 expectedResourceAuditJavaObject.setMODIFIER(defaultUser.getFullName() + "(" + defaultUser.getUserId() + ")");
824 expectedResourceAuditJavaObject.setPrevVersion("0.1");
825 expectedResourceAuditJavaObject.setCurrVersion("0.1");
826 expectedResourceAuditJavaObject.setPrevState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.toString());
827 expectedResourceAuditJavaObject.setCurrState(LifecycleStateEnum.NOT_CERTIFIED_CHECKIN.toString());
828 // TODO: Remove comment
829 // expectedResourceAuditJavaObject.setINVARIANT_UUID(resourceAssetStructure.getInvariantUUID());
830 // TODO: SERVICE_INSTANCE_ID
831 expectedResourceAuditJavaObject.setStatus("201");
832 expectedResourceAuditJavaObject.setDesc("OK");
834 return expectedResourceAuditJavaObject;
838 public static ExpectedResourceAuditJavaObject getDefaultInvalidChangeAssetLifeCycleExternalAPI(String assetUUID, User defaultUser, LifeCycleStatesEnum lifecycleStateEnum, AssetTypeEnum assetTypeEnum) {
840 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject();
841 expectedResourceAuditJavaObject.setAction(AuditingActionEnum.CHANGE_LIFECYCLE_BY_API.getName());
842 expectedResourceAuditJavaObject.setResourceName("");
843 expectedResourceAuditJavaObject.setResourceType(assetTypeEnum.getCorrespondingComponent());
844 expectedResourceAuditJavaObject.setCONSUMER_ID("ci");
845 expectedResourceAuditJavaObject.setRESOURCE_URL(String.format("/sdc/v1/catalog/%s/%s/lifecycleState/%s", assetTypeEnum.getValue().toLowerCase(), assetUUID, lifecycleStateEnum.getState()));
846 expectedResourceAuditJavaObject.setMODIFIER("");
847 expectedResourceAuditJavaObject.setMODIFIER(defaultUser.getFullName() + "(" + defaultUser.getUserId() + ")");
848 expectedResourceAuditJavaObject.setPrevVersion("");
849 expectedResourceAuditJavaObject.setCurrVersion("");
850 expectedResourceAuditJavaObject.setPrevState("");
851 expectedResourceAuditJavaObject.setCurrState("");
852 expectedResourceAuditJavaObject.setStatus("404");
853 expectedResourceAuditJavaObject.setDesc("OK");
855 return expectedResourceAuditJavaObject;
859 public static ExpectedExternalAudit getDefaultExternalArtifactAuditSuccess(AssetTypeEnum assetType, AuditingActionEnum action, ArtifactDefinition artifactDefinition, String componentUUID, String resourceInstanceName) {
861 ExpectedExternalAudit expectedExternalArtifactAudit = getDefaultExternalArtifactAuditSuccess(assetType, action, artifactDefinition, componentUUID);
862 expectedExternalArtifactAudit.setRESOURCE_URL("/sdc/v1/catalog/" + assetType.getValue() + "/" + componentUUID + "/resourceInstances/" + resourceInstanceName + "/artifacts");
863 return expectedExternalArtifactAudit;
866 public static ExpectedExternalAudit getDefaultExternalArtifactAuditFailure(AssetTypeEnum assetType, AuditingActionEnum action, ArtifactDefinition artifactDefinition, String componentUUID, ErrorInfo errorInfo, List<String> variables) {
868 // ExpectedExternalAudit expectedExternalArtifactAudit = new
869 // ExpectedExternalAudit();
871 ExpectedExternalAudit expectedExternalArtifactAudit = getDefaultExternalAuditObject(assetType, action, null);
872 expectedExternalArtifactAudit.setMODIFIER(AuditValidationUtils.getModifierString(artifactDefinition.getUpdaterFullName(), artifactDefinition.getUserIdLastUpdater()));
873 expectedExternalArtifactAudit.setPREV_ARTIFACT_UUID("");
874 expectedExternalArtifactAudit.setCURR_ARTIFACT_UUID(artifactDefinition.getArtifactUUID());
875 expectedExternalArtifactAudit.setARTIFACT_DATA(AuditValidationUtils.buildArtifactDataAudit(artifactDefinition));
876 expectedExternalArtifactAudit.setRESOURCE_URL(expectedExternalArtifactAudit.getRESOURCE_URL() + "/" + componentUUID + "/artifacts");
877 expectedExternalArtifactAudit.setSTATUS(errorInfo.getCode().toString());
878 expectedExternalArtifactAudit.setDESC(AuditValidationUtils.buildAuditDescription(errorInfo, variables));
879 return expectedExternalArtifactAudit;
883 public static ExpectedExternalAudit getDefaultExternalArtifactAuditFailure(AssetTypeEnum assetType, AuditingActionEnum action, ArtifactDefinition artifactDefinition, String componentUUID, ErrorInfo errorInfo, List<String> variables,
884 String resourceInstanceName) {
886 ExpectedExternalAudit expectedExternalArtifactAudit = getDefaultExternalArtifactAuditFailure(assetType, action, artifactDefinition, componentUUID, errorInfo, variables);
887 expectedExternalArtifactAudit.setRESOURCE_URL("/sdc/v1/catalog/" + assetType.getValue() + "/" + componentUUID + "/resourceInstances/" + resourceInstanceName + "/artifacts");
888 return expectedExternalArtifactAudit;
891 public static ExpectedExternalAudit getFilteredAssetListAuditCategoryNotFound(AssetTypeEnum assetType, String query, String category) {
893 // ExpectedExternalAudit expectedAssetListAuditJavaObject = new
894 // ExpectedExternalAudit();
895 ExpectedExternalAudit expectedAssetListAuditJavaObject = getDefaultExternalAuditObject(assetType, AuditingActionEnum.GET_FILTERED_ASSET_LIST, query);
896 expectedAssetListAuditJavaObject.setSTATUS("404");
897 ErrorInfo errorInfo = null;
899 errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.COMPONENT_CATEGORY_NOT_FOUND.name());
900 } catch (FileNotFoundException e) {
903 String desc = (errorInfo.getMessageId() + ": " + errorInfo.getMessage()).replace("%2", "category").replace("%3", category).replace("%1", "resource");
904 expectedAssetListAuditJavaObject.setDESC(desc);
906 return expectedAssetListAuditJavaObject;
910 public static ExpectedExternalAudit getDefaultAssetMetadataAudit(AssetTypeEnum assetType, Component component) {
912 ExpectedExternalAudit expectedAssetListAuditJavaObject = new ExpectedExternalAudit();
913 expectedAssetListAuditJavaObject = getDefaultExternalAuditObject(assetType, AuditingActionEnum.GET_ASSET_METADATA, null);
914 expectedAssetListAuditJavaObject.setRESOURCE_URL(expectedAssetListAuditJavaObject.getRESOURCE_URL() + "/" + component.getUUID() + "/metadata");
915 expectedAssetListAuditJavaObject.setRESOURCE_NAME(component.getName());
916 expectedAssetListAuditJavaObject.setRESOURCE_TYPE(component.getComponentType().getValue());
917 expectedAssetListAuditJavaObject.setSERVICE_INSTANCE_ID(component.getUUID());
918 return expectedAssetListAuditJavaObject;
922 public static ExpectedExternalAudit getDefaultAssetMetadataAuditFailure(AssetTypeEnum assetType, String serviceUuid, String resourceType) {
924 ExpectedExternalAudit expectedAssetListAuditJavaObject = new ExpectedExternalAudit();
925 expectedAssetListAuditJavaObject = getDefaultExternalAuditObject(assetType, AuditingActionEnum.GET_ASSET_METADATA, null);
926 expectedAssetListAuditJavaObject.setSTATUS("404");
927 expectedAssetListAuditJavaObject.setDESC("OK");
928 expectedAssetListAuditJavaObject.setRESOURCE_URL(expectedAssetListAuditJavaObject.getRESOURCE_URL() + "/" + serviceUuid + "/metadata");
929 expectedAssetListAuditJavaObject.setRESOURCE_TYPE(resourceType);
930 expectedAssetListAuditJavaObject.setSERVICE_INSTANCE_ID(serviceUuid);
931 return expectedAssetListAuditJavaObject;
935 // Category/Subcategory/Group
936 public static CategoryDefinition getDefaultCategory() {
937 CategoryDefinition productCategoryDefinition = new CategoryDefinition();
938 productCategoryDefinition.setName("CiCateg" + generateUUIDforSufix());
939 return productCategoryDefinition;
942 public static SubCategoryDefinition getDefaultSubCategory() {
943 SubCategoryDefinition productSubCategoryDefinition = new SubCategoryDefinition();
944 productSubCategoryDefinition.setName("CiSubCateg" + generateUUIDforSufix());
945 return productSubCategoryDefinition;
948 public static GroupingDefinition getDefaultGroup() {
949 GroupingDefinition productGroupDefinition = new GroupingDefinition();
950 productGroupDefinition.setName("CiGrouping1" + generateUUIDforSufix());
951 return productGroupDefinition;
956 public static ProductReqDetails getDefaultProduct() {
957 return createDefaultProductReqDetails(CI_PRODUCT, null);
960 public static ProductReqDetails getDefaultProduct(String name) {
961 return createDefaultProductReqDetails(name, null);
964 public static ProductReqDetails getDefaultProduct(CategoryDefinition category) {
965 List<CategoryDefinition> categories = new ArrayList<>();
966 categories.add(category);
967 return createDefaultProductReqDetails(CI_PRODUCT, categories);
970 public static ProductReqDetails getDefaultProduct(String name, CategoryDefinition category) {
971 List<CategoryDefinition> categories = new ArrayList<>();
972 categories.add(category);
973 return createDefaultProductReqDetails(name, categories);
976 public static ProductReqDetails getDefaultProduct(List<CategoryDefinition> categories) {
977 return createDefaultProductReqDetails(CI_PRODUCT, categories);
980 public static ProductReqDetails getDefaultProduct(String name, List<CategoryDefinition> categories) {
981 return createDefaultProductReqDetails(name, categories);
984 private static ProductReqDetails createDefaultProductReqDetails(String productName, List<CategoryDefinition> categories) {
985 ProductReqDetails product = new ProductReqDetails(productName);
986 productName = (productName + generateUUIDforSufix());
987 product.setName(productName);
988 ArrayList<String> tags = new ArrayList<>();
989 tags.add(productName);
990 product.setTags(tags);
991 product.setProjectCode("12345");
992 product.setIcon("myIcon");
993 ArrayList<String> contacts = new ArrayList<>();
994 // contacts.add(ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_STRATEGIST1).getUserId());
995 // contacts.add(ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_STRATEGIST2).getUserId());
996 contacts.add(ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_MANAGER1).getUserId());
997 // contacts.add(ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_MANAGER2).getUserId());
998 product.setContacts(contacts);
999 product.setContactId(UserRoleEnum.PRODUCT_MANAGER1.getUserId());
1000 product.setCategories(categories);
1001 String fullName = "This is my full name: " + productName;
1002 product.setFullName(fullName);
1003 String description = "This is product description";
1004 product.setDescription(description);
1008 public static RequirementCapabilityRelDef getReqCapRelation(String fromCompInstId, String toCompInstId, String reqOwnerId, String capOwnerId, String capType, String reqCapName, List<CapabilityDefinition> capList,
1009 List<RequirementDefinition> reqList) {
1010 RequirementCapabilityRelDef requirementDef = new RequirementCapabilityRelDef();
1011 requirementDef.setFromNode(fromCompInstId);
1012 requirementDef.setToNode(toCompInstId);
1013 RelationshipInfo relationInfo = new RelationshipInfo();
1014 relationInfo.setRequirementOwnerId(reqOwnerId);
1015 relationInfo.setCapabilityOwnerId(capOwnerId);
1016 relationInfo.setRequirement(reqCapName);
1017 RelationshipImpl relationImpl = new RelationshipImpl();
1018 relationImpl.setType(capType);
1019 relationInfo.setRelationships(relationImpl);
1020 relationInfo.setCapabilityUid(capList.get(0).getUniqueId());
1021 relationInfo.setRequirementUid(reqList.get(0).getUniqueId());
1022 List<CapabilityRequirementRelationship> relationships = new ArrayList<>();
1023 CapabilityRequirementRelationship relationship = new CapabilityRequirementRelationship();
1024 relationship.setRelation(relationInfo);
1025 relationships.add(relationship);
1026 requirementDef.setRelationships(relationships);
1027 return requirementDef;
1030 public static String generateUUIDforSufix() {
1032 String uniqueSufix = UUID.randomUUID().toString();
1033 String[] split = uniqueSufix.split("-");
1034 return uniqueSufix = split[4];
1037 private static String normalizeArtifactLabel(String label) {
1039 label = label.substring(0, label.indexOf("."));
1040 String normalizedLabel = ValidationUtils.normalizeArtifactLabel(label);
1041 return normalizedLabel.substring(0, Math.min(25, normalizedLabel.length()));