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 final 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";
62 private ElementFactory() {
68 public static String getServicePrefix() {
72 public static String getResourcePrefix() {
76 public static String getProductPrefix() {
82 public static ResourceReqDetails getDefaultResource() {
83 return getDefaultResource(CI_RES, NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, "jh0003");
86 public static ResourceReqDetails getDefaultResource(ResourceCategoryEnum category) {
87 return getDefaultResource(CI_RES, NormativeTypesEnum.ROOT, category, "jh0003");
90 public static ResourceReqDetails getDefaultResource(String contactId) {
91 return getDefaultResource(CI_RES, NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, contactId);
94 public static ResourceReqDetails getDefaultResource(User modifier) {
95 return getDefaultResource(CI_RES, NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, modifier.getUserId());
98 public static ResourceReqDetails getDefaultResource(NormativeTypesEnum derivedFrom, ResourceCategoryEnum category) {
99 return getDefaultResource(CI_RES, derivedFrom, category, "jh0003");
102 public static ResourceReqDetails getDefaultResource(NormativeTypesEnum derivedFrom) {
103 return getDefaultResource(CI_RES, derivedFrom, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, "jh0003");
106 public static ResourceReqDetails getDefaultResource(String resourceName, NormativeTypesEnum derivedFrom) {
107 return getDefaultResource(resourceName, derivedFrom, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, "jh0003");
110 public static ResourceReqDetails getDefaultResource(NormativeTypesEnum derivedFrom, String contactId) {
111 return getDefaultResource(CI_RES, derivedFrom, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, contactId);
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);
119 public static ResourceReqDetails getDefaultResourceByType(ResourceTypeEnum ResourceType, String resourceName) {
120 return getDefaultResourceByType(resourceName, NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, "jh0003", ResourceType.toString());
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());
127 public static ResourceReqDetails getDefaultResourceByTypeNormTypeAndCatregory(ResourceTypeEnum resourceType, NormativeTypesEnum normativeTypes, ResourceCategoryEnum resourceCategory, User user) {
128 return getDefaultResourceByType(CI_RES, normativeTypes, resourceCategory, user.getUserId(), resourceType.toString());
131 public static PropertyReqDetails getDefaultMapProperty(PropertyTypeEnum innerType) {
132 return getPropertyDetails(innerType);
135 public static PropertyReqDetails getDefaultMapProperty() {
136 return getPropertyDetails(PropertyTypeEnum.STRING_MAP);
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);
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");
154 return resourceDetails;
158 public static ResourceReqDetails getDefaultResourceByTypeNormTypeAndCatregory(ResourceTypeEnum resourceType, Resource normativeTypes, ResourceCategoryEnum resourceCategory, User user) {
159 return getDefaultResource(CI_RES + resourceType, normativeTypes, resourceCategory, user.getUserId());
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);
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());
176 return resourceDetails;
180 public static String addRandomSuffixToName(final String name) {
181 return name + generateUUIDforSufix();
184 public static ResourceReqDetails getDefaultResourceByType(String resourceName, NormativeTypesEnum derived, ResourceCategoryEnum category, String contactId, ResourceTypeEnum resourceType) {
185 return getDefaultResourceByType(resourceName, derived, category, contactId, resourceType.toString());
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);
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;
208 public static ResourceReqDetails getDefaultResourceByType(String resourceName, NormativeTypesEnum derived, ResourceCategoryEnum category, String contactId, String resourceType, String vendorName, String vendorModelNumber) {
209 resourceName = (resourceName + resourceType + generateUUIDforSufix());
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);
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;
227 public static ResourceReqDetails getRandomCategoryResource() {
228 ResourceReqDetails resourceDetails = getDefaultResource(ResourceCategoryEnum.getRandomElement());
229 return resourceDetails;
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;
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);
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;
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;
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;
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;
299 public static ServiceReqDetails getDefaultService() {
300 return getDefaultService(CI_SERVICE, ServiceCategoriesEnum.MOBILITY, "al1976", ServiceInstantiationType.A_LA_CARTE.getValue());
303 public static ServiceReqDetails getDefaultService(String contactId) {
304 return getDefaultService(CI_SERVICE, ServiceCategoriesEnum.MOBILITY, contactId, ServiceInstantiationType.A_LA_CARTE.getValue());
307 public static ServiceReqDetails getDefaultService(User user) {
308 return getDefaultService(CI_SERVICE, ServiceCategoriesEnum.MOBILITY, user.getUserId(), ServiceInstantiationType.A_LA_CARTE.getValue());
311 public static ServiceReqDetails getDefaultService(ServiceCategoriesEnum category, User user) {
312 return getDefaultService(CI_SERVICE, category, user.getUserId(), ServiceInstantiationType.A_LA_CARTE.getValue());
315 public static ServiceReqDetails getServiceByCategory(ServiceCategoriesEnum category) {
316 return getDefaultService(CI_SERVICE, category, "al1976", ServiceInstantiationType.A_LA_CARTE.getValue());
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";
328 ServiceReqDetails serviceDetails = new ServiceReqDetails(serviceName, category.getValue(), tags, description, contactId, icon, instantiationType);
330 return serviceDetails;
333 public static ServiceReqDetails getRandomCategoryService() {
334 ServiceReqDetails serviceReqDetails = getServiceByCategory(ServiceCategoriesEnum.getRandomElement());
335 return serviceReqDetails;
338 // ***** PROPERTY ***
340 public static PropertyReqDetails getDefaultProperty() {
341 return getDefaultProperty("disk_size");
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);
357 public static PropertyReqDetails getDefaultIntegerProperty() {
358 return getPropertyDetails(PropertyTypeEnum.INTEGER);
361 public static PropertyReqDetails getDefaultStringProperty() {
362 return getPropertyDetails(PropertyTypeEnum.STRING);
365 public static PropertyReqDetails getDefaultBooleanProperty() {
366 return getPropertyDetails(PropertyTypeEnum.BOOLEAN);
369 public static PropertyReqDetails getDefaultListProperty() {
370 return getPropertyDetails(PropertyTypeEnum.STRING_LIST);
373 public static PropertyReqDetails getDefaultListProperty(PropertyTypeEnum innerType) {
374 return getPropertyDetails(innerType);
377 public static PropertyReqDetails getPropertyDetails(PropertyTypeEnum propType) {
378 return new PropertyReqDetails(propType.getName(), propType.getType(), propType.getValue(), propType.getDescription(), propType.getSchemaDefinition());
381 // ***** RESOURCE INSTANCE ***
382 public static ComponentInstanceReqDetails getDefaultComponentInstance() {
383 return getDefaultComponentInstance("resourceInstanceName");
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);
390 return resourceInstanceDetails;
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);
398 return resourceInstanceDetails;
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);
406 componentInstanceReqDetails.setUniqueId(serviceUniqueId + Math.random());
408 return componentInstanceReqDetails;
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;
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;
428 //********ServiceFilter**********
429 public static ServiceFilterDetails getDefaultEqualOperatorFilter(String propertyName, String valueString) {
430 return new ServiceFilterDetails(propertyName, "equal", "static", "static", valueString);
433 public static ServiceFilterDetails getDefaultFilter(String propertyName, String valueString,
435 return new ServiceFilterDetails(propertyName, operator, "static", "static", valueString);
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;
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;
457 // ******* CONSUMER **********************
459 public static ConsumerDataDefinition getDefaultConsumerDetails() {
460 ConsumerDataDefinition consumer = new ConsumerDataDefinition();
461 consumer.setConsumerName("ci");
462 consumer.setConsumerSalt("2a1f887d607d4515d4066fe0f5452a50");
463 consumer.setConsumerPassword("0a0dc557c3bf594b1a48030e3e99227580168b21f44e285c69740b8d5b13e33b");
468 public static ArtifactReqDetails getDefaultArtifact() throws IOException, Exception {
469 return getDefaultArtifact(DEFAULT_ARTIFACT_LABEL);
472 public static ArtifactReqDetails getDefaultArtifact(String artifactLabel) throws IOException, Exception {
473 List<String> artifactTypes = ResponseParser.getValuesFromJsonArray(ArtifactRestUtils.getArtifactTypesList());
474 String artifactType = artifactTypes.get(0);
476 return getDefaultArtifact(artifactLabel, artifactType);
479 public static ArtifactReqDetails getDefaultArtifact(String artifactLabel, String artifactType) throws IOException, Exception {
481 String artifactName = "testArtifact.sh";
482 String artifactDescription = "descriptionTest";
483 String payloadData = "dGVzdA=="; // content of file
485 ArtifactReqDetails artifactDetails = new ArtifactReqDetails(artifactName, artifactType, artifactDescription, payloadData, artifactLabel);
486 artifactDetails.setUrl("");
487 artifactDetails.setArtifactDisplayName(artifactLabel);
488 return artifactDetails;
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;
499 public static ArtifactReqDetails getDefaultDeploymentArtifactForType(String artifactType) throws IOException, Exception {
500 return getArtifactByType(DEFAULT_ARTIFACT_LABEL, artifactType, true, false);
503 public static ArtifactReqDetails getArtifactByType(ArtifactTypeEnum artifactLabel, ArtifactTypeEnum artifactType, Boolean deploymentTrue) throws IOException, Exception {
504 return getArtifactByType(DEFAULT_ARTIFACT_LABEL, artifactType.toString(), deploymentTrue, false);
508 public static ArtifactReqDetails getArtifactByType(String artifactLabel, String artifactType, Boolean deploymentTrue, Boolean updatedPayload) throws IOException, Exception {
510 String updatedPayloadData =null;
511 String payloadData = null;
512 Integer timeout = null;
514 String artifactDescription = "descriptionTest";
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!
521 ArtifactTypeEnum artifactTypeEnum = ArtifactTypeEnum.findType(artifactType);
524 * Missing file type: DCAE_JSON
526 switch (artifactTypeEnum) {
527 case DCAE_INVENTORY_TOSCA:
535 artifactName = generateUUIDforSufix() + artifactType + "_install_apache2.yaml";
536 payloadData = "aGVhdF90ZW1wbGF0ZV92ZXJzaW9uOiAyMDEzLTA1LTIzDQoNCmRlc2NyaXB0aW9uOiBTaW1wbGUgdGVtcGxhdGUgdG8gZGVwbG95IGEgc3RhY2sgd2l0aCB0d28gdmlydHVhbCBtYWNoaW5lIGluc3RhbmNlcw0KDQpwYXJhbWV0ZXJzOg0KICBpbWFnZV9uYW1lXzE6DQogICAgdHlwZTogc3RyaW5nDQogICAgbGFiZWw6IEltYWdlIE5hbWUNCiAgICBkZXNjcmlwdGlvbjogU0NPSU1BR0UgU3BlY2lmeSBhbiBpbWFnZSBuYW1lIGZvciBpbnN0YW5jZTENCiAgICBkZWZhdWx0OiBjaXJyb3MtMC4zLjEteDg2XzY0DQogIGltYWdlX25hbWVfMjoNCiAgICB0eXBlOiBzdHJpbmcNCiAgICBsYWJlbDogSW1hZ2UgTmFtZQ0KICAgIGRlc2NyaXB0aW9uOiBTQ09JTUFHRSBTcGVjaWZ5IGFuIGltYWdlIG5hbWUgZm9yIGluc3RhbmNlMg0KICAgIGRlZmF1bHQ6IGNpcnJvcy0wLjMuMS14ODZfNjQNCiAgbmV0d29ya19pZDoNCiAgICB0eXBlOiBzdHJpbmcNCiAgICBsYWJlbDogTmV0d29yayBJRA0KICAgIGRlc2NyaXB0aW9uOiBTQ09ORVRXT1JLIE5ldHdvcmsgdG8gYmUgdXNlZCBmb3IgdGhlIGNvbXB1dGUgaW5zdGFuY2UNCiAgICBoaWRkZW46IHRydWUNCiAgICBjb25zdHJhaW50czoNCiAgICAgIC0gbGVuZ3RoOiB7IG1pbjogNiwgbWF4OiA4IH0NCiAgICAgICAgZGVzY3JpcHRpb246IFBhc3N3b3JkIGxlbmd0aCBtdXN0IGJlIGJldHdlZW4gNiBhbmQgOCBjaGFyYWN0ZXJzLg0KICAgICAgLSByYW5nZTogeyBtaW46IDYsIG1heDogOCB9DQogICAgICAgIGRlc2NyaXB0aW9uOiBSYW5nZSBkZXNjcmlwdGlvbg0KICAgICAgLSBhbGxvd2VkX3ZhbHVlczoNCiAgICAgICAgLSBtMS5zbWFsbA0KICAgICAgICAtIG0xLm1lZGl1bQ0KICAgICAgICAtIG0xLmxhcmdlDQogICAgICAgIGRlc2NyaXB0aW9uOiBBbGxvd2VkIHZhbHVlcyBkZXNjcmlwdGlvbg0KICAgICAgLSBhbGxvd2VkX3BhdHRlcm46ICJbYS16QS1aMC05XSsiDQogICAgICAgIGRlc2NyaXB0aW9uOiBQYXNzd29yZCBtdXN0IGNvbnNpc3Qgb2YgY2hhcmFjdGVycyBhbmQgbnVtYmVycyBvbmx5Lg0KICAgICAgLSBhbGxvd2VkX3BhdHRlcm46ICJbQS1aXStbYS16QS1aMC05XSoiDQogICAgICAgIGRlc2NyaXB0aW9uOiBQYXNzd29yZCBtdXN0IHN0YXJ0IHdpdGggYW4gdXBwZXJjYXNlIGNoYXJhY3Rlci4NCiAgICAgIC0gY3VzdG9tX2NvbnN0cmFpbnQ6IG5vdmEua2V5cGFpcg0KICAgICAgICBkZXNjcmlwdGlvbjogQ3VzdG9tIGRlc2NyaXB0aW9uDQoNCnJlc291cmNlczoNCiAgbXlfaW5zdGFuY2UxOg0KICAgIHR5cGU6IE9TOjpOb3ZhOjpTZXJ2ZXINCiAgICBwcm9wZXJ0aWVzOg0KICAgICAgaW1hZ2U6IHsgZ2V0X3BhcmFtOiBpbWFnZV9uYW1lXzEgfQ0KICAgICAgZmxhdm9yOiBtMS5zbWFsbA0KICAgICAgbmV0d29ya3M6DQogICAgICAgIC0gbmV0d29yayA6IHsgZ2V0X3BhcmFtIDogbmV0d29ya19pZCB9DQogIG15X2luc3RhbmNlMjoNCiAgICB0eXBlOiBPUzo6Tm92YTo6U2VydmVyDQogICAgcHJvcGVydGllczoNCiAgICAgIGltYWdlOiB7IGdldF9wYXJhbTogaW1hZ2VfbmFtZV8yIH0NCiAgICAgIGZsYXZvcjogbTEudGlueQ0KICAgICAgbmV0d29ya3M6DQogICAgICAgIC0gbmV0d29yayA6IHsgZ2V0X3BhcmFtIDogbmV0d29ya19pZCB9";
537 updatedPayloadData = "dG9zY2FfZGVmaW5pdGlvbnNfdmVyc2lvbjogdG9zY2Ffc2ltcGxlX3lhbWxfMV8wXzANCg0Kbm9kZV90eXBlczoNCiAgY29tLmF0dC5kMi5yZXNvdXJjZS5jcC5DUDoNCiAgICBkZXJpdmVkX2Zyb206IHRvc2NhLm5vZGVzLm5ldHdvcmsuUG9ydA0KICAgIHByb3BlcnRpZXM6DQogICAgICBpc190YWdnZWQ6DQogICAgICAgIHR5cGU6IGJvb2xlYW4NCiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlDQogICAgICAgIGRlZmF1bHQ6IGZhbHNlDQogICAgICAgIGRlc2NyaXB0aW9uOiANCg0KICAgIHJlcXVpcmVtZW50czoNCiAgICAgIC0gdmlydHVhbExpbms6DQogICAgICAgICAgY2FwYWJpbGl0eTogdG9zY2EuY2FwYWJpbGl0aWVzLm5ldHdvcmsuTGlua2FibGUNCiAgICAgICAgICByZWxhdGlvbnNoaXA6IHRvc2NhLnJlbGF0aW9uc2hpcHMubmV0d29yay5MaW5rc1RvDQogICAgICAtIHZpcnR1YWxCaW5kaW5nOg0KICAgICAgICAgIGNhcGFiaWxpdHk6IHRvc2NhLmNhcGFiaWxpdGllcy5uZXR3b3JrLkJpbmRhYmxlDQogICAgICAgICAgcmVsYXRpb25zaGlwOiB0b3NjYS5yZWxhdGlvbnNoaXBzLm5ldHdvcmsuQmluZHNUbw0KICAgIGNhcGFiaWxpdGllczoNCiAgICAgIGF0dGFjaG1lbnQ6DQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5BdHRhY2htZW50DQogICAgICAgIG9jY3VycmVuY2VzOg0KICAgICAgICAtIDENCiAgICAgICAgLSBVTkJPVU5ERUQNCiAgICAgICAgdHlwZTogdG9zY2EuY2FwYWJpbGl0aWVzLm5ldHdvcmsuQmluZGFibGUNCiAgICAgICAgb2NjdXJyZW5jZXM6DQogICAgICAgIC0gMQ0KICAgICAgICAtIFVOQk9VTkRFRA0KICAgICAgdmlydHVhbF9saW5rYWJsZToNCiAgICAgICAgdHlwZTogY29tLmF0dC5kMi5jYXBhYmlsaXRpZXMuTWV0cmljDQogICAgICBlbmRfcG9pbnQ6DQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5FbmRwb2ludCAgICAgICA=";
539 artifactLabel = normalizeArtifactLabel(artifactName);
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";
549 artifactLabel = normalizeArtifactLabel(artifactName);
553 artifactName = artifactType + "org.openstack.Rally.zip";
554 payloadData = "ODM4MTRjNzkxZjcwYTlkMjk4ZGQ2ODE4MThmNjg0N2Y=";
555 updatedPayloadData = "ODM4MTRjNzkxZjcwYTlkMjk4ZGQ2ODE4MThmMTAwN2Y=";
559 artifactName = artifactType + "dcae_policy.emf";
560 payloadData = "will be override later";
561 updatedPayloadData = "override";
564 case DCAE_INVENTORY_JSON:
566 artifactName = artifactType + "dcae_policy.json";
567 payloadData = "ew0KICAiYXJ0aWZhY3RzIjogImRmc2FmIiwNCiAgIm5vcm1hbGl6ZWROYW1lIjogImNpc2VydmljZTBiYzY5ODk2OTQ4ZiIsDQogICJzeXN0ZW1OYW1lIjogIkNpc2VydmljZTBiYzY5ODk2OTQ4ZiIsDQogICJpbnZhcmlhbnRVVUlEIjogIjEzZmJkNzI3LWRjNzUtNDU1OS1iNzEyLWUwMjc5YmY4YTg2MSIsDQogICJhdHRDb250YWN0IjogImNzMDAwOCIsDQogICJuYW1lIjogImNpU2VydmljZTBiYzY5ODk2OTQ4ZiINCn0=";
568 updatedPayloadData = "ew0KICAiYXJ0aWZhY3RzIjogIjEyMzQzIiwNCiAgIm5vcm1hbGl6ZWROYW1lIjogIjU0MzUzNCIsDQogICJzeXN0ZW1OYW1lIjogIkNpc2VydmljZTBiYzY5ODk2OTQ4ZiIsDQogICJpbnZhcmlhbnRVVUlEIjogIjEzZmJkNzI3LWRjNzUtNDU1OS1iNzEyLWUwMjc5YmY4YTg2MSIsDQogICJhdHRDb250YWN0IjogImNzMDAwOCIsDQogICJuYW1lIjogImNpU2VydmljZTBiYzY5ODk2OTQ4ZiINCn0=";
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==";
579 artifactLabel = normalizeArtifactLabel(artifactName);
584 case MODEL_INVENTORY_PROFILE:
585 case MODEL_QUERY_SPEC:
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==";
592 artifactLabel = normalizeArtifactLabel(artifactName);
597 case DCAE_INVENTORY_DOC:
600 artifactName = generateUUIDforSufix() + artifactType + "other.pdf";
601 payloadData = "aGVhdF90ZW1wbGF0ZV92ZXJzaW9uOiAyMDEzLTA1LTIzDQoNCmRlc2NyaXB0aW9uOiBTaW1wbGUgdGVtcGxhdGUgdG8gZGVwbG95IGEgc3RhY2sgd2l0aCB0d28gdmlydHVhbCBtYWNoaW5lIGluc3RhbmNlcw0KDQpwYXJhbWV0ZXJzOg0KICBpbWFnZV9uYW1lXzE6DQogICAgdHlwZTogc3RyaW5nDQogICAgbGFiZWw6IEltYWdlIE5hbWUNCiAgICBkZXNjcmlwdGlvbjogU0NPSU1BR0UgU3BlY2lmeSBhbiBpbWFnZSBuYW1lIGZvciBpbnN0YW5jZTENCiAgICBkZWZhdWx0OiBjaXJyb3MtMC4zLjEteDg2XzY0DQogIGltYWdlX25hbWVfMjoNCiAgICB0eXBlOiBzdHJpbmcNCiAgICBsYWJlbDogSW1hZ2UgTmFtZQ0KICAgIGRlc2NyaXB0aW9uOiBTQ09JTUFHRSBTcGVjaWZ5IGFuIGltYWdlIG5hbWUgZm9yIGluc3RhbmNlMg0KICAgIGRlZmF1bHQ6IGNpcnJvcy0wLjMuMS14ODZfNjQNCiAgbmV0d29ya19pZDoNCiAgICB0eXBlOiBzdHJpbmcNCiAgICBsYWJlbDogTmV0d29yayBJRA0KICAgIGRlc2NyaXB0aW9uOiBTQ09ORVRXT1JLIE5ldHdvcmsgdG8gYmUgdXNlZCBmb3IgdGhlIGNvbXB1dGUgaW5zdGFuY2UNCiAgICBoaWRkZW46IHRydWUNCiAgICBjb25zdHJhaW50czoNCiAgICAgIC0gbGVuZ3RoOiB7IG1pbjogNiwgbWF4OiA4IH0NCiAgICAgICAgZGVzY3JpcHRpb246IFBhc3N3b3JkIGxlbmd0aCBtdXN0IGJlIGJldHdlZW4gNiBhbmQgOCBjaGFyYWN0ZXJzLg0KICAgICAgLSByYW5nZTogeyBtaW46IDYsIG1heDogOCB9DQogICAgICAgIGRlc2NyaXB0aW9uOiBSYW5nZSBkZXNjcmlwdGlvbg0KICAgICAgLSBhbGxvd2VkX3ZhbHVlczoNCiAgICAgICAgLSBtMS5zbWFsbA0KICAgICAgICAtIG0xLm1lZGl1bQ0KICAgICAgICAtIG0xLmxhcmdlDQogICAgICAgIGRlc2NyaXB0aW9uOiBBbGxvd2VkIHZhbHVlcyBkZXNjcmlwdGlvbg0KICAgICAgLSBhbGxvd2VkX3BhdHRlcm46ICJbYS16QS1aMC05XSsiDQogICAgICAgIGRlc2NyaXB0aW9uOiBQYXNzd29yZCBtdXN0IGNvbnNpc3Qgb2YgY2hhcmFjdGVycyBhbmQgbnVtYmVycyBvbmx5Lg0KICAgICAgLSBhbGxvd2VkX3BhdHRlcm46ICJbQS1aXStbYS16QS1aMC05XSoiDQogICAgICAgIGRlc2NyaXB0aW9uOiBQYXNzd29yZCBtdXN0IHN0YXJ0IHdpdGggYW4gdXBwZXJjYXNlIGNoYXJhY3Rlci4NCiAgICAgIC0gY3VzdG9tX2NvbnN0cmFpbnQ6IG5vdmEua2V5cGFpcg0KICAgICAgICBkZXNjcmlwdGlvbjogQ3VzdG9tIGRlc2NyaXB0aW9uDQoNCnJlc291cmNlczoNCiAgbXlfaW5zdGFuY2UxOg0KICAgIHR5cGU6IE9TOjpOb3ZhOjpTZXJ2ZXINCiAgICBwcm9wZXJ0aWVzOg0KICAgICAgaW1hZ2U6IHsgZ2V0X3BhcmFtOiBpbWFnZV9uYW1lXzEgfQ0KICAgICAgZmxhdm9yOiBtMS5zbWFsbA0KICAgICAgbmV0d29ya3M6DQogICAgICAgIC0gbmV0d29yayA6IHsgZ2V0X3BhcmFtIDogbmV0d29ya19pZCB9DQogIG15X2luc3RhbmNlMjoNCiAgICB0eXBlOiBPUzo6Tm92YTo6U2VydmVyDQogICAgcHJvcGVydGllczoNCiAgICAgIGltYWdlOiB7IGdldF9wYXJhbTogaW1hZ2VfbmFtZV8yIH0NCiAgICAgIGZsYXZvcjogbTEudGlueQ0KICAgICAgbmV0d29ya3M6DQogICAgICAgIC0gbmV0d29yayA6IHsgZ2V0X3BhcmFtIDogbmV0d29ya19pZCB9";
602 updatedPayloadData = "aGVhdF90ZW1wbGF0ZV92ZXJzaW9uOiAyMDE2LTA1LTIzDQoNCmRlc2NyaXB0aW9uOiBTaW1wbGUgdGVtcGxhdGRzYWRzYWRzYWUgdG8gZGVwbG95IGEgc3RhY2sgd2l0aCB0d28gdmlydHVhbCBtYWNoaW5lIGluc3RhbmNlcw0KDQpwYXJhbWV0ZXJzOg0KICBpbWFnZV9uYW1lXzE6DQogICAgdHlwZTogc3RyaW5nDQogICAgbGFiZWw6IEltYWdlIE5hbWUNCiAgICBkZXNjcmlwdGlvbjogU0NPSU1BR0UgU3BlY2lmeSBhbiBpbWFkc2FkYXN3Z2UgbmFtZSBmb3IgaW5zdGFuY2UxDQogICAgZGVmYXVsdDogY2lycm9zLTAuMy4xLXg4Nl82NA0KICBpbWFnZV9uYW1lXzI6DQogICAgdHlwZTogc3RyaW5nDQogICAgbGFiZWw6IEltYWdlIE5hbWUNCiAgICBkZXNjcmlwdGlvbjogU0NPSU1BR0UgU3BlY2lmeSBhbiBpbWFnZSBuYW1lIGZvciBpbnN0YW5jZTINCiAgICBkZWZhdWx0OiBjaXJyb3MtMC4zLjEteDg2XzY0DQogIG5ldHdvcmtfaWQ6DQogICAgdHlwZTogc3RyaW5nDQogICAgbGFiZWw6IE5ldHdvcmsgSUQNCiAgICBkZXNjcmlwdGlvbjogU0NPTkVUV09SSyBOZXR3b3JrIHRvIGJlIHVzZWQgZm9yIHRoZSBjb21wdXRlIGluc3RhbmNlDQogICAgaGlkZGVuOiB0cnVlDQogICAgY29uc3RyYWludHM6DQogICAgICAtIGxlbmd0aDogeyBtaW46IDYsIG1heDogOCB9DQogICAgICAgIGRlc2NyaXB0aW9uOiBQYXNzd29yZCBsZW5ndGggbXVzdCBiZSBiZXR3ZWVuIDYgYW5kIDggY2hhcmFjdGVycy4NCiAgICAgIC0gcmFuZ2U6IHsgbWluOiA2LCBtYXg6IDggfQ0KICAgICAgICBkZXNjcmlwdGlvbjogUmFuZ2UgZGVzY3JpcHRpb24NCiAgICAgIC0gYWxsb3dlZF92YWx1ZXM6DQogICAgICAgIC0gbTEuc21hbGwNCiAgICAgICAgLSBtMS5tZWRpdW0NCiAgICAgICAgLSBtMS5sYXJnZQ0KICAgICAgICBkZXNjcmlwdGlvbjogQWxsb3dlZCB2YWx1ZXMgZGVzY3JpcHRpb24NCiAgICAgIC0gYWxsb3dlZF9wYXR0ZXJuOiAiW2EtekEtWjAtOV0rIg0KICAgICAgICBkZXNjcmlwdGlvbjogUGFzc3dvcmQgbXVzdCBjb25zaXN0IG9mIGNoYXJhY3RlcnMgYW5kIG51bWJlcnMgb25seS4NCiAgICAgIC0gYWxsb3dlZF9wYXR0ZXJuOiAiW0EtWl0rW2EtekEtWjAtOV0qIg0KICAgICAgICBkZXNjcmlwdGlvbjogUGFzc3dvcmQgbXVzdCBzdGFydCB3aXRoIGFuIHVwcGVyY2FzZSBjaGFyYWN0ZXIuDQogICAgICAtIGN1c3RvbV9jb25zdHJhaW50OiBub3ZhLmtleXBhaXINCiAgICAgICAgZGVzY3JpcHRpb246IEN1c3RvbSBkZXNjcmlwdGlvbg0KDQpyZXNvdXJjZXM6DQogIG15X2luc3RhbmNlMToNCiAgICB0eXBlOiBPUzo6Tm92YTo6U2VydmVyDQogICAgcHJvcGVydGllczoNCiAgICAgIGltYWdlOiB7IGdldF9wYXJhbTogaW1hZ2VfbmFtZV8xIH0NCiAgICAgIGZsYXZvcjogbTEuc21hbGwNCiAgICAgIG5ldHdvcmtzOg0KICAgICAgICAtIG5ldHdvcmsgOiB7IGdldF9wYXJhbSA6IG5ldHdvcmtfaWQgfQ0KICBteV9pbnN0YW5jZTI6DQogICAgdHlwZTogT1M6Ok5vdmE6OlNlcnZlcg0KICAgIHByb3BlcnRpZXM6DQogICAgICBpbWFnZTogeyBnZXRfcGFyYW06IGltYWdlX25hbWVfMiB9DQogICAgICBmbGF2b3I6IG0xLnRpbnkNCiAgICAgIG5ldHdvcmtzOg0KICAgICAgICAtIG5ldHdvcmsgOiB7IGdldF9wYXJhbSA6IG5ldHdvcmtfaWQgfQ";
604 artifactLabel = normalizeArtifactLabel(artifactName);
609 artifactName = generateUUIDforSufix() + "testArtifact.sh";
610 payloadData = "dGVzdA==";
611 updatedPayloadData = "YmVzYg==";
612 artifactLabel = normalizeArtifactLabel(artifactName);
616 artifactLabel = normalizeArtifactLabel("ci" + artifactName);
618 ArtifactReqDetails artifactDetails = null;
620 if (!updatedPayload){
621 artifactDetails = new ArtifactReqDetails(artifactName, artifactType, artifactDescription, payloadData, artifactLabel);
623 else artifactDetails = new ArtifactReqDetails(artifactName, artifactType, artifactDescription,
624 updatedPayloadData, artifactLabel);
626 artifactDetails.setArtifactGroupType(ArtifactGroupTypeEnum.DEPLOYMENT.getType());
627 artifactDetails.setUrl(url);
628 artifactDetails.setTimeout(timeout);
629 artifactDetails.setArtifactDisplayName(artifactLabel);
630 return artifactDetails;
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";
640 case DCAE_INVENTORY_JSON: {
641 artifactName = generateUUIDforSufix() + artifactType + "_jsonSampleArtifact.json";
644 case DCAE_INVENTORY_POLICY: {
645 artifactName = generateUUIDforSufix() + artifactType + "_emfSampleArtifact.emf";
648 case DCAE_INVENTORY_DOC: {
649 artifactName = generateUUIDforSufix() + artifactType + "_docSampleArtifact.doc";
652 case DCAE_INVENTORY_BLUEPRINT: {
653 artifactName = generateUUIDforSufix() + artifactType + "_bluePrintSampleArtifact.xml";
656 case DCAE_INVENTORY_EVENT: {
657 artifactName = generateUUIDforSufix() + artifactType + "_eventSampleArtifact.xml";
664 // ---------------------Audit message------------------
665 public static ExpectedResourceAuditJavaObject getDefaultImportResourceAuditMsgSuccess() {
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;
684 public static ExpectedResourceAuditJavaObject getDefaultImportResourceAuditMsgFailure(ErrorInfo errorInfo, List<String> variables) {
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;
703 public static ExpectedResourceAuditJavaObject getDefaultCertificationRequestAuditMsgSuccess() {
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;
722 public static ExpectedResourceAuditJavaObject getDefaultCertificationRequestAuditMsgFailure(ErrorInfo errorInfo, List<String> variables) {
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;
741 public static ExpectedExternalAudit getDefaultExternalAuditObject(AssetTypeEnum assetType, AuditingActionEnum action, String query) {
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;
753 public static ExpectedExternalAudit getDefaultAssetListAudit(AssetTypeEnum assetType, AuditingActionEnum auditAction) {
755 // ExpectedExternalAudit expectedAssetListAuditJavaObject = new
756 // ExpectedExternalAudit();
757 ExpectedExternalAudit expectedAssetListAuditJavaObject = getDefaultExternalAuditObject(assetType, auditAction, null);
758 return expectedAssetListAuditJavaObject;
762 public static ExpectedExternalAudit getDefaultFilteredAssetListAudit(AssetTypeEnum assetType, String query) {
764 // ExpectedExternalAudit expectedAssetListAuditJavaObject = new
765 // ExpectedExternalAudit();
766 ExpectedExternalAudit expectedAssetListAuditJavaObject = getDefaultExternalAuditObject(assetType, AuditingActionEnum.GET_FILTERED_ASSET_LIST, query);
767 return expectedAssetListAuditJavaObject;
771 public static ExpectedExternalAudit getDefaultExternalArtifactAuditSuccess(AssetTypeEnum assetType, AuditingActionEnum action, ArtifactDefinition artifactDefinition, String componentUUID) {
773 // ExpectedExternalAudit expectedExternalArtifactAudit = new
774 // ExpectedExternalAudit();
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;
786 public static ExpectedExternalAudit getDefaultExternalArtifactAuditSuccess(AssetTypeEnum assetType, AuditingActionEnum action, ArtifactDefinition artifactDefinition, Component component) {
788 //ExpectedExternalAudit expectedExternalArtifactAudit = new ExpectedExternalAudit();
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;
802 public static ExpectedResourceAuditJavaObject getDefaultCreateResourceExternalAPI(String resourceName) {
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");
818 return expectedResourceAuditJavaObject;
823 public static ExpectedResourceAuditJavaObject getDefaultChangeAssetLifeCycleExternalAPI(Component resourceAssetStructure, User defaultUser, LifeCycleStatesEnum lifecycleStateEnum, AssetTypeEnum assetTypeEnum) {
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");
842 return expectedResourceAuditJavaObject;
846 public static ExpectedResourceAuditJavaObject getDefaultInvalidChangeAssetLifeCycleExternalAPI(String assetUUID, User defaultUser, LifeCycleStatesEnum lifecycleStateEnum, AssetTypeEnum assetTypeEnum) {
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");
863 return expectedResourceAuditJavaObject;
867 public static ExpectedExternalAudit getDefaultExternalArtifactAuditSuccess(AssetTypeEnum assetType, AuditingActionEnum action, ArtifactDefinition artifactDefinition, String componentUUID, String resourceInstanceName) {
869 ExpectedExternalAudit expectedExternalArtifactAudit = getDefaultExternalArtifactAuditSuccess(assetType, action, artifactDefinition, componentUUID);
870 expectedExternalArtifactAudit.setRESOURCE_URL("/sdc/v1/catalog/" + assetType.getValue() + "/" + componentUUID + "/resourceInstances/" + resourceInstanceName + "/artifacts");
871 return expectedExternalArtifactAudit;
874 public static ExpectedExternalAudit getDefaultExternalArtifactAuditFailure(AssetTypeEnum assetType, AuditingActionEnum action, ArtifactDefinition artifactDefinition, String componentUUID, ErrorInfo errorInfo, List<String> variables) {
876 // ExpectedExternalAudit expectedExternalArtifactAudit = new
877 // ExpectedExternalAudit();
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;
891 public static ExpectedExternalAudit getDefaultExternalArtifactAuditFailure(AssetTypeEnum assetType, AuditingActionEnum action, ArtifactDefinition artifactDefinition, String componentUUID, ErrorInfo errorInfo, List<String> variables,
892 String resourceInstanceName) {
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;
899 public static ExpectedExternalAudit getFilteredAssetListAuditCategoryNotFound(AssetTypeEnum assetType, String query, String category) {
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;
907 errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.COMPONENT_CATEGORY_NOT_FOUND.name());
908 } catch (FileNotFoundException e) {
911 String desc = (errorInfo.getMessageId() + ": " + errorInfo.getMessage()).replace("%2", "category").replace("%3", category).replace("%1", "resource");
912 expectedAssetListAuditJavaObject.setDESC(desc);
914 return expectedAssetListAuditJavaObject;
918 public static ExpectedExternalAudit getDefaultAssetMetadataAudit(AssetTypeEnum assetType, Component component) {
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;
930 public static ExpectedExternalAudit getDefaultAssetMetadataAuditFailure(AssetTypeEnum assetType, String serviceUuid, String resourceType) {
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;
943 // Category/Subcategory/Group
944 public static CategoryDefinition getDefaultCategory() {
945 CategoryDefinition productCategoryDefinition = new CategoryDefinition();
946 productCategoryDefinition.setName("CiCateg" + generateUUIDforSufix());
947 return productCategoryDefinition;
950 public static SubCategoryDefinition getDefaultSubCategory() {
951 SubCategoryDefinition productSubCategoryDefinition = new SubCategoryDefinition();
952 productSubCategoryDefinition.setName("CiSubCateg" + generateUUIDforSufix());
953 return productSubCategoryDefinition;
956 public static GroupingDefinition getDefaultGroup() {
957 GroupingDefinition productGroupDefinition = new GroupingDefinition();
958 productGroupDefinition.setName("CiGrouping1" + generateUUIDforSufix());
959 return productGroupDefinition;
964 public static ProductReqDetails getDefaultProduct() {
965 return createDefaultProductReqDetails(CI_PRODUCT, null);
968 public static ProductReqDetails getDefaultProduct(String name) {
969 return createDefaultProductReqDetails(name, null);
972 public static ProductReqDetails getDefaultProduct(CategoryDefinition category) {
973 List<CategoryDefinition> categories = new ArrayList<>();
974 categories.add(category);
975 return createDefaultProductReqDetails(CI_PRODUCT, categories);
978 public static ProductReqDetails getDefaultProduct(String name, CategoryDefinition category) {
979 List<CategoryDefinition> categories = new ArrayList<>();
980 categories.add(category);
981 return createDefaultProductReqDetails(name, categories);
984 public static ProductReqDetails getDefaultProduct(List<CategoryDefinition> categories) {
985 return createDefaultProductReqDetails(CI_PRODUCT, categories);
988 public static ProductReqDetails getDefaultProduct(String name, List<CategoryDefinition> categories) {
989 return createDefaultProductReqDetails(name, categories);
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);
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;
1038 public static String generateUUIDforSufix() {
1039 final String uniqueSuffix = UUID.randomUUID().toString();
1040 return uniqueSuffix.split("-")[4];
1043 private static String normalizeArtifactLabel(String label) {
1045 label = label.substring(0, label.indexOf("."));
1046 String normalizedLabel = ValidationUtils.normalizeArtifactLabel(label);
1047 return normalizedLabel.substring(0, Math.min(25, normalizedLabel.length()));