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.onap.sdc.backend.ci.tests.utils.general;
23 import java.io.FileNotFoundException;
24 import java.io.IOException;
25 import java.util.ArrayList;
26 import java.util.List;
27 import java.util.UUID;
28 import org.apache.commons.lang3.StringUtils;
29 import org.onap.sdc.backend.ci.tests.datatypes.*;
30 import org.onap.sdc.backend.ci.tests.datatypes.enums.*;
31 import org.onap.sdc.backend.ci.tests.datatypes.expected.ExpectedExternalAudit;
32 import org.onap.sdc.backend.ci.tests.utils.validation.ErrorValidationUtils;
33 import org.openecomp.sdc.be.dao.api.ActionStatus;
34 import org.openecomp.sdc.be.datatypes.elements.ConsumerDataDefinition;
35 import org.openecomp.sdc.be.datatypes.enums.AssetTypeEnum;
36 import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
37 import org.openecomp.sdc.be.datatypes.enums.OriginTypeEnum;
38 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
39 import org.openecomp.sdc.be.model.*;
40 import org.openecomp.sdc.be.model.category.CategoryDefinition;
41 import org.openecomp.sdc.be.model.category.GroupingDefinition;
42 import org.openecomp.sdc.be.model.category.SubCategoryDefinition;
43 import org.openecomp.sdc.be.resources.data.auditing.AuditingActionEnum;
44 import org.onap.sdc.backend.ci.tests.datatypes.expected.ExpectedResourceAuditJavaObject;
45 import org.onap.sdc.backend.ci.tests.utils.rest.ArtifactRestUtils;
46 import org.onap.sdc.backend.ci.tests.utils.rest.ResponseParser;
47 import org.onap.sdc.backend.ci.tests.utils.validation.AuditValidationUtils;
48 import org.openecomp.sdc.common.api.ArtifactGroupTypeEnum;
49 import org.openecomp.sdc.common.util.ValidationUtils;
51 public final class ElementFactory {
53 private static final String CI_SERVICE = "ciService";
54 private static final String CI_RES = "ciRes";
55 private static final String CI_PRODUCT = "CiProduct";
56 private static String DEFAULT_ARTIFACT_LABEL = "artifact1";
57 private static final String RESOURCE_INSTANCE_POS_X = "20";
58 private static final String RESOURCE_INSTANCE_POS_Y = "20";
59 private static final String RESOURCE_INSTANCE_DESCRIPTION = "description";
61 private ElementFactory() {
67 public static String getServicePrefix() {
71 public static String getResourcePrefix() {
75 public static String getProductPrefix() {
81 public static ResourceReqDetails getDefaultResource() {
82 return getDefaultResource(CI_RES, NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, "jh0003");
85 public static ResourceReqDetails getDefaultResource(ResourceCategoryEnum category) {
86 return getDefaultResource(CI_RES, NormativeTypesEnum.ROOT, category, "jh0003");
89 public static ResourceReqDetails getDefaultResource(String contactId) {
90 return getDefaultResource(CI_RES, NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, contactId);
93 public static ResourceReqDetails getDefaultResource(User modifier) {
94 return getDefaultResource(CI_RES, NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, modifier.getUserId());
97 public static ResourceReqDetails getDefaultResource(NormativeTypesEnum derivedFrom, ResourceCategoryEnum category) {
98 return getDefaultResource(CI_RES, derivedFrom, category, "jh0003");
101 public static ResourceReqDetails getDefaultResource(NormativeTypesEnum derivedFrom) {
102 return getDefaultResource(CI_RES, derivedFrom, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, "jh0003");
105 public static ResourceReqDetails getDefaultResource(String resourceName, NormativeTypesEnum derivedFrom) {
106 return getDefaultResource(resourceName, derivedFrom, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, "jh0003");
109 public static ResourceReqDetails getDefaultResource(NormativeTypesEnum derivedFrom, String contactId) {
110 return getDefaultResource(CI_RES, derivedFrom, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, contactId);
114 public static ResourceReqDetails getDefaultResourceByType(ResourceTypeEnum ResourceType, String resourceName, ResourceCategoryEnum resourceCategory, String vendorName, String vendorModelNumber) {
115 return getDefaultResourceByType(resourceName, NormativeTypesEnum.ROOT, resourceCategory, "jh0003", ResourceType.toString(), vendorName, vendorModelNumber);
118 public static ResourceReqDetails getDefaultResourceByType(ResourceTypeEnum ResourceType, String resourceName) {
119 return getDefaultResourceByType(resourceName, NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, "jh0003", ResourceType.toString());
122 public static ResourceReqDetails getDefaultResourceByType(ResourceTypeEnum ResourceType, User user) {
123 return getDefaultResourceByType(CI_RES, NormativeTypesEnum.ROOT, ResourceCategoryEnum.APPLICATION_L4_LOAD_BALANCER, user.getUserId(), ResourceType.toString());
126 public static ResourceReqDetails getDefaultResourceByTypeNormTypeAndCatregory(ResourceTypeEnum resourceType, NormativeTypesEnum normativeTypes, ResourceCategoryEnum resourceCategory, User user) {
127 return getDefaultResourceByType(CI_RES, normativeTypes, resourceCategory, user.getUserId(), resourceType.toString());
130 public static PropertyReqDetails getDefaultMapProperty(PropertyTypeEnum innerType) {
131 return getPropertyDetails(innerType);
134 public static PropertyReqDetails getDefaultMapProperty() {
135 return getPropertyDetails(PropertyTypeEnum.STRING_MAP);
138 public static ResourceReqDetails getDefaultResource(String resourceName, NormativeTypesEnum derived, ResourceCategoryEnum category, String contactId) {
139 resourceName = addRandomSuffixToName(resourceName);
140 String description = "Represents a generic software component that can be managed and run by a Compute Node Type.";
141 ArrayList<String> resourceTags = new ArrayList<>();
142 resourceTags.add(resourceName);
144 ArrayList<String> derivedFrom = new ArrayList<>();
145 derivedFrom.add(derived.normativeName);
146 String vendorName = "ATT Tosca";
147 String vendorRelease = "1.0.0.wd03";
148 String icon = "defaulticon";
149 ResourceReqDetails resourceDetails = new ResourceReqDetails(resourceName, description, resourceTags, null, derivedFrom, vendorName, vendorRelease, contactId, icon);
150 resourceDetails.addCategoryChain(category.getCategory(), category.getSubCategory());
151 resourceDetails.setResourceVendorModelNumber("vendorNumber-1.5.7");
153 return resourceDetails;
157 public static ResourceReqDetails getDefaultResourceByTypeNormTypeAndCatregory(ResourceTypeEnum resourceType, Resource normativeTypes, ResourceCategoryEnum resourceCategory, User user) {
158 return getDefaultResource(CI_RES + resourceType, normativeTypes, resourceCategory, user.getUserId());
161 public static ResourceReqDetails getDefaultResource(String resourceName, Resource derived, ResourceCategoryEnum category, String contactId) {
162 resourceName = addRandomSuffixToName(resourceName);
163 String description = "Represents a generic software component that can be managed and run by a Compute Node Type.";
164 ArrayList<String> resourceTags = new ArrayList<>();
165 resourceTags.add(resourceName);
167 ArrayList<String> derivedFrom = new ArrayList<>();
168 derivedFrom.add(derived.getToscaResourceName());
169 String vendorName = "ATT Tosca";
170 String vendorRelease = "1.0.0.wd03";
171 String icon = "defaulticon";
172 ResourceReqDetails resourceDetails = new ResourceReqDetails(resourceName, description, resourceTags, null, derivedFrom, vendorName, vendorRelease, contactId, icon);
173 resourceDetails.addCategoryChain(category.getCategory(), category.getSubCategory());
175 return resourceDetails;
179 public static String addRandomSuffixToName(final String name) {
180 return name + generateUUIDforSufix();
183 public static ResourceReqDetails getDefaultResourceByType(String resourceName, NormativeTypesEnum derived, ResourceCategoryEnum category, String contactId, ResourceTypeEnum resourceType) {
184 return getDefaultResourceByType(resourceName, derived, category, contactId, resourceType.toString());
188 public static ResourceReqDetails getDefaultResourceByType(String resourceName, NormativeTypesEnum derived, ResourceCategoryEnum category, String contactId, String resourceType) {
189 resourceName = (resourceName + resourceType + generateUUIDforSufix());
190 String description = "Represents a generic software component that can be managed and run by a Compute Node Type.";
191 ArrayList<String> resourceTags = new ArrayList<>();
192 resourceTags.add(resourceName);
193 ArrayList<String> derivedFrom = null;
194 if (derived != null) {
195 derivedFrom = new ArrayList<String>();
196 derivedFrom.add(derived.normativeName);
198 String vendorName = "ATT Tosca";
199 String vendorRelease = "1.0.0.wd03";
200 String icon = "defaulticon";
201 ResourceReqDetails resourceDetails = new ResourceReqDetails(resourceName, description, resourceTags, null, derivedFrom, vendorName, vendorRelease, contactId, icon, resourceType.toString());
202 resourceDetails.addCategoryChain(category.getCategory(), category.getSubCategory());
203 resourceDetails.setResourceVendorModelNumber("vendorNumber-1.5.7");
204 return resourceDetails;
207 public static ResourceReqDetails getDefaultResourceByType(String resourceName, NormativeTypesEnum derived, ResourceCategoryEnum category, String contactId, String resourceType, String vendorName, String vendorModelNumber) {
208 resourceName = (resourceName + resourceType + generateUUIDforSufix());
210 String description = "Represents a generic software component that can be managed and run by a Compute Node Type.";
211 ArrayList<String> resourceTags = new ArrayList<>();
212 resourceTags.add(resourceName);
213 ArrayList<String> derivedFrom = null;
214 if (derived != null) {
215 derivedFrom = new ArrayList<>();
216 derivedFrom.add(derived.normativeName);
218 String vendorRelease = "1.0.0.wd03";
219 String icon = "defaulticon";
220 ResourceReqDetails resourceDetails = new ResourceReqDetails(resourceName, description, resourceTags, null, derivedFrom, vendorName, vendorRelease, contactId, icon, resourceType.toString());
221 resourceDetails.addCategoryChain(category.getCategory(), category.getSubCategory());
222 resourceDetails.setResourceVendorModelNumber(vendorModelNumber);
223 return resourceDetails;
226 public static ResourceReqDetails getRandomCategoryResource() {
227 ResourceReqDetails resourceDetails = getDefaultResource(ResourceCategoryEnum.getRandomElement());
228 return resourceDetails;
231 public static ResourceExternalReqDetails getDefaultResourceByType(String resourceName, ResourceCategoryEnum category, String contactId, String resourceType) {
232 resourceName = (resourceName + resourceType + generateUUIDforSufix());
233 String description = "Represents a generic software component that can be managed and run by a Compute Node Type.";
234 ArrayList<String> resourceTags = new ArrayList<>();
235 resourceTags.add(resourceName);
236 String vendorName = "ATT Tosca";
237 String vendorRelease = "1.0.0.wd03";
238 String icon = "defaulticon";
239 ResourceExternalReqDetails resourceDetails = new ResourceExternalReqDetails(resourceName, description, resourceTags,
240 vendorName, vendorRelease, contactId, icon,
241 resourceType.toString(), category.getCategory(), category.getSubCategory());
242 return resourceDetails;
246 public static ImportReqDetails getDefaultImportResourceByType(String resourceName, NormativeTypesEnum derived, ResourceCategoryEnum category, String contactId, String resourceType) {
247 resourceName = (resourceName + resourceType + generateUUIDforSufix());
248 String description = "Represents a generic software component that can be managed and run by a Compute Node Type.";
249 ArrayList<String> resourceTags = new ArrayList<>();
250 resourceTags.add(resourceName);
251 ArrayList<String> derivedFrom = null;
252 if (derived != null) {
253 derivedFrom = new ArrayList<>();
254 derivedFrom.add(derived.normativeName);
256 String vendorName = "ATT Tosca";
257 String vendorRelease = "1.0.0.wd03";
258 String icon = "defaulticon";
259 ImportReqDetails resourceDetails = new ImportReqDetails(resourceName, description, resourceTags, derivedFrom, vendorName, vendorRelease, contactId, icon);
260 resourceDetails.addCategoryChain(category.getCategory(), category.getSubCategory());
261 return resourceDetails;
265 public static ImportReqDetails getDefaultImportResource(ResourceReqDetails resourceReqDetails) {
266 ImportReqDetails importReqDetails = new ImportReqDetails(resourceReqDetails.getName(), resourceReqDetails.getDescription(), resourceReqDetails.getTags(), resourceReqDetails.getDerivedFrom(), resourceReqDetails.getVendorName(),
267 resourceReqDetails.getVendorRelease(), resourceReqDetails.getContactId(), resourceReqDetails.getIcon());
268 importReqDetails.setPayloadName("myCompute.yaml");
269 importReqDetails.setCategories(resourceReqDetails.getCategories());
270 importReqDetails.setPayloadData(
271 "dG9zY2FfZGVmaW5pdGlvbnNfdmVyc2lvbjogdG9zY2Ffc2ltcGxlX3lhbWxfMV8wXzANCm5vZGVfdHlwZXM6IA0KICBjb20uYXR0LmQyLnJlc291cmNlLk15Q29tcHV0ZToNCiAgICBkZXJpdmVkX2Zyb206IHRvc2NhLm5vZGVzLlJvb3QNCiAgICBhdHRyaWJ1dGVzOg0KICAgICAgcHJpdmF0ZV9hZGRyZXNzOg0KICAgICAgICB0eXBlOiBzdHJpbmcNCiAgICAgIHB1YmxpY19hZGRyZXNzOg0KICAgICAgICB0eXBlOiBzdHJpbmcNCiAgICAgIG5ldHdvcmtzOg0KICAgICAgICB0eXBlOiBtYXANCiAgICAgICAgZW50cnlfc2NoZW1hOg0KICAgICAgICAgIHR5cGU6IHRvc2NhLmRhdGF0eXBlcy5uZXR3b3JrLk5ldHdvcmtJbmZvDQogICAgICBwb3J0czoNCiAgICAgICAgdHlwZTogbWFwDQogICAgICAgIGVudHJ5X3NjaGVtYToNCiAgICAgICAgICB0eXBlOiB0b3NjYS5kYXRhdHlwZXMubmV0d29yay5Qb3J0SW5mbw0KICAgIHJlcXVpcmVtZW50czoNCiAgICAgIC0gbG9jYWxfc3RvcmFnZTogDQogICAgICAgICAgY2FwYWJpbGl0eTogdG9zY2EuY2FwYWJpbGl0aWVzLkF0dGFjaG1lbnQNCiAgICAgICAgICBub2RlOiB0b3NjYS5ub2Rlcy5CbG9ja1N0b3JhZ2UNCiAgICAgICAgICByZWxhdGlvbnNoaXA6IHRvc2NhLnJlbGF0aW9uc2hpcHMuQXR0YWNoZXNUbw0KICAgICAgICAgIG9jY3VycmVuY2VzOiBbMCwgVU5CT1VOREVEXSAgDQogICAgY2FwYWJpbGl0aWVzOg0KICAgICAgaG9zdDogDQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5Db250YWluZXINCiAgICAgICAgdmFsaWRfc291cmNlX3R5cGVzOiBbdG9zY2Eubm9kZXMuU29mdHdhcmVDb21wb25lbnRdIA0KICAgICAgZW5kcG9pbnQgOg0KICAgICAgICB0eXBlOiB0b3NjYS5jYXBhYmlsaXRpZXMuRW5kcG9pbnQuQWRtaW4gDQogICAgICBvczogDQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5PcGVyYXRpbmdTeXN0ZW0NCiAgICAgIHNjYWxhYmxlOg0KICAgICAgICB0eXBlOiB0b3NjYS5jYXBhYmlsaXRpZXMuU2NhbGFibGUNCiAgICAgIGJpbmRpbmc6DQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5uZXR3b3JrLkJpbmRhYmxlDQo=");
272 return importReqDetails;
275 public static ImportReqDetails getDefaultImportResource() {
276 ResourceReqDetails resourceReqDetails = getDefaultResource();
277 ImportReqDetails importReqDetails = new ImportReqDetails(resourceReqDetails.getName(), resourceReqDetails.getDescription(), resourceReqDetails.getTags(), resourceReqDetails.getDerivedFrom(), resourceReqDetails.getVendorName(),
278 resourceReqDetails.getVendorRelease(), resourceReqDetails.getContactId(), resourceReqDetails.getIcon());
279 importReqDetails.setPayloadName("myCompute.yaml");
280 importReqDetails.setCategories(resourceReqDetails.getCategories());
281 importReqDetails.setPayloadData(
282 "dG9zY2FfZGVmaW5pdGlvbnNfdmVyc2lvbjogdG9zY2Ffc2ltcGxlX3lhbWxfMV8wXzANCm5vZGVfdHlwZXM6IA0KICBjb20uYXR0LmQyLnJlc291cmNlLk15Q29tcHV0ZToNCiAgICBkZXJpdmVkX2Zyb206IHRvc2NhLm5vZGVzLlJvb3QNCiAgICBhdHRyaWJ1dGVzOg0KICAgICAgcHJpdmF0ZV9hZGRyZXNzOg0KICAgICAgICB0eXBlOiBzdHJpbmcNCiAgICAgIHB1YmxpY19hZGRyZXNzOg0KICAgICAgICB0eXBlOiBzdHJpbmcNCiAgICAgIG5ldHdvcmtzOg0KICAgICAgICB0eXBlOiBtYXANCiAgICAgICAgZW50cnlfc2NoZW1hOg0KICAgICAgICAgIHR5cGU6IHRvc2NhLmRhdGF0eXBlcy5uZXR3b3JrLk5ldHdvcmtJbmZvDQogICAgICBwb3J0czoNCiAgICAgICAgdHlwZTogbWFwDQogICAgICAgIGVudHJ5X3NjaGVtYToNCiAgICAgICAgICB0eXBlOiB0b3NjYS5kYXRhdHlwZXMubmV0d29yay5Qb3J0SW5mbw0KICAgIHJlcXVpcmVtZW50czoNCiAgICAgIC0gbG9jYWxfc3RvcmFnZTogDQogICAgICAgICAgY2FwYWJpbGl0eTogdG9zY2EuY2FwYWJpbGl0aWVzLkF0dGFjaG1lbnQNCiAgICAgICAgICBub2RlOiB0b3NjYS5ub2Rlcy5CbG9ja1N0b3JhZ2UNCiAgICAgICAgICByZWxhdGlvbnNoaXA6IHRvc2NhLnJlbGF0aW9uc2hpcHMuQXR0YWNoZXNUbw0KICAgICAgICAgIG9jY3VycmVuY2VzOiBbMCwgVU5CT1VOREVEXSAgDQogICAgY2FwYWJpbGl0aWVzOg0KICAgICAgaG9zdDogDQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5Db250YWluZXINCiAgICAgICAgdmFsaWRfc291cmNlX3R5cGVzOiBbdG9zY2Eubm9kZXMuU29mdHdhcmVDb21wb25lbnRdIA0KICAgICAgZW5kcG9pbnQgOg0KICAgICAgICB0eXBlOiB0b3NjYS5jYXBhYmlsaXRpZXMuRW5kcG9pbnQuQWRtaW4gDQogICAgICBvczogDQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5PcGVyYXRpbmdTeXN0ZW0NCiAgICAgIHNjYWxhYmxlOg0KICAgICAgICB0eXBlOiB0b3NjYS5jYXBhYmlsaXRpZXMuU2NhbGFibGUNCiAgICAgIGJpbmRpbmc6DQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5uZXR3b3JrLkJpbmRhYmxlDQo=");
283 return importReqDetails;
286 public static ImportReqDetails getDefaultImportResource(String name) {
287 ResourceReqDetails resourceReqDetails = getDefaultResourceByType(ResourceTypeEnum.VFC, name);
288 ImportReqDetails importReqDetails = new ImportReqDetails(resourceReqDetails.getName(), resourceReqDetails.getDescription(), resourceReqDetails.getTags(), resourceReqDetails.getDerivedFrom(), resourceReqDetails.getVendorName(),
289 resourceReqDetails.getVendorRelease(), resourceReqDetails.getContactId(), resourceReqDetails.getIcon());
290 importReqDetails.setPayloadName("myCompute.yaml");
291 importReqDetails.setCategories(resourceReqDetails.getCategories());
292 importReqDetails.setPayloadData(
293 "dG9zY2FfZGVmaW5pdGlvbnNfdmVyc2lvbjogdG9zY2Ffc2ltcGxlX3lhbWxfMV8wXzANCm5vZGVfdHlwZXM6IA0KICBjb20uYXR0LmQyLnJlc291cmNlLk15Q29tcHV0ZToNCiAgICBkZXJpdmVkX2Zyb206IHRvc2NhLm5vZGVzLlJvb3QNCiAgICBhdHRyaWJ1dGVzOg0KICAgICAgcHJpdmF0ZV9hZGRyZXNzOg0KICAgICAgICB0eXBlOiBzdHJpbmcNCiAgICAgIHB1YmxpY19hZGRyZXNzOg0KICAgICAgICB0eXBlOiBzdHJpbmcNCiAgICAgIG5ldHdvcmtzOg0KICAgICAgICB0eXBlOiBtYXANCiAgICAgICAgZW50cnlfc2NoZW1hOg0KICAgICAgICAgIHR5cGU6IHRvc2NhLmRhdGF0eXBlcy5uZXR3b3JrLk5ldHdvcmtJbmZvDQogICAgICBwb3J0czoNCiAgICAgICAgdHlwZTogbWFwDQogICAgICAgIGVudHJ5X3NjaGVtYToNCiAgICAgICAgICB0eXBlOiB0b3NjYS5kYXRhdHlwZXMubmV0d29yay5Qb3J0SW5mbw0KICAgIHJlcXVpcmVtZW50czoNCiAgICAgIC0gbG9jYWxfc3RvcmFnZTogDQogICAgICAgICAgY2FwYWJpbGl0eTogdG9zY2EuY2FwYWJpbGl0aWVzLkF0dGFjaG1lbnQNCiAgICAgICAgICBub2RlOiB0b3NjYS5ub2Rlcy5CbG9ja1N0b3JhZ2UNCiAgICAgICAgICByZWxhdGlvbnNoaXA6IHRvc2NhLnJlbGF0aW9uc2hpcHMuQXR0YWNoZXNUbw0KICAgICAgICAgIG9jY3VycmVuY2VzOiBbMCwgVU5CT1VOREVEXSAgDQogICAgY2FwYWJpbGl0aWVzOg0KICAgICAgaG9zdDogDQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5Db250YWluZXINCiAgICAgICAgdmFsaWRfc291cmNlX3R5cGVzOiBbdG9zY2Eubm9kZXMuU29mdHdhcmVDb21wb25lbnRdIA0KICAgICAgZW5kcG9pbnQgOg0KICAgICAgICB0eXBlOiB0b3NjYS5jYXBhYmlsaXRpZXMuRW5kcG9pbnQuQWRtaW4gDQogICAgICBvczogDQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5PcGVyYXRpbmdTeXN0ZW0NCiAgICAgIHNjYWxhYmxlOg0KICAgICAgICB0eXBlOiB0b3NjYS5jYXBhYmlsaXRpZXMuU2NhbGFibGUNCiAgICAgIGJpbmRpbmc6DQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5uZXR3b3JrLkJpbmRhYmxlDQo=");
294 return importReqDetails;
298 public static ServiceReqDetails getDefaultService() {
299 return getDefaultService(CI_SERVICE, ServiceCategoriesEnum.MOBILITY, "al1976", ServiceInstantiationType.A_LA_CARTE.getValue());
302 public static ServiceReqDetails getDefaultService(String contactId) {
303 return getDefaultService(CI_SERVICE, ServiceCategoriesEnum.MOBILITY, contactId, ServiceInstantiationType.A_LA_CARTE.getValue());
306 public static ServiceReqDetails getDefaultService(User user) {
307 return getDefaultService(CI_SERVICE, ServiceCategoriesEnum.MOBILITY, user.getUserId(), ServiceInstantiationType.A_LA_CARTE.getValue());
310 public static ServiceReqDetails getDefaultService(ServiceCategoriesEnum category, User user) {
311 return getDefaultService(CI_SERVICE, category, user.getUserId(), ServiceInstantiationType.A_LA_CARTE.getValue());
314 public static ServiceReqDetails getServiceByCategory(ServiceCategoriesEnum category) {
315 return getDefaultService(CI_SERVICE, category, "al1976", ServiceInstantiationType.A_LA_CARTE.getValue());
318 public static ServiceReqDetails getDefaultService(String serviceName, ServiceCategoriesEnum category, String contactId, String instantiationType) {
319 serviceName = (serviceName + generateUUIDforSufix());
320 ArrayList<String> tags = new ArrayList<>();
321 tags.add("serviceTag");
322 tags.add("serviceTag1");
323 tags.add(serviceName);
324 String description = "service Description";
325 String icon = "defaulticon";
327 ServiceReqDetails serviceDetails = new ServiceReqDetails(serviceName, category.getValue(), tags, description, contactId, icon, instantiationType);
329 return serviceDetails;
332 public static ServiceReqDetails getRandomCategoryService() {
333 ServiceReqDetails serviceReqDetails = getServiceByCategory(ServiceCategoriesEnum.getRandomElement());
334 return serviceReqDetails;
337 // ***** PROPERTY ***
339 public static PropertyReqDetails getDefaultProperty() {
340 return getDefaultProperty("disk_size");
343 public static PropertyReqDetails getDefaultProperty(String propertyName) {
344 PropertyReqDetails property = new PropertyReqDetails();
345 property.setName(propertyName);
346 property.setPropertyType("integer");
347 property.setPropertyRequired(false);
348 property.setPropertyDefaultValue("12345");
349 property.setPropertyDescription("test property");
350 property.setPropertyRangeMax("500");
351 property.setPropertyRangeMin("100");
352 property.setPropertyPassword(false);
356 public static PropertyReqDetails getDefaultIntegerProperty() {
357 return getPropertyDetails(PropertyTypeEnum.INTEGER);
360 public static PropertyReqDetails getDefaultStringProperty() {
361 return getPropertyDetails(PropertyTypeEnum.STRING);
364 public static PropertyReqDetails getDefaultBooleanProperty() {
365 return getPropertyDetails(PropertyTypeEnum.BOOLEAN);
368 public static PropertyReqDetails getDefaultListProperty() {
369 return getPropertyDetails(PropertyTypeEnum.STRING_LIST);
372 public static PropertyReqDetails getDefaultListProperty(PropertyTypeEnum innerType) {
373 return getPropertyDetails(innerType);
376 public static PropertyReqDetails getPropertyDetails(PropertyTypeEnum propType) {
377 return new PropertyReqDetails(propType.getName(), propType.getType(), propType.getValue(), propType.getDescription(), propType.getSchemaDefinition());
380 // ***** RESOURCE INSTANCE ***
381 public static ComponentInstanceReqDetails getDefaultComponentInstance() {
382 return getDefaultComponentInstance("resourceInstanceName");
385 public static ComponentInstanceReqDetails getDefaultComponentInstance(String name) {
386 String resourceUid = "resourceId";
387 ComponentInstanceReqDetails resourceInstanceDetails = new ComponentInstanceReqDetails(resourceUid, RESOURCE_INSTANCE_DESCRIPTION, RESOURCE_INSTANCE_POS_X, RESOURCE_INSTANCE_POS_Y, name, null);
389 return resourceInstanceDetails;
393 public static ComponentInstanceReqDetails getDefaultComponentInstance(String name, ComponentReqDetails componentReqDetails) {
394 String resourceUid = componentReqDetails.getUniqueId();
395 ComponentInstanceReqDetails resourceInstanceDetails = new ComponentInstanceReqDetails(resourceUid, RESOURCE_INSTANCE_DESCRIPTION, RESOURCE_INSTANCE_POS_X, RESOURCE_INSTANCE_POS_Y, name, null);
397 return resourceInstanceDetails;
401 public static ComponentInstanceReqDetails getDefaultComponentInstance(String serviceUniqueId, String originType) {
402 ComponentInstanceReqDetails componentInstanceReqDetails = new ComponentInstanceReqDetails(serviceUniqueId,
403 RESOURCE_INSTANCE_DESCRIPTION, RESOURCE_INSTANCE_POS_X, RESOURCE_INSTANCE_POS_Y, null, originType);
405 componentInstanceReqDetails.setUniqueId(serviceUniqueId + Math.random());
407 return componentInstanceReqDetails;
411 public static ComponentInstanceReqDetails getComponentResourceInstance(ComponentReqDetails compInstOriginDetails) {
412 String compInstName = (compInstOriginDetails.getName() != null ? compInstOriginDetails.getName() : "resourceInstanceName");
413 String resourceUid = compInstOriginDetails.getUniqueId();
414 ComponentInstanceReqDetails resourceInstanceDetails = new ComponentInstanceReqDetails(resourceUid, RESOURCE_INSTANCE_DESCRIPTION, RESOURCE_INSTANCE_POS_X, RESOURCE_INSTANCE_POS_Y, compInstName, null);
415 return resourceInstanceDetails;
419 public static ComponentInstanceReqDetails getComponentInstance(Component compInstOriginDetails) {
420 String compInstName = (compInstOriginDetails.getName() != null ? compInstOriginDetails.getName() : "componentInstanceName");
421 String compInsUid = compInstOriginDetails.getUniqueId();
422 ComponentInstanceReqDetails componentInstanceDetails = new ComponentInstanceReqDetails(compInsUid, RESOURCE_INSTANCE_DESCRIPTION, RESOURCE_INSTANCE_POS_X, RESOURCE_INSTANCE_POS_Y, compInstName, compInstOriginDetails.getComponentType() == ComponentTypeEnum.SERVICE ? OriginTypeEnum.ServiceProxy.name() : null);
423 return componentInstanceDetails;
427 //********ServiceFilter**********
428 public static ServiceFilterDetails getDefaultEqualOperatorFilter(String propertyName, String valueString) {
429 return new ServiceFilterDetails(propertyName, "equal", "static", "static", valueString);
432 public static ServiceFilterDetails getDefaultFilter(String propertyName, String valueString,
434 return new ServiceFilterDetails(propertyName, operator, "static", "static", valueString);
437 // ******* USER **********************
438 public static User getDefaultUser(UserRoleEnum userRole) {
439 User sdncModifierDetails = new User();
440 sdncModifierDetails.setUserId(userRole.getUserId());
441 sdncModifierDetails.setFirstName(userRole.getFirstName());
442 sdncModifierDetails.setLastName(userRole.getLastName());
443 return sdncModifierDetails;
446 public static User getDefaultMechUser() {
447 User sdncMechUserDetails = new User();
448 sdncMechUserDetails.setUserId("m12345");
449 sdncMechUserDetails.setFirstName("Fishi");
450 sdncMechUserDetails.setLastName("Shifi");
451 sdncMechUserDetails.setEmail("mechId@intl.sdc.com");
452 sdncMechUserDetails.setRole("DESIGNER");
453 return sdncMechUserDetails;
456 // ******* CONSUMER **********************
458 public static ConsumerDataDefinition getDefaultConsumerDetails() {
459 ConsumerDataDefinition consumer = new ConsumerDataDefinition();
460 consumer.setConsumerName("ci");
461 consumer.setConsumerSalt("2a1f887d607d4515d4066fe0f5452a50");
462 consumer.setConsumerPassword("0a0dc557c3bf594b1a48030e3e99227580168b21f44e285c69740b8d5b13e33b");
467 public static ArtifactReqDetails getDefaultArtifact() throws IOException, Exception {
468 return getDefaultArtifact(DEFAULT_ARTIFACT_LABEL);
471 public static ArtifactReqDetails getDefaultArtifact(String artifactLabel) throws IOException, Exception {
472 List<String> artifactTypes = ResponseParser.getValuesFromJsonArray(ArtifactRestUtils.getArtifactTypesList());
473 String artifactType = artifactTypes.get(0);
475 return getDefaultArtifact(artifactLabel, artifactType);
478 public static ArtifactReqDetails getDefaultArtifact(String artifactLabel, String artifactType) throws IOException, Exception {
480 String artifactName = "testArtifact.sh";
481 String artifactDescription = "descriptionTest";
482 String payloadData = "dGVzdA=="; // content of file
484 ArtifactReqDetails artifactDetails = new ArtifactReqDetails(artifactName, artifactType, artifactDescription, payloadData, artifactLabel);
485 artifactDetails.setUrl("");
486 artifactDetails.setArtifactDisplayName(artifactLabel);
487 return artifactDetails;
490 public static ArtifactReqDetails getServiceApiArtifactDetails(String artifactLabel) throws IOException, Exception {
491 ArtifactReqDetails defaultArtifact = getDefaultArtifact(artifactLabel, "OTHER");
492 defaultArtifact.setUrl("http://www.apple.com");
493 defaultArtifact.setServiceApi(true);
494 defaultArtifact.setArtifactDisplayName(StringUtils.capitalize(defaultArtifact.getArtifactLabel()));
495 return defaultArtifact;
498 public static ArtifactReqDetails getDefaultDeploymentArtifactForType(String artifactType) throws IOException, Exception {
499 return getArtifactByType(DEFAULT_ARTIFACT_LABEL, artifactType, true, false);
502 public static ArtifactReqDetails getArtifactByType(ArtifactTypeEnum artifactLabel, ArtifactTypeEnum artifactType, Boolean deploymentTrue) throws IOException, Exception {
503 return getArtifactByType(DEFAULT_ARTIFACT_LABEL, artifactType.toString(), deploymentTrue, false);
507 public static ArtifactReqDetails getArtifactByType(String artifactLabel, String artifactType, Boolean deploymentTrue, Boolean updatedPayload) throws IOException, Exception {
509 String updatedPayloadData =null;
510 String payloadData = null;
511 Integer timeout = null;
513 String artifactDescription = "descriptionTest";
516 // The non-default payloads here are real ones according to various
517 // types validations,
518 // Please don't change them unless you know what you are doing!
520 ArtifactTypeEnum artifactTypeEnum = ArtifactTypeEnum.findType(artifactType);
523 * Missing file type: DCAE_JSON
525 switch (artifactTypeEnum) {
526 case DCAE_INVENTORY_TOSCA:
534 artifactName = generateUUIDforSufix() + artifactType + "_install_apache2.yaml";
535 payloadData = "aGVhdF90ZW1wbGF0ZV92ZXJzaW9uOiAyMDEzLTA1LTIzDQoNCmRlc2NyaXB0aW9uOiBTaW1wbGUgdGVtcGxhdGUgdG8gZGVwbG95IGEgc3RhY2sgd2l0aCB0d28gdmlydHVhbCBtYWNoaW5lIGluc3RhbmNlcw0KDQpwYXJhbWV0ZXJzOg0KICBpbWFnZV9uYW1lXzE6DQogICAgdHlwZTogc3RyaW5nDQogICAgbGFiZWw6IEltYWdlIE5hbWUNCiAgICBkZXNjcmlwdGlvbjogU0NPSU1BR0UgU3BlY2lmeSBhbiBpbWFnZSBuYW1lIGZvciBpbnN0YW5jZTENCiAgICBkZWZhdWx0OiBjaXJyb3MtMC4zLjEteDg2XzY0DQogIGltYWdlX25hbWVfMjoNCiAgICB0eXBlOiBzdHJpbmcNCiAgICBsYWJlbDogSW1hZ2UgTmFtZQ0KICAgIGRlc2NyaXB0aW9uOiBTQ09JTUFHRSBTcGVjaWZ5IGFuIGltYWdlIG5hbWUgZm9yIGluc3RhbmNlMg0KICAgIGRlZmF1bHQ6IGNpcnJvcy0wLjMuMS14ODZfNjQNCiAgbmV0d29ya19pZDoNCiAgICB0eXBlOiBzdHJpbmcNCiAgICBsYWJlbDogTmV0d29yayBJRA0KICAgIGRlc2NyaXB0aW9uOiBTQ09ORVRXT1JLIE5ldHdvcmsgdG8gYmUgdXNlZCBmb3IgdGhlIGNvbXB1dGUgaW5zdGFuY2UNCiAgICBoaWRkZW46IHRydWUNCiAgICBjb25zdHJhaW50czoNCiAgICAgIC0gbGVuZ3RoOiB7IG1pbjogNiwgbWF4OiA4IH0NCiAgICAgICAgZGVzY3JpcHRpb246IFBhc3N3b3JkIGxlbmd0aCBtdXN0IGJlIGJldHdlZW4gNiBhbmQgOCBjaGFyYWN0ZXJzLg0KICAgICAgLSByYW5nZTogeyBtaW46IDYsIG1heDogOCB9DQogICAgICAgIGRlc2NyaXB0aW9uOiBSYW5nZSBkZXNjcmlwdGlvbg0KICAgICAgLSBhbGxvd2VkX3ZhbHVlczoNCiAgICAgICAgLSBtMS5zbWFsbA0KICAgICAgICAtIG0xLm1lZGl1bQ0KICAgICAgICAtIG0xLmxhcmdlDQogICAgICAgIGRlc2NyaXB0aW9uOiBBbGxvd2VkIHZhbHVlcyBkZXNjcmlwdGlvbg0KICAgICAgLSBhbGxvd2VkX3BhdHRlcm46ICJbYS16QS1aMC05XSsiDQogICAgICAgIGRlc2NyaXB0aW9uOiBQYXNzd29yZCBtdXN0IGNvbnNpc3Qgb2YgY2hhcmFjdGVycyBhbmQgbnVtYmVycyBvbmx5Lg0KICAgICAgLSBhbGxvd2VkX3BhdHRlcm46ICJbQS1aXStbYS16QS1aMC05XSoiDQogICAgICAgIGRlc2NyaXB0aW9uOiBQYXNzd29yZCBtdXN0IHN0YXJ0IHdpdGggYW4gdXBwZXJjYXNlIGNoYXJhY3Rlci4NCiAgICAgIC0gY3VzdG9tX2NvbnN0cmFpbnQ6IG5vdmEua2V5cGFpcg0KICAgICAgICBkZXNjcmlwdGlvbjogQ3VzdG9tIGRlc2NyaXB0aW9uDQoNCnJlc291cmNlczoNCiAgbXlfaW5zdGFuY2UxOg0KICAgIHR5cGU6IE9TOjpOb3ZhOjpTZXJ2ZXINCiAgICBwcm9wZXJ0aWVzOg0KICAgICAgaW1hZ2U6IHsgZ2V0X3BhcmFtOiBpbWFnZV9uYW1lXzEgfQ0KICAgICAgZmxhdm9yOiBtMS5zbWFsbA0KICAgICAgbmV0d29ya3M6DQogICAgICAgIC0gbmV0d29yayA6IHsgZ2V0X3BhcmFtIDogbmV0d29ya19pZCB9DQogIG15X2luc3RhbmNlMjoNCiAgICB0eXBlOiBPUzo6Tm92YTo6U2VydmVyDQogICAgcHJvcGVydGllczoNCiAgICAgIGltYWdlOiB7IGdldF9wYXJhbTogaW1hZ2VfbmFtZV8yIH0NCiAgICAgIGZsYXZvcjogbTEudGlueQ0KICAgICAgbmV0d29ya3M6DQogICAgICAgIC0gbmV0d29yayA6IHsgZ2V0X3BhcmFtIDogbmV0d29ya19pZCB9";
536 updatedPayloadData = "dG9zY2FfZGVmaW5pdGlvbnNfdmVyc2lvbjogdG9zY2Ffc2ltcGxlX3lhbWxfMV8wXzANCg0Kbm9kZV90eXBlczoNCiAgY29tLmF0dC5kMi5yZXNvdXJjZS5jcC5DUDoNCiAgICBkZXJpdmVkX2Zyb206IHRvc2NhLm5vZGVzLm5ldHdvcmsuUG9ydA0KICAgIHByb3BlcnRpZXM6DQogICAgICBpc190YWdnZWQ6DQogICAgICAgIHR5cGU6IGJvb2xlYW4NCiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlDQogICAgICAgIGRlZmF1bHQ6IGZhbHNlDQogICAgICAgIGRlc2NyaXB0aW9uOiANCg0KICAgIHJlcXVpcmVtZW50czoNCiAgICAgIC0gdmlydHVhbExpbms6DQogICAgICAgICAgY2FwYWJpbGl0eTogdG9zY2EuY2FwYWJpbGl0aWVzLm5ldHdvcmsuTGlua2FibGUNCiAgICAgICAgICByZWxhdGlvbnNoaXA6IHRvc2NhLnJlbGF0aW9uc2hpcHMubmV0d29yay5MaW5rc1RvDQogICAgICAtIHZpcnR1YWxCaW5kaW5nOg0KICAgICAgICAgIGNhcGFiaWxpdHk6IHRvc2NhLmNhcGFiaWxpdGllcy5uZXR3b3JrLkJpbmRhYmxlDQogICAgICAgICAgcmVsYXRpb25zaGlwOiB0b3NjYS5yZWxhdGlvbnNoaXBzLm5ldHdvcmsuQmluZHNUbw0KICAgIGNhcGFiaWxpdGllczoNCiAgICAgIGF0dGFjaG1lbnQ6DQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5BdHRhY2htZW50DQogICAgICAgIG9jY3VycmVuY2VzOg0KICAgICAgICAtIDENCiAgICAgICAgLSBVTkJPVU5ERUQNCiAgICAgICAgdHlwZTogdG9zY2EuY2FwYWJpbGl0aWVzLm5ldHdvcmsuQmluZGFibGUNCiAgICAgICAgb2NjdXJyZW5jZXM6DQogICAgICAgIC0gMQ0KICAgICAgICAtIFVOQk9VTkRFRA0KICAgICAgdmlydHVhbF9saW5rYWJsZToNCiAgICAgICAgdHlwZTogY29tLmF0dC5kMi5jYXBhYmlsaXRpZXMuTWV0cmljDQogICAgICBlbmRfcG9pbnQ6DQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5FbmRwb2ludCAgICAgICA=";
538 artifactLabel = normalizeArtifactLabel(artifactName);
541 case DCAE_INVENTORY_POLICY:
542 case DCAE_INVENTORY_BLUEPRINT:
543 case DCAE_INVENTORY_EVENT: {
544 artifactName = getDcaeArtifactName(artifactTypeEnum, artifactType);
545 payloadData = "will be override later";
546 updatedPayloadData = "override";
548 artifactLabel = normalizeArtifactLabel(artifactName);
552 artifactName = artifactType + "org.openstack.Rally.zip";
553 payloadData = "ODM4MTRjNzkxZjcwYTlkMjk4ZGQ2ODE4MThmNjg0N2Y=";
554 updatedPayloadData = "ODM4MTRjNzkxZjcwYTlkMjk4ZGQ2ODE4MThmMTAwN2Y=";
558 artifactName = artifactType + "dcae_policy.emf";
559 payloadData = "will be override later";
560 updatedPayloadData = "override";
563 case DCAE_INVENTORY_JSON:
565 artifactName = artifactType + "dcae_policy.json";
566 payloadData = "ew0KICAiYXJ0aWZhY3RzIjogImRmc2FmIiwNCiAgIm5vcm1hbGl6ZWROYW1lIjogImNpc2VydmljZTBiYzY5ODk2OTQ4ZiIsDQogICJzeXN0ZW1OYW1lIjogIkNpc2VydmljZTBiYzY5ODk2OTQ4ZiIsDQogICJpbnZhcmlhbnRVVUlEIjogIjEzZmJkNzI3LWRjNzUtNDU1OS1iNzEyLWUwMjc5YmY4YTg2MSIsDQogICJhdHRDb250YWN0IjogImNzMDAwOCIsDQogICJuYW1lIjogImNpU2VydmljZTBiYzY5ODk2OTQ4ZiINCn0=";
567 updatedPayloadData = "ew0KICAiYXJ0aWZhY3RzIjogIjEyMzQzIiwNCiAgIm5vcm1hbGl6ZWROYW1lIjogIjU0MzUzNCIsDQogICJzeXN0ZW1OYW1lIjogIkNpc2VydmljZTBiYzY5ODk2OTQ4ZiIsDQogICJpbnZhcmlhbnRVVUlEIjogIjEzZmJkNzI3LWRjNzUtNDU1OS1iNzEyLWUwMjc5YmY4YTg2MSIsDQogICJhdHRDb250YWN0IjogImNzMDAwOCIsDQogICJuYW1lIjogImNpU2VydmljZTBiYzY5ODk2OTQ4ZiINCn0=";
574 artifactName = generateUUIDforSufix() + artifactType + "yangXml.xml";
575 payloadData = "PD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8ZGF0YT4NCiAgPHNwb3J0cz4NCiAgICA8cGVyc29uPg0KICAgICAgPG5hbWU+TGlvbmVsIEFuZHJlcyBNZXNzaTwvbmFtZT4NCiAgICAgIDxiaXJ0aGRheT4xOTg3LTA2LTI0VDAwOjAwOjAwLTAwOjAwPC9iaXJ0aGRheT4NCiAgICA8L3BlcnNvbj4NCiAgICA8cGVyc29uPg0KICAgICAgPG5hbWU+Q3Jpc3RpYW5vIFJvbmFsZG88L25hbWU+DQogICAgICA8YmlydGhkYXk+MTk4NS0wMi0wNVQwMDowMDowMC0wMDowMDwvYmlydGhkYXk+DQogICAgPC9wZXJzb24+DQogICAgPHRlYW0+DQogICAgICA8bmFtZT5GQyBCYXJjZWxvbmE8L25hbWU+DQogICAgICA8cGxheWVyPg0KICAgICAgICA8bmFtZT5MaW9uZWwgQW5kcmVzIE1lc3NpPC9uYW1lPg0KICAgICAgICA8c2Vhc29uPkNoYW1waW9ucyBMZWFndWUgMjAxNC0yMDE1PC9zZWFzb24+DQogICAgICAgIDxudW1iZXI+MTA8L251bWJlcj4NCiAgICAgICAgPHNjb3Jlcz40Mzwvc2NvcmVzPg0KICAgICAgPC9wbGF5ZXI+DQogICAgPC90ZWFtPg0KICAgIDx0ZWFtPg0KICAgICAgPG5hbWU+UmVhbCBNYWRyaWQ8L25hbWU+DQogICAgICA8cGxheWVyPg0KICAgICAgICA8bmFtZT5DcmlzdGlhbm8gUm9uYWxkbzwvbmFtZT4NCiAgICAgICAgPHNlYXNvbj5DaGFtcGlvbnMgTGVhZ3VlIDIwMTQtMjAxNTwvc2Vhc29uPg0KICAgICAgICA8bnVtYmVyPjc8L251bWJlcj4NCiAgICAgICAgPHNjb3Jlcz40ODwvc2NvcmVzPg0KICAgICAgPC9wbGF5ZXI+DQogICAgPC90ZWFtPg0KICA8L3Nwb3J0cz4NCg0KPC9kYXRhPg==";
576 updatedPayloadData = "PD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8ZGF0YT4NCiAgPHNwb3J0cz4NCiAgICA8cGVyc29uPg0KICAgICAgPG5hbWU+TGlvbmVsIEFuZHJlcyBNZXNzaTwvbmFtZT4NCiAgICAgIDxiaXJ0aGRheT4xOTkwLTA2LTI0VDAwOjAwOjAwLTAwOjExPC9iaXJ0aGRheT4NCiAgICA8L3BlcnNvbj4NCiAgICA8cGVyc29uPg0KICAgICAgPG5hbWU+Q3Jpc3RpYW5vIFJvbmFsZG88L25hbWU+DQogICAgICA8YmlydGhkYXk+MTk4NS0wMi0wNVQwMDowMDowMC0wMDowMDwvYmlydGhkYXk+DQogICAgPC9wZXJzb24+DQogICAgPHRlYW0+DQogICAgICA8bmFtZT5GQyBCYXJjZWxvbmE8L25hbWU+DQogICAgICA8cGxheWVyPg0KICAgICAgICA8bmFtZT5MaW9uZWwgQW5kcmVzIE1lc3NpPC9uYW1lPg0KICAgICAgICA8c2Vhc29uPkNoYW1waW9ucyBMZWFndWUgMjAxNC0yMDE1PC9zZWFzb24+DQogICAgICAgIDxudW1iZXI+MTA8L251bWJlcj4NCiAgICAgICAgPHNjb3Jlcz40Mzwvc2NvcmVzPg0KICAgICAgPC9wbGF5ZXI+DQogICAgPC90ZWFtPg0KICAgIDx0ZWFtPg0KICAgICAgPG5hbWU+UmVhbCBNYWRyaWQ8L25hbWU+DQogICAgICA8cGxheWVyPg0KICAgICAgICA8bmFtZT5DcmlzdGlhbm8gUm9uYWxkbzwvbmFtZT4NCiAgICAgICAgPHNlYXNvbj5DaGFtcGlvbnMgTGVhZ3VlIDIwMTQtMjAxNTwvc2Vhc29uPg0KICAgICAgICA8bnVtYmVyPjc8L251bWJlcj4NCiAgICAgICAgPHNjb3Jlcz40ODwvc2NvcmVzPg0KICAgICAgPC9wbGF5ZXI+DQogICAgPC90ZWFtPg0KICA8L3Nwb3J0cz4NCg0KPC9kYXRhPg==";
578 artifactLabel = normalizeArtifactLabel(artifactName);
583 case MODEL_INVENTORY_PROFILE:
584 case MODEL_QUERY_SPEC:
587 artifactName = generateUUIDforSufix() + artifactType + "yangXml.xml";
588 payloadData = "PD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8ZGF0YT4NCiAgPHNwb3J0cz4NCiAgICA8cGVyc29uPg0KICAgICAgPG5hbWU+TGlvbmVsIEFuZHJlcyBNZXNzaTwvbmFtZT4NCiAgICAgIDxiaXJ0aGRheT4xOTg3LTA2LTI0VDAwOjAwOjAwLTAwOjAwPC9iaXJ0aGRheT4NCiAgICA8L3BlcnNvbj4NCiAgICA8cGVyc29uPg0KICAgICAgPG5hbWU+Q3Jpc3RpYW5vIFJvbmFsZG88L25hbWU+DQogICAgICA8YmlydGhkYXk+MTk4NS0wMi0wNVQwMDowMDowMC0wMDowMDwvYmlydGhkYXk+DQogICAgPC9wZXJzb24+DQogICAgPHRlYW0+DQogICAgICA8bmFtZT5GQyBCYXJjZWxvbmE8L25hbWU+DQogICAgICA8cGxheWVyPg0KICAgICAgICA8bmFtZT5MaW9uZWwgQW5kcmVzIE1lc3NpPC9uYW1lPg0KICAgICAgICA8c2Vhc29uPkNoYW1waW9ucyBMZWFndWUgMjAxNC0yMDE1PC9zZWFzb24+DQogICAgICAgIDxudW1iZXI+MTA8L251bWJlcj4NCiAgICAgICAgPHNjb3Jlcz40Mzwvc2NvcmVzPg0KICAgICAgPC9wbGF5ZXI+DQogICAgPC90ZWFtPg0KICAgIDx0ZWFtPg0KICAgICAgPG5hbWU+UmVhbCBNYWRyaWQ8L25hbWU+DQogICAgICA8cGxheWVyPg0KICAgICAgICA8bmFtZT5DcmlzdGlhbm8gUm9uYWxkbzwvbmFtZT4NCiAgICAgICAgPHNlYXNvbj5DaGFtcGlvbnMgTGVhZ3VlIDIwMTQtMjAxNTwvc2Vhc29uPg0KICAgICAgICA8bnVtYmVyPjc8L251bWJlcj4NCiAgICAgICAgPHNjb3Jlcz40ODwvc2NvcmVzPg0KICAgICAgPC9wbGF5ZXI+DQogICAgPC90ZWFtPg0KICA8L3Nwb3J0cz4NCg0KPC9kYXRhPg==";
589 updatedPayloadData = "PD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8ZGF0YT4NCiAgPHNwb3J0cz4NCiAgICA8cGVyc29uPg0KICAgICAgPG5hbWU+TGlvbmVsIEFuZHJlcyBNZXNzaTwvbmFtZT4NCiAgICAgIDxiaXJ0aGRheT4xOTkwLTA2LTI0VDAwOjAwOjAwLTAwOjExPC9iaXJ0aGRheT4NCiAgICA8L3BlcnNvbj4NCiAgICA8cGVyc29uPg0KICAgICAgPG5hbWU+Q3Jpc3RpYW5vIFJvbmFsZG88L25hbWU+DQogICAgICA8YmlydGhkYXk+MTk4NS0wMi0wNVQwMDowMDowMC0wMDowMDwvYmlydGhkYXk+DQogICAgPC9wZXJzb24+DQogICAgPHRlYW0+DQogICAgICA8bmFtZT5GQyBCYXJjZWxvbmE8L25hbWU+DQogICAgICA8cGxheWVyPg0KICAgICAgICA8bmFtZT5MaW9uZWwgQW5kcmVzIE1lc3NpPC9uYW1lPg0KICAgICAgICA8c2Vhc29uPkNoYW1waW9ucyBMZWFndWUgMjAxNC0yMDE1PC9zZWFzb24+DQogICAgICAgIDxudW1iZXI+MTA8L251bWJlcj4NCiAgICAgICAgPHNjb3Jlcz40Mzwvc2NvcmVzPg0KICAgICAgPC9wbGF5ZXI+DQogICAgPC90ZWFtPg0KICAgIDx0ZWFtPg0KICAgICAgPG5hbWU+UmVhbCBNYWRyaWQ8L25hbWU+DQogICAgICA8cGxheWVyPg0KICAgICAgICA8bmFtZT5DcmlzdGlhbm8gUm9uYWxkbzwvbmFtZT4NCiAgICAgICAgPHNlYXNvbj5DaGFtcGlvbnMgTGVhZ3VlIDIwMTQtMjAxNTwvc2Vhc29uPg0KICAgICAgICA8bnVtYmVyPjc8L251bWJlcj4NCiAgICAgICAgPHNjb3Jlcz40ODwvc2NvcmVzPg0KICAgICAgPC9wbGF5ZXI+DQogICAgPC90ZWFtPg0KICA8L3Nwb3J0cz4NCg0KPC9kYXRhPg==";
591 artifactLabel = normalizeArtifactLabel(artifactName);
596 case DCAE_INVENTORY_DOC:
599 artifactName = generateUUIDforSufix() + artifactType + "other.pdf";
600 payloadData = "aGVhdF90ZW1wbGF0ZV92ZXJzaW9uOiAyMDEzLTA1LTIzDQoNCmRlc2NyaXB0aW9uOiBTaW1wbGUgdGVtcGxhdGUgdG8gZGVwbG95IGEgc3RhY2sgd2l0aCB0d28gdmlydHVhbCBtYWNoaW5lIGluc3RhbmNlcw0KDQpwYXJhbWV0ZXJzOg0KICBpbWFnZV9uYW1lXzE6DQogICAgdHlwZTogc3RyaW5nDQogICAgbGFiZWw6IEltYWdlIE5hbWUNCiAgICBkZXNjcmlwdGlvbjogU0NPSU1BR0UgU3BlY2lmeSBhbiBpbWFnZSBuYW1lIGZvciBpbnN0YW5jZTENCiAgICBkZWZhdWx0OiBjaXJyb3MtMC4zLjEteDg2XzY0DQogIGltYWdlX25hbWVfMjoNCiAgICB0eXBlOiBzdHJpbmcNCiAgICBsYWJlbDogSW1hZ2UgTmFtZQ0KICAgIGRlc2NyaXB0aW9uOiBTQ09JTUFHRSBTcGVjaWZ5IGFuIGltYWdlIG5hbWUgZm9yIGluc3RhbmNlMg0KICAgIGRlZmF1bHQ6IGNpcnJvcy0wLjMuMS14ODZfNjQNCiAgbmV0d29ya19pZDoNCiAgICB0eXBlOiBzdHJpbmcNCiAgICBsYWJlbDogTmV0d29yayBJRA0KICAgIGRlc2NyaXB0aW9uOiBTQ09ORVRXT1JLIE5ldHdvcmsgdG8gYmUgdXNlZCBmb3IgdGhlIGNvbXB1dGUgaW5zdGFuY2UNCiAgICBoaWRkZW46IHRydWUNCiAgICBjb25zdHJhaW50czoNCiAgICAgIC0gbGVuZ3RoOiB7IG1pbjogNiwgbWF4OiA4IH0NCiAgICAgICAgZGVzY3JpcHRpb246IFBhc3N3b3JkIGxlbmd0aCBtdXN0IGJlIGJldHdlZW4gNiBhbmQgOCBjaGFyYWN0ZXJzLg0KICAgICAgLSByYW5nZTogeyBtaW46IDYsIG1heDogOCB9DQogICAgICAgIGRlc2NyaXB0aW9uOiBSYW5nZSBkZXNjcmlwdGlvbg0KICAgICAgLSBhbGxvd2VkX3ZhbHVlczoNCiAgICAgICAgLSBtMS5zbWFsbA0KICAgICAgICAtIG0xLm1lZGl1bQ0KICAgICAgICAtIG0xLmxhcmdlDQogICAgICAgIGRlc2NyaXB0aW9uOiBBbGxvd2VkIHZhbHVlcyBkZXNjcmlwdGlvbg0KICAgICAgLSBhbGxvd2VkX3BhdHRlcm46ICJbYS16QS1aMC05XSsiDQogICAgICAgIGRlc2NyaXB0aW9uOiBQYXNzd29yZCBtdXN0IGNvbnNpc3Qgb2YgY2hhcmFjdGVycyBhbmQgbnVtYmVycyBvbmx5Lg0KICAgICAgLSBhbGxvd2VkX3BhdHRlcm46ICJbQS1aXStbYS16QS1aMC05XSoiDQogICAgICAgIGRlc2NyaXB0aW9uOiBQYXNzd29yZCBtdXN0IHN0YXJ0IHdpdGggYW4gdXBwZXJjYXNlIGNoYXJhY3Rlci4NCiAgICAgIC0gY3VzdG9tX2NvbnN0cmFpbnQ6IG5vdmEua2V5cGFpcg0KICAgICAgICBkZXNjcmlwdGlvbjogQ3VzdG9tIGRlc2NyaXB0aW9uDQoNCnJlc291cmNlczoNCiAgbXlfaW5zdGFuY2UxOg0KICAgIHR5cGU6IE9TOjpOb3ZhOjpTZXJ2ZXINCiAgICBwcm9wZXJ0aWVzOg0KICAgICAgaW1hZ2U6IHsgZ2V0X3BhcmFtOiBpbWFnZV9uYW1lXzEgfQ0KICAgICAgZmxhdm9yOiBtMS5zbWFsbA0KICAgICAgbmV0d29ya3M6DQogICAgICAgIC0gbmV0d29yayA6IHsgZ2V0X3BhcmFtIDogbmV0d29ya19pZCB9DQogIG15X2luc3RhbmNlMjoNCiAgICB0eXBlOiBPUzo6Tm92YTo6U2VydmVyDQogICAgcHJvcGVydGllczoNCiAgICAgIGltYWdlOiB7IGdldF9wYXJhbTogaW1hZ2VfbmFtZV8yIH0NCiAgICAgIGZsYXZvcjogbTEudGlueQ0KICAgICAgbmV0d29ya3M6DQogICAgICAgIC0gbmV0d29yayA6IHsgZ2V0X3BhcmFtIDogbmV0d29ya19pZCB9";
601 updatedPayloadData = "aGVhdF90ZW1wbGF0ZV92ZXJzaW9uOiAyMDE2LTA1LTIzDQoNCmRlc2NyaXB0aW9uOiBTaW1wbGUgdGVtcGxhdGRzYWRzYWRzYWUgdG8gZGVwbG95IGEgc3RhY2sgd2l0aCB0d28gdmlydHVhbCBtYWNoaW5lIGluc3RhbmNlcw0KDQpwYXJhbWV0ZXJzOg0KICBpbWFnZV9uYW1lXzE6DQogICAgdHlwZTogc3RyaW5nDQogICAgbGFiZWw6IEltYWdlIE5hbWUNCiAgICBkZXNjcmlwdGlvbjogU0NPSU1BR0UgU3BlY2lmeSBhbiBpbWFkc2FkYXN3Z2UgbmFtZSBmb3IgaW5zdGFuY2UxDQogICAgZGVmYXVsdDogY2lycm9zLTAuMy4xLXg4Nl82NA0KICBpbWFnZV9uYW1lXzI6DQogICAgdHlwZTogc3RyaW5nDQogICAgbGFiZWw6IEltYWdlIE5hbWUNCiAgICBkZXNjcmlwdGlvbjogU0NPSU1BR0UgU3BlY2lmeSBhbiBpbWFnZSBuYW1lIGZvciBpbnN0YW5jZTINCiAgICBkZWZhdWx0OiBjaXJyb3MtMC4zLjEteDg2XzY0DQogIG5ldHdvcmtfaWQ6DQogICAgdHlwZTogc3RyaW5nDQogICAgbGFiZWw6IE5ldHdvcmsgSUQNCiAgICBkZXNjcmlwdGlvbjogU0NPTkVUV09SSyBOZXR3b3JrIHRvIGJlIHVzZWQgZm9yIHRoZSBjb21wdXRlIGluc3RhbmNlDQogICAgaGlkZGVuOiB0cnVlDQogICAgY29uc3RyYWludHM6DQogICAgICAtIGxlbmd0aDogeyBtaW46IDYsIG1heDogOCB9DQogICAgICAgIGRlc2NyaXB0aW9uOiBQYXNzd29yZCBsZW5ndGggbXVzdCBiZSBiZXR3ZWVuIDYgYW5kIDggY2hhcmFjdGVycy4NCiAgICAgIC0gcmFuZ2U6IHsgbWluOiA2LCBtYXg6IDggfQ0KICAgICAgICBkZXNjcmlwdGlvbjogUmFuZ2UgZGVzY3JpcHRpb24NCiAgICAgIC0gYWxsb3dlZF92YWx1ZXM6DQogICAgICAgIC0gbTEuc21hbGwNCiAgICAgICAgLSBtMS5tZWRpdW0NCiAgICAgICAgLSBtMS5sYXJnZQ0KICAgICAgICBkZXNjcmlwdGlvbjogQWxsb3dlZCB2YWx1ZXMgZGVzY3JpcHRpb24NCiAgICAgIC0gYWxsb3dlZF9wYXR0ZXJuOiAiW2EtekEtWjAtOV0rIg0KICAgICAgICBkZXNjcmlwdGlvbjogUGFzc3dvcmQgbXVzdCBjb25zaXN0IG9mIGNoYXJhY3RlcnMgYW5kIG51bWJlcnMgb25seS4NCiAgICAgIC0gYWxsb3dlZF9wYXR0ZXJuOiAiW0EtWl0rW2EtekEtWjAtOV0qIg0KICAgICAgICBkZXNjcmlwdGlvbjogUGFzc3dvcmQgbXVzdCBzdGFydCB3aXRoIGFuIHVwcGVyY2FzZSBjaGFyYWN0ZXIuDQogICAgICAtIGN1c3RvbV9jb25zdHJhaW50OiBub3ZhLmtleXBhaXINCiAgICAgICAgZGVzY3JpcHRpb246IEN1c3RvbSBkZXNjcmlwdGlvbg0KDQpyZXNvdXJjZXM6DQogIG15X2luc3RhbmNlMToNCiAgICB0eXBlOiBPUzo6Tm92YTo6U2VydmVyDQogICAgcHJvcGVydGllczoNCiAgICAgIGltYWdlOiB7IGdldF9wYXJhbTogaW1hZ2VfbmFtZV8xIH0NCiAgICAgIGZsYXZvcjogbTEuc21hbGwNCiAgICAgIG5ldHdvcmtzOg0KICAgICAgICAtIG5ldHdvcmsgOiB7IGdldF9wYXJhbSA6IG5ldHdvcmtfaWQgfQ0KICBteV9pbnN0YW5jZTI6DQogICAgdHlwZTogT1M6Ok5vdmE6OlNlcnZlcg0KICAgIHByb3BlcnRpZXM6DQogICAgICBpbWFnZTogeyBnZXRfcGFyYW06IGltYWdlX25hbWVfMiB9DQogICAgICBmbGF2b3I6IG0xLnRpbnkNCiAgICAgIG5ldHdvcmtzOg0KICAgICAgICAtIG5ldHdvcmsgOiB7IGdldF9wYXJhbSA6IG5ldHdvcmtfaWQgfQ";
603 artifactLabel = normalizeArtifactLabel(artifactName);
608 artifactName = generateUUIDforSufix() + "testArtifact.sh";
609 payloadData = "dGVzdA==";
610 updatedPayloadData = "YmVzYg==";
611 artifactLabel = normalizeArtifactLabel(artifactName);
615 artifactLabel = normalizeArtifactLabel("ci" + artifactName);
617 ArtifactReqDetails artifactDetails = null;
619 if (!updatedPayload){
620 artifactDetails = new ArtifactReqDetails(artifactName, artifactType, artifactDescription, payloadData, artifactLabel);
622 else artifactDetails = new ArtifactReqDetails(artifactName, artifactType, artifactDescription,
623 updatedPayloadData, artifactLabel);
625 artifactDetails.setArtifactGroupType(ArtifactGroupTypeEnum.DEPLOYMENT.getType());
626 artifactDetails.setUrl(url);
627 artifactDetails.setTimeout(timeout);
628 artifactDetails.setArtifactDisplayName(artifactLabel);
629 return artifactDetails;
632 private static String getDcaeArtifactName(ArtifactTypeEnum artifactTypeEnum, String artifactType) {
633 String artifactName = null;
634 switch (artifactTypeEnum) {
635 case DCAE_INVENTORY_TOSCA: {
636 artifactName = generateUUIDforSufix() + artifactType + "_toscaSampleArtifact.yml";
639 case DCAE_INVENTORY_JSON: {
640 artifactName = generateUUIDforSufix() + artifactType + "_jsonSampleArtifact.json";
643 case DCAE_INVENTORY_POLICY: {
644 artifactName = generateUUIDforSufix() + artifactType + "_emfSampleArtifact.emf";
647 case DCAE_INVENTORY_DOC: {
648 artifactName = generateUUIDforSufix() + artifactType + "_docSampleArtifact.doc";
651 case DCAE_INVENTORY_BLUEPRINT: {
652 artifactName = generateUUIDforSufix() + artifactType + "_bluePrintSampleArtifact.xml";
655 case DCAE_INVENTORY_EVENT: {
656 artifactName = generateUUIDforSufix() + artifactType + "_eventSampleArtifact.xml";
663 // ---------------------Audit message------------------
664 public static ExpectedResourceAuditJavaObject getDefaultImportResourceAuditMsgSuccess() {
666 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject();
667 expectedResourceAuditJavaObject.setAction(AuditingActionEnum.IMPORT_RESOURCE.getName());
668 expectedResourceAuditJavaObject.setResourceName("defaultImportResourceName.yaml");
669 expectedResourceAuditJavaObject.setResourceType("Resource");
670 expectedResourceAuditJavaObject.setPrevVersion("");
671 expectedResourceAuditJavaObject.setCurrVersion("0.1");
672 expectedResourceAuditJavaObject.setModifierName(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getFullName());
673 expectedResourceAuditJavaObject.setModifierUid(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getUserId());
674 expectedResourceAuditJavaObject.setPrevState("");
675 expectedResourceAuditJavaObject.setCurrState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.toString());
676 expectedResourceAuditJavaObject.setStatus("201");
677 expectedResourceAuditJavaObject.setDesc("OK");
678 expectedResourceAuditJavaObject.setToscaNodeType("");
679 return expectedResourceAuditJavaObject;
683 public static ExpectedResourceAuditJavaObject getDefaultImportResourceAuditMsgFailure(ErrorInfo errorInfo, List<String> variables) {
685 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject();
686 expectedResourceAuditJavaObject.setAction(AuditingActionEnum.IMPORT_RESOURCE.getName());
687 expectedResourceAuditJavaObject.setResourceName("");
688 expectedResourceAuditJavaObject.setResourceType("Resource");
689 expectedResourceAuditJavaObject.setPrevVersion("");
690 expectedResourceAuditJavaObject.setCurrVersion("");
691 expectedResourceAuditJavaObject.setModifierName(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getFullName());
692 expectedResourceAuditJavaObject.setModifierUid(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getUserId());
693 expectedResourceAuditJavaObject.setPrevState("");
694 expectedResourceAuditJavaObject.setCurrState("");
695 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
696 expectedResourceAuditJavaObject.setDesc(AuditValidationUtils.buildAuditDescription(errorInfo, variables));
697 expectedResourceAuditJavaObject.setToscaNodeType("");
698 return expectedResourceAuditJavaObject;
702 public static ExpectedResourceAuditJavaObject getDefaultCertificationRequestAuditMsgSuccess() {
704 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject();
705 expectedResourceAuditJavaObject.setAction(AuditingActionEnum.CERTIFICATION_REQUEST_RESOURCE.getName());
706 expectedResourceAuditJavaObject.setResourceName("defaultResourceName");
707 expectedResourceAuditJavaObject.setResourceType("Resource");
708 expectedResourceAuditJavaObject.setPrevVersion("");
709 expectedResourceAuditJavaObject.setCurrVersion("0.1");
710 expectedResourceAuditJavaObject.setModifierName(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getFullName());
711 expectedResourceAuditJavaObject.setModifierUid(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getUserId());
712 expectedResourceAuditJavaObject.setPrevState("");
713 expectedResourceAuditJavaObject.setCurrState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.toString());
714 expectedResourceAuditJavaObject.setStatus("200");
715 expectedResourceAuditJavaObject.setDesc("OK");
716 expectedResourceAuditJavaObject.setComment("");
717 return expectedResourceAuditJavaObject;
721 public static ExpectedResourceAuditJavaObject getDefaultCertificationRequestAuditMsgFailure(ErrorInfo errorInfo, List<String> variables) {
723 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject();
724 expectedResourceAuditJavaObject.setAction(AuditingActionEnum.CERTIFICATION_REQUEST_RESOURCE.getName());
725 expectedResourceAuditJavaObject.setResourceName("");
726 expectedResourceAuditJavaObject.setResourceType("Resource");
727 expectedResourceAuditJavaObject.setPrevVersion("0.1");
728 expectedResourceAuditJavaObject.setCurrVersion("0.1");
729 expectedResourceAuditJavaObject.setModifierName(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getFullName());
730 expectedResourceAuditJavaObject.setModifierUid(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getUserId());
731 expectedResourceAuditJavaObject.setPrevState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.toString());
732 expectedResourceAuditJavaObject.setCurrState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.toString());
733 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
734 expectedResourceAuditJavaObject.setDesc(AuditValidationUtils.buildAuditDescription(errorInfo, variables));
735 expectedResourceAuditJavaObject.setComment("");
736 return expectedResourceAuditJavaObject;
740 public static ExpectedExternalAudit getDefaultExternalAuditObject(AssetTypeEnum assetType, AuditingActionEnum action, String query) {
742 ExpectedExternalAudit expectedExternalAudit = new ExpectedExternalAudit();
743 expectedExternalAudit.setACTION(action.getName());
744 expectedExternalAudit.setCONSUMER_ID("ci");
745 expectedExternalAudit.setRESOURCE_URL("/sdc/v1/catalog/" + assetType.getValue() + (query == null ? "" : query));
746 expectedExternalAudit.setSTATUS("200");
747 expectedExternalAudit.setDESC("OK");
748 return expectedExternalAudit;
752 public static ExpectedExternalAudit getDefaultAssetListAudit(AssetTypeEnum assetType, AuditingActionEnum auditAction) {
754 // ExpectedExternalAudit expectedAssetListAuditJavaObject = new
755 // ExpectedExternalAudit();
756 ExpectedExternalAudit expectedAssetListAuditJavaObject = getDefaultExternalAuditObject(assetType, auditAction, null);
757 return expectedAssetListAuditJavaObject;
761 public static ExpectedExternalAudit getDefaultFilteredAssetListAudit(AssetTypeEnum assetType, String query) {
763 // ExpectedExternalAudit expectedAssetListAuditJavaObject = new
764 // ExpectedExternalAudit();
765 ExpectedExternalAudit expectedAssetListAuditJavaObject = getDefaultExternalAuditObject(assetType, AuditingActionEnum.GET_FILTERED_ASSET_LIST, query);
766 return expectedAssetListAuditJavaObject;
770 public static ExpectedExternalAudit getDefaultExternalArtifactAuditSuccess(AssetTypeEnum assetType, AuditingActionEnum action, ArtifactDefinition artifactDefinition, String componentUUID) {
772 // ExpectedExternalAudit expectedExternalArtifactAudit = new
773 // ExpectedExternalAudit();
775 ExpectedExternalAudit expectedExternalArtifactAudit = getDefaultExternalAuditObject(assetType, action, null);
776 expectedExternalArtifactAudit.setMODIFIER(AuditValidationUtils.getModifierString(artifactDefinition.getUpdaterFullName(), artifactDefinition.getUserIdLastUpdater()));
777 expectedExternalArtifactAudit.setPREV_ARTIFACT_UUID("");
778 expectedExternalArtifactAudit.setCURR_ARTIFACT_UUID(artifactDefinition.getArtifactUUID());
779 expectedExternalArtifactAudit.setARTIFACT_DATA(AuditValidationUtils.buildArtifactDataAudit(artifactDefinition));
780 expectedExternalArtifactAudit.setRESOURCE_URL(expectedExternalArtifactAudit.getRESOURCE_URL() + "/" + componentUUID + "/artifacts");
781 return expectedExternalArtifactAudit;
785 public static ExpectedExternalAudit getDefaultExternalArtifactAuditSuccess(AssetTypeEnum assetType, AuditingActionEnum action, ArtifactDefinition artifactDefinition, Component component) {
787 //ExpectedExternalAudit expectedExternalArtifactAudit = new ExpectedExternalAudit();
789 ExpectedExternalAudit expectedExternalArtifactAudit = getDefaultExternalAuditObject(assetType, action, null);
790 expectedExternalArtifactAudit.setMODIFIER(AuditValidationUtils.getModifierString(artifactDefinition.getUpdaterFullName(), artifactDefinition.getUserIdLastUpdater()));
791 expectedExternalArtifactAudit.setPREV_ARTIFACT_UUID("");
792 expectedExternalArtifactAudit.setCURR_ARTIFACT_UUID(artifactDefinition.getArtifactUUID());
793 expectedExternalArtifactAudit.setARTIFACT_DATA(AuditValidationUtils.buildArtifactDataAudit(artifactDefinition));
794 expectedExternalArtifactAudit.setRESOURCE_URL(expectedExternalArtifactAudit.getRESOURCE_URL() + "/" + component.getUUID() + "/artifacts");
795 expectedExternalArtifactAudit.setRESOURCE_NAME(component.getName());
796 expectedExternalArtifactAudit.setRESOURCE_TYPE(component.getComponentType().getValue());
797 return expectedExternalArtifactAudit;
801 public static ExpectedResourceAuditJavaObject getDefaultCreateResourceExternalAPI(String resourceName) {
803 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject();
804 expectedResourceAuditJavaObject.setAction(AuditingActionEnum.CREATE_RESOURCE_BY_API.getName());
805 expectedResourceAuditJavaObject.setResourceName(resourceName);
806 expectedResourceAuditJavaObject.setResourceType("Resource");
807 expectedResourceAuditJavaObject.setCONSUMER_ID("ci");
808 expectedResourceAuditJavaObject.setRESOURCE_URL("/sdc/v1/catalog/resources");
809 expectedResourceAuditJavaObject.setMODIFIER("");
810 expectedResourceAuditJavaObject.setPrevVersion("");
811 expectedResourceAuditJavaObject.setCurrVersion("0.1");
812 expectedResourceAuditJavaObject.setPrevState("");
813 expectedResourceAuditJavaObject.setCurrState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.toString());
814 expectedResourceAuditJavaObject.setStatus("201");
815 expectedResourceAuditJavaObject.setDesc("OK");
817 return expectedResourceAuditJavaObject;
822 public static ExpectedResourceAuditJavaObject getDefaultChangeAssetLifeCycleExternalAPI(Component resourceAssetStructure, User defaultUser, LifeCycleStatesEnum lifecycleStateEnum, AssetTypeEnum assetTypeEnum) {
824 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject();
825 expectedResourceAuditJavaObject.setAction(AuditingActionEnum.CHANGE_LIFECYCLE_BY_API.getName());
826 expectedResourceAuditJavaObject.setResourceName(resourceAssetStructure.getName());
827 expectedResourceAuditJavaObject.setResourceType(assetTypeEnum.getCorrespondingComponent());
828 expectedResourceAuditJavaObject.setCONSUMER_ID("ci");
829 expectedResourceAuditJavaObject.setRESOURCE_URL(String.format("/sdc/v1/catalog/%s/%s/lifecycleState/%s", assetTypeEnum.getValue().toLowerCase(), resourceAssetStructure.getUUID(), lifecycleStateEnum.getState()));
830 expectedResourceAuditJavaObject.setMODIFIER(defaultUser.getFullName() + "(" + defaultUser.getUserId() + ")");
831 expectedResourceAuditJavaObject.setPrevVersion("0.1");
832 expectedResourceAuditJavaObject.setCurrVersion("0.1");
833 expectedResourceAuditJavaObject.setPrevState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.toString());
834 expectedResourceAuditJavaObject.setCurrState(LifecycleStateEnum.NOT_CERTIFIED_CHECKIN.toString());
835 // TODO: Remove comment
836 // expectedResourceAuditJavaObject.setINVARIANT_UUID(resourceAssetStructure.getInvariantUUID());
837 // TODO: SERVICE_INSTANCE_ID
838 expectedResourceAuditJavaObject.setStatus("201");
839 expectedResourceAuditJavaObject.setDesc("OK");
841 return expectedResourceAuditJavaObject;
845 public static ExpectedResourceAuditJavaObject getDefaultInvalidChangeAssetLifeCycleExternalAPI(String assetUUID, User defaultUser, LifeCycleStatesEnum lifecycleStateEnum, AssetTypeEnum assetTypeEnum) {
847 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject();
848 expectedResourceAuditJavaObject.setAction(AuditingActionEnum.CHANGE_LIFECYCLE_BY_API.getName());
849 expectedResourceAuditJavaObject.setResourceName("");
850 expectedResourceAuditJavaObject.setResourceType(assetTypeEnum.getCorrespondingComponent());
851 expectedResourceAuditJavaObject.setCONSUMER_ID("ci");
852 expectedResourceAuditJavaObject.setRESOURCE_URL(String.format("/sdc/v1/catalog/%s/%s/lifecycleState/%s", assetTypeEnum.getValue().toLowerCase(), assetUUID, lifecycleStateEnum.getState()));
853 expectedResourceAuditJavaObject.setMODIFIER("");
854 expectedResourceAuditJavaObject.setMODIFIER(defaultUser.getFullName() + "(" + defaultUser.getUserId() + ")");
855 expectedResourceAuditJavaObject.setPrevVersion("");
856 expectedResourceAuditJavaObject.setCurrVersion("");
857 expectedResourceAuditJavaObject.setPrevState("");
858 expectedResourceAuditJavaObject.setCurrState("");
859 expectedResourceAuditJavaObject.setStatus("404");
860 expectedResourceAuditJavaObject.setDesc("OK");
862 return expectedResourceAuditJavaObject;
866 public static ExpectedExternalAudit getDefaultExternalArtifactAuditSuccess(AssetTypeEnum assetType, AuditingActionEnum action, ArtifactDefinition artifactDefinition, String componentUUID, String resourceInstanceName) {
868 ExpectedExternalAudit expectedExternalArtifactAudit = getDefaultExternalArtifactAuditSuccess(assetType, action, artifactDefinition, componentUUID);
869 expectedExternalArtifactAudit.setRESOURCE_URL("/sdc/v1/catalog/" + assetType.getValue() + "/" + componentUUID + "/resourceInstances/" + resourceInstanceName + "/artifacts");
870 return expectedExternalArtifactAudit;
873 public static ExpectedExternalAudit getDefaultExternalArtifactAuditFailure(AssetTypeEnum assetType, AuditingActionEnum action, ArtifactDefinition artifactDefinition, String componentUUID, ErrorInfo errorInfo, List<String> variables) {
875 // ExpectedExternalAudit expectedExternalArtifactAudit = new
876 // ExpectedExternalAudit();
878 ExpectedExternalAudit expectedExternalArtifactAudit = getDefaultExternalAuditObject(assetType, action, null);
879 expectedExternalArtifactAudit.setMODIFIER(AuditValidationUtils.getModifierString(artifactDefinition.getUpdaterFullName(), artifactDefinition.getUserIdLastUpdater()));
880 expectedExternalArtifactAudit.setPREV_ARTIFACT_UUID("");
881 expectedExternalArtifactAudit.setCURR_ARTIFACT_UUID(artifactDefinition.getArtifactUUID());
882 expectedExternalArtifactAudit.setARTIFACT_DATA(AuditValidationUtils.buildArtifactDataAudit(artifactDefinition));
883 expectedExternalArtifactAudit.setRESOURCE_URL(expectedExternalArtifactAudit.getRESOURCE_URL() + "/" + componentUUID + "/artifacts");
884 expectedExternalArtifactAudit.setSTATUS(errorInfo.getCode().toString());
885 expectedExternalArtifactAudit.setDESC(AuditValidationUtils.buildAuditDescription(errorInfo, variables));
886 return expectedExternalArtifactAudit;
890 public static ExpectedExternalAudit getDefaultExternalArtifactAuditFailure(AssetTypeEnum assetType, AuditingActionEnum action, ArtifactDefinition artifactDefinition, String componentUUID, ErrorInfo errorInfo, List<String> variables,
891 String resourceInstanceName) {
893 ExpectedExternalAudit expectedExternalArtifactAudit = getDefaultExternalArtifactAuditFailure(assetType, action, artifactDefinition, componentUUID, errorInfo, variables);
894 expectedExternalArtifactAudit.setRESOURCE_URL("/sdc/v1/catalog/" + assetType.getValue() + "/" + componentUUID + "/resourceInstances/" + resourceInstanceName + "/artifacts");
895 return expectedExternalArtifactAudit;
898 public static ExpectedExternalAudit getFilteredAssetListAuditCategoryNotFound(AssetTypeEnum assetType, String query, String category) {
900 // ExpectedExternalAudit expectedAssetListAuditJavaObject = new
901 // ExpectedExternalAudit();
902 ExpectedExternalAudit expectedAssetListAuditJavaObject = getDefaultExternalAuditObject(assetType, AuditingActionEnum.GET_FILTERED_ASSET_LIST, query);
903 expectedAssetListAuditJavaObject.setSTATUS("404");
904 ErrorInfo errorInfo = null;
906 errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.COMPONENT_CATEGORY_NOT_FOUND.name());
907 } catch (FileNotFoundException e) {
910 String desc = (errorInfo.getMessageId() + ": " + errorInfo.getMessage()).replace("%2", "category").replace("%3", category).replace("%1", "resource");
911 expectedAssetListAuditJavaObject.setDESC(desc);
913 return expectedAssetListAuditJavaObject;
917 public static ExpectedExternalAudit getDefaultAssetMetadataAudit(AssetTypeEnum assetType, Component component) {
919 ExpectedExternalAudit expectedAssetListAuditJavaObject = new ExpectedExternalAudit();
920 expectedAssetListAuditJavaObject = getDefaultExternalAuditObject(assetType, AuditingActionEnum.GET_ASSET_METADATA, null);
921 expectedAssetListAuditJavaObject.setRESOURCE_URL(expectedAssetListAuditJavaObject.getRESOURCE_URL() + "/" + component.getUUID() + "/metadata");
922 expectedAssetListAuditJavaObject.setRESOURCE_NAME(component.getName());
923 expectedAssetListAuditJavaObject.setRESOURCE_TYPE(component.getComponentType().getValue());
924 expectedAssetListAuditJavaObject.setSERVICE_INSTANCE_ID(component.getUUID());
925 return expectedAssetListAuditJavaObject;
929 public static ExpectedExternalAudit getDefaultAssetMetadataAuditFailure(AssetTypeEnum assetType, String serviceUuid, String resourceType) {
931 ExpectedExternalAudit expectedAssetListAuditJavaObject = new ExpectedExternalAudit();
932 expectedAssetListAuditJavaObject = getDefaultExternalAuditObject(assetType, AuditingActionEnum.GET_ASSET_METADATA, null);
933 expectedAssetListAuditJavaObject.setSTATUS("404");
934 expectedAssetListAuditJavaObject.setDESC("OK");
935 expectedAssetListAuditJavaObject.setRESOURCE_URL(expectedAssetListAuditJavaObject.getRESOURCE_URL() + "/" + serviceUuid + "/metadata");
936 expectedAssetListAuditJavaObject.setRESOURCE_TYPE(resourceType);
937 expectedAssetListAuditJavaObject.setSERVICE_INSTANCE_ID(serviceUuid);
938 return expectedAssetListAuditJavaObject;
942 // Category/Subcategory/Group
943 public static CategoryDefinition getDefaultCategory() {
944 CategoryDefinition productCategoryDefinition = new CategoryDefinition();
945 productCategoryDefinition.setName("CiCateg" + generateUUIDforSufix());
946 return productCategoryDefinition;
949 public static SubCategoryDefinition getDefaultSubCategory() {
950 SubCategoryDefinition productSubCategoryDefinition = new SubCategoryDefinition();
951 productSubCategoryDefinition.setName("CiSubCateg" + generateUUIDforSufix());
952 return productSubCategoryDefinition;
955 public static GroupingDefinition getDefaultGroup() {
956 GroupingDefinition productGroupDefinition = new GroupingDefinition();
957 productGroupDefinition.setName("CiGrouping1" + generateUUIDforSufix());
958 return productGroupDefinition;
963 public static ProductReqDetails getDefaultProduct() {
964 return createDefaultProductReqDetails(CI_PRODUCT, null);
967 public static ProductReqDetails getDefaultProduct(String name) {
968 return createDefaultProductReqDetails(name, null);
971 public static ProductReqDetails getDefaultProduct(CategoryDefinition category) {
972 List<CategoryDefinition> categories = new ArrayList<>();
973 categories.add(category);
974 return createDefaultProductReqDetails(CI_PRODUCT, categories);
977 public static ProductReqDetails getDefaultProduct(String name, CategoryDefinition category) {
978 List<CategoryDefinition> categories = new ArrayList<>();
979 categories.add(category);
980 return createDefaultProductReqDetails(name, categories);
983 public static ProductReqDetails getDefaultProduct(List<CategoryDefinition> categories) {
984 return createDefaultProductReqDetails(CI_PRODUCT, categories);
987 public static ProductReqDetails getDefaultProduct(String name, List<CategoryDefinition> categories) {
988 return createDefaultProductReqDetails(name, categories);
991 private static ProductReqDetails createDefaultProductReqDetails(String productName, List<CategoryDefinition> categories) {
992 ProductReqDetails product = new ProductReqDetails(productName);
993 productName = (productName + generateUUIDforSufix());
994 product.setName(productName);
995 ArrayList<String> tags = new ArrayList<>();
996 tags.add(productName);
997 product.setTags(tags);
998 product.setProjectCode("12345");
999 product.setIcon("myIcon");
1000 ArrayList<String> contacts = new ArrayList<>();
1001 // contacts.add(ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_STRATEGIST1).getUserId());
1002 // contacts.add(ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_STRATEGIST2).getUserId());
1003 contacts.add(ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_MANAGER1).getUserId());
1004 // contacts.add(ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_MANAGER2).getUserId());
1005 product.setContacts(contacts);
1006 product.setContactId(UserRoleEnum.PRODUCT_MANAGER1.getUserId());
1007 product.setCategories(categories);
1008 String fullName = "This is my full name: " + productName;
1009 product.setFullName(fullName);
1010 String description = "This is product description";
1011 product.setDescription(description);
1015 public static RequirementCapabilityRelDef getReqCapRelation(String fromCompInstId, String toCompInstId, String reqOwnerId, String capOwnerId, String capType, String reqCapName, List<CapabilityDefinition> capList,
1016 List<RequirementDefinition> reqList) {
1017 RequirementCapabilityRelDef requirementDef = new RequirementCapabilityRelDef();
1018 requirementDef.setFromNode(fromCompInstId);
1019 requirementDef.setToNode(toCompInstId);
1020 RelationshipInfo relationInfo = new RelationshipInfo();
1021 relationInfo.setRequirementOwnerId(reqOwnerId);
1022 relationInfo.setCapabilityOwnerId(capOwnerId);
1023 relationInfo.setRequirement(reqCapName);
1024 RelationshipImpl relationImpl = new RelationshipImpl();
1025 relationImpl.setType(capType);
1026 relationInfo.setRelationships(relationImpl);
1027 relationInfo.setCapabilityUid(capList.get(0).getUniqueId());
1028 relationInfo.setRequirementUid(reqList.get(0).getUniqueId());
1029 List<CapabilityRequirementRelationship> relationships = new ArrayList<>();
1030 CapabilityRequirementRelationship relationship = new CapabilityRequirementRelationship();
1031 relationship.setRelation(relationInfo);
1032 relationships.add(relationship);
1033 requirementDef.setRelationships(relationships);
1034 return requirementDef;
1037 public static String generateUUIDforSufix() {
1038 final String uniqueSuffix = UUID.randomUUID().toString();
1039 return uniqueSuffix.split("-")[4];
1042 private static String normalizeArtifactLabel(String label) {
1044 label = label.substring(0, label.indexOf("."));
1045 String normalizedLabel = ValidationUtils.normalizeArtifactLabel(label);
1046 return normalizedLabel.substring(0, Math.min(25, normalizedLabel.length()));