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 java.io.FileNotFoundException;
24 import java.io.IOException;
25 import java.util.ArrayList;
26 import java.util.List;
27 import java.util.UUID;
29 import org.apache.commons.lang.StringUtils;
30 import org.openecomp.sdc.be.dao.api.ActionStatus;
31 import org.openecomp.sdc.be.datatypes.elements.ConsumerDataDefinition;
32 import org.openecomp.sdc.be.datatypes.enums.AssetTypeEnum;
33 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
34 import org.openecomp.sdc.be.model.ArtifactDefinition;
35 import org.openecomp.sdc.be.model.CapabilityDefinition;
36 import org.openecomp.sdc.be.model.CapabilityRequirementRelationship;
37 import org.openecomp.sdc.be.model.Component;
38 import org.openecomp.sdc.be.model.LifecycleStateEnum;
39 import org.openecomp.sdc.be.model.RelationshipImpl;
40 import org.openecomp.sdc.be.model.RelationshipInfo;
41 import org.openecomp.sdc.be.model.RequirementCapabilityRelDef;
42 import org.openecomp.sdc.be.model.RequirementDefinition;
43 import org.openecomp.sdc.be.model.Resource;
44 import org.openecomp.sdc.be.model.User;
45 import org.openecomp.sdc.be.model.category.CategoryDefinition;
46 import org.openecomp.sdc.be.model.category.GroupingDefinition;
47 import org.openecomp.sdc.be.model.category.SubCategoryDefinition;
48 import org.openecomp.sdc.be.resources.data.auditing.AuditingActionEnum;
49 import org.openecomp.sdc.ci.tests.datatypes.ArtifactReqDetails;
50 import org.openecomp.sdc.ci.tests.datatypes.ComponentInstanceReqDetails;
51 import org.openecomp.sdc.ci.tests.datatypes.ComponentReqDetails;
52 import org.openecomp.sdc.ci.tests.datatypes.ImportReqDetails;
53 import org.openecomp.sdc.ci.tests.datatypes.ProductReqDetails;
54 import org.openecomp.sdc.ci.tests.datatypes.PropertyReqDetails;
55 import org.openecomp.sdc.ci.tests.datatypes.ResourceExternalReqDetails;
56 import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails;
57 import org.openecomp.sdc.ci.tests.datatypes.ServiceReqDetails;
58 import org.openecomp.sdc.ci.tests.datatypes.enums.ArtifactTypeEnum;
59 import org.openecomp.sdc.ci.tests.datatypes.enums.ErrorInfo;
60 import org.openecomp.sdc.ci.tests.datatypes.enums.NormativeTypesEnum;
61 import org.openecomp.sdc.ci.tests.datatypes.enums.PropertyTypeEnum;
62 import org.openecomp.sdc.ci.tests.datatypes.enums.ResourceCategoryEnum;
63 import org.openecomp.sdc.ci.tests.datatypes.enums.ServiceCategoriesEnum;
64 import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
65 import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedExternalAudit;
66 import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedResourceAuditJavaObject;
67 import org.openecomp.sdc.ci.tests.utils.rest.ArtifactRestUtils;
68 import org.openecomp.sdc.ci.tests.utils.rest.ResponseParser;
69 import org.openecomp.sdc.ci.tests.utils.validation.AuditValidationUtils;
70 import org.openecomp.sdc.ci.tests.utils.validation.ErrorValidationUtils;
71 import org.openecomp.sdc.common.api.ArtifactGroupTypeEnum;
72 import org.openecomp.sdc.common.util.ValidationUtils;
74 public class ElementFactory {
76 private static final String JH0003 = "jh0003";
77 private static final String CI_RES = "ciRes";
78 private static String DEFAULT_ARTIFACT_LABEL = "artifact1";
79 private static final String RESOURCE_INSTANCE_POS_X = "20";
80 private static final String RESOURCE_INSTANCE_POS_Y = "20";
81 private static final String RESOURCE_INSTANCE_DESCRIPTION = "description";
85 public static ResourceReqDetails getDefaultResource() {
86 return getDefaultResource(CI_RES, NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, JH0003);
89 public static ResourceReqDetails getDefaultResource(ResourceCategoryEnum category) {
90 return getDefaultResource(CI_RES, NormativeTypesEnum.ROOT, category, JH0003);
93 public static ResourceReqDetails getDefaultResource(String contactId) {
94 return getDefaultResource(CI_RES, NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, contactId);
97 public static ResourceReqDetails getDefaultResource(User modifier) {
98 return getDefaultResource(CI_RES, NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, modifier.getUserId());
101 public static ResourceReqDetails getDefaultResource(NormativeTypesEnum derivedFrom, ResourceCategoryEnum category) {
102 return getDefaultResource(CI_RES, derivedFrom, category, JH0003);
105 public static ResourceReqDetails getDefaultResource(NormativeTypesEnum derivedFrom) {
106 return getDefaultResource(CI_RES, derivedFrom, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, JH0003);
109 public static ResourceReqDetails getDefaultResource(String resourceName, NormativeTypesEnum derivedFrom) {
110 return getDefaultResource(resourceName, derivedFrom, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, JH0003);
113 public static ResourceReqDetails getDefaultResource(NormativeTypesEnum derivedFrom, String contactId) {
114 return getDefaultResource(CI_RES, derivedFrom, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, contactId);
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.GENERIC_INFRASTRUCTURE, 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 = (resourceName + generateUUIDforSufix());
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<String>();
142 resourceTags.add(resourceName);
144 ArrayList<String> derivedFrom = new ArrayList<String>();
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());
152 return resourceDetails;
156 public static ResourceReqDetails getDefaultResourceByTypeNormTypeAndCatregory(ResourceTypeEnum resourceType, Resource normativeTypes, ResourceCategoryEnum resourceCategory, User user) {
157 return getDefaultResource(CI_RES + resourceType, normativeTypes, resourceCategory, user.getUserId());
160 public static ResourceReqDetails getDefaultResource(String resourceName, Resource derived, ResourceCategoryEnum category, String contactId) {
161 resourceName = (resourceName + generateUUIDforSufix());
162 String description = "Represents a generic software component that can be managed and run by a Compute Node Type.";
163 ArrayList<String> resourceTags = new ArrayList<String>();
164 resourceTags.add(resourceName);
166 ArrayList<String> derivedFrom = new ArrayList<String>();
167 derivedFrom.add(derived.getToscaResourceName());
168 String vendorName = "ATT Tosca";
169 String vendorRelease = "1.0.0.wd03";
170 String icon = "defaulticon";
171 ResourceReqDetails resourceDetails = new ResourceReqDetails(resourceName, description, resourceTags, null, derivedFrom, vendorName, vendorRelease, contactId, icon);
172 resourceDetails.addCategoryChain(category.getCategory(), category.getSubCategory());
174 return resourceDetails;
178 public static ResourceReqDetails getDefaultResourceByType(String resourceName, NormativeTypesEnum derived, ResourceCategoryEnum category, String contactId, ResourceTypeEnum resourceType) {
179 return getDefaultResourceByType(resourceName, derived, category, contactId, resourceType.toString());
183 public static ResourceReqDetails getDefaultResourceByType(String resourceName, NormativeTypesEnum derived, ResourceCategoryEnum category, String contactId, String resourceType) {
184 resourceName = (resourceName + resourceType + generateUUIDforSufix());
185 String description = "Represents a generic software component that can be managed and run by a Compute Node Type.";
186 ArrayList<String> resourceTags = new ArrayList<String>();
187 resourceTags.add(resourceName);
188 ArrayList<String> derivedFrom = null;
189 if (derived != null) {
190 derivedFrom = new ArrayList<String>();
191 derivedFrom.add(derived.normativeName);
193 String vendorName = "ATT Tosca";
194 String vendorRelease = "1.0.0.wd03";
195 String icon = "defaulticon";
196 ResourceReqDetails resourceDetails = new ResourceReqDetails(resourceName, description, resourceTags, null, derivedFrom, vendorName, vendorRelease, contactId, icon, resourceType.toString());
197 resourceDetails.addCategoryChain(category.getCategory(), category.getSubCategory());
198 return resourceDetails;
201 public static ResourceExternalReqDetails getDefaultResourceByType(String resourceName, ResourceCategoryEnum category, String contactId, String resourceType) {
202 resourceName = (resourceName + resourceType + generateUUIDforSufix());
203 String description = "Represents a generic software component that can be managed and run by a Compute Node Type.";
204 ArrayList<String> resourceTags = new ArrayList<String>();
205 resourceTags.add(resourceName);
206 String vendorName = "ATT Tosca";
207 String vendorRelease = "1.0.0.wd03";
208 String icon = "defaulticon";
209 ResourceExternalReqDetails resourceDetails = new ResourceExternalReqDetails(resourceName, description, resourceTags,
210 vendorName, vendorRelease, contactId, icon,
211 resourceType.toString(), category.getCategory(), category.getSubCategory());
212 return resourceDetails;
216 public static ImportReqDetails getDefaultImportResourceByType(String resourceName, NormativeTypesEnum derived, ResourceCategoryEnum category, String contactId, String resourceType) {
217 resourceName = (resourceName + resourceType + generateUUIDforSufix());
218 String description = "Represents a generic software component that can be managed and run by a Compute Node Type.";
219 ArrayList<String> resourceTags = new ArrayList<String>();
220 resourceTags.add(resourceName);
221 ArrayList<String> derivedFrom = null;
222 if (derived != null) {
223 derivedFrom = new ArrayList<String>();
224 derivedFrom.add(derived.normativeName);
226 String vendorName = "SDC Tosca";
227 String vendorRelease = "1.0.0.wd03";
228 String icon = "defaulticon";
229 ImportReqDetails resourceDetails = new ImportReqDetails(resourceName, description, resourceTags, derivedFrom, vendorName, vendorRelease, contactId, icon);
230 resourceDetails.addCategoryChain(category.getCategory(), category.getSubCategory());
231 return resourceDetails;
235 public static ImportReqDetails getDefaultImportResource(ResourceReqDetails resourceReqDetails) {
236 ImportReqDetails importReqDetails = new ImportReqDetails(resourceReqDetails.getName(), resourceReqDetails.getDescription(), resourceReqDetails.getTags(), resourceReqDetails.getDerivedFrom(), resourceReqDetails.getVendorName(),
237 resourceReqDetails.getVendorRelease(), resourceReqDetails.getContactId(), resourceReqDetails.getIcon());
238 importReqDetails.setPayloadName("ciMyCompute.yaml");
239 importReqDetails.setCategories(resourceReqDetails.getCategories());
240 importReqDetails.setPayloadData(
241 "dG9zY2FfZGVmaW5pdGlvbnNfdmVyc2lvbjogdG9zY2Ffc2ltcGxlX3lhbWxfMV8wXzANCm5vZGVfdHlwZXM6IA0KICBvcmcub3BlbmVjb21wLnJlc291cmNlLk15Q29tcHV0ZToNCiAgICBkZXJpdmVkX2Zyb206IHRvc2NhLm5vZGVzLlJvb3QNCiAgICBhdHRyaWJ1dGVzOg0KICAgICAgcHJpdmF0ZV9hZGRyZXNzOg0KICAgICAgICB0eXBlOiBzdHJpbmcNCiAgICAgIHB1YmxpY19hZGRyZXNzOg0KICAgICAgICB0eXBlOiBzdHJpbmcNCiAgICAgIG5ldHdvcmtzOg0KICAgICAgICB0eXBlOiBtYXANCiAgICAgICAgZW50cnlfc2NoZW1hOg0KICAgICAgICAgIHR5cGU6IHRvc2NhLmRhdGF0eXBlcy5uZXR3b3JrLk5ldHdvcmtJbmZvDQogICAgICBwb3J0czoNCiAgICAgICAgdHlwZTogbWFwDQogICAgICAgIGVudHJ5X3NjaGVtYToNCiAgICAgICAgICB0eXBlOiB0b3NjYS5kYXRhdHlwZXMubmV0d29yay5Qb3J0SW5mbw0KICAgIHJlcXVpcmVtZW50czoNCiAgICAgIC0gbG9jYWxfc3RvcmFnZTogDQogICAgICAgICAgY2FwYWJpbGl0eTogdG9zY2EuY2FwYWJpbGl0aWVzLkF0dGFjaG1lbnQNCiAgICAgICAgICBub2RlOiB0b3NjYS5ub2Rlcy5CbG9ja1N0b3JhZ2UNCiAgICAgICAgICByZWxhdGlvbnNoaXA6IHRvc2NhLnJlbGF0aW9uc2hpcHMuQXR0YWNoZXNUbw0KICAgICAgICAgIG9jY3VycmVuY2VzOiBbMCwgVU5CT1VOREVEXSAgDQogICAgY2FwYWJpbGl0aWVzOg0KICAgICAgaG9zdDogDQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5Db250YWluZXINCiAgICAgICAgdmFsaWRfc291cmNlX3R5cGVzOiBbdG9zY2Eubm9kZXMuU29mdHdhcmVDb21wb25lbnRdIA0KICAgICAgZW5kcG9pbnQgOg0KICAgICAgICB0eXBlOiB0b3NjYS5jYXBhYmlsaXRpZXMuRW5kcG9pbnQuQWRtaW4gDQogICAgICBvczogDQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5PcGVyYXRpbmdTeXN0ZW0NCiAgICAgIHNjYWxhYmxlOg0KICAgICAgICB0eXBlOiB0b3NjYS5jYXBhYmlsaXRpZXMuU2NhbGFibGUNCiAgICAgIGJpbmRpbmc6DQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5uZXR3b3JrLkJpbmRhYmxlDQo=");
242 return importReqDetails;
245 public static ImportReqDetails getDefaultImportResource() {
246 ResourceReqDetails resourceReqDetails = getDefaultResource();
247 ImportReqDetails importReqDetails = new ImportReqDetails(resourceReqDetails.getName(), resourceReqDetails.getDescription(), resourceReqDetails.getTags(), resourceReqDetails.getDerivedFrom(), resourceReqDetails.getVendorName(),
248 resourceReqDetails.getVendorRelease(), resourceReqDetails.getContactId(), resourceReqDetails.getIcon());
249 importReqDetails.setPayloadName("ciMyCompute.yaml");
250 importReqDetails.setCategories(resourceReqDetails.getCategories());
251 importReqDetails.setPayloadData(
252 "dG9zY2FfZGVmaW5pdGlvbnNfdmVyc2lvbjogdG9zY2Ffc2ltcGxlX3lhbWxfMV8wXzANCm5vZGVfdHlwZXM6IA0KICBvcmcub3BlbmVjb21wLnJlc291cmNlLk15Q29tcHV0ZToNCiAgICBkZXJpdmVkX2Zyb206IHRvc2NhLm5vZGVzLlJvb3QNCiAgICBhdHRyaWJ1dGVzOg0KICAgICAgcHJpdmF0ZV9hZGRyZXNzOg0KICAgICAgICB0eXBlOiBzdHJpbmcNCiAgICAgIHB1YmxpY19hZGRyZXNzOg0KICAgICAgICB0eXBlOiBzdHJpbmcNCiAgICAgIG5ldHdvcmtzOg0KICAgICAgICB0eXBlOiBtYXANCiAgICAgICAgZW50cnlfc2NoZW1hOg0KICAgICAgICAgIHR5cGU6IHRvc2NhLmRhdGF0eXBlcy5uZXR3b3JrLk5ldHdvcmtJbmZvDQogICAgICBwb3J0czoNCiAgICAgICAgdHlwZTogbWFwDQogICAgICAgIGVudHJ5X3NjaGVtYToNCiAgICAgICAgICB0eXBlOiB0b3NjYS5kYXRhdHlwZXMubmV0d29yay5Qb3J0SW5mbw0KICAgIHJlcXVpcmVtZW50czoNCiAgICAgIC0gbG9jYWxfc3RvcmFnZTogDQogICAgICAgICAgY2FwYWJpbGl0eTogdG9zY2EuY2FwYWJpbGl0aWVzLkF0dGFjaG1lbnQNCiAgICAgICAgICBub2RlOiB0b3NjYS5ub2Rlcy5CbG9ja1N0b3JhZ2UNCiAgICAgICAgICByZWxhdGlvbnNoaXA6IHRvc2NhLnJlbGF0aW9uc2hpcHMuQXR0YWNoZXNUbw0KICAgICAgICAgIG9jY3VycmVuY2VzOiBbMCwgVU5CT1VOREVEXSAgDQogICAgY2FwYWJpbGl0aWVzOg0KICAgICAgaG9zdDogDQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5Db250YWluZXINCiAgICAgICAgdmFsaWRfc291cmNlX3R5cGVzOiBbdG9zY2Eubm9kZXMuU29mdHdhcmVDb21wb25lbnRdIA0KICAgICAgZW5kcG9pbnQgOg0KICAgICAgICB0eXBlOiB0b3NjYS5jYXBhYmlsaXRpZXMuRW5kcG9pbnQuQWRtaW4gDQogICAgICBvczogDQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5PcGVyYXRpbmdTeXN0ZW0NCiAgICAgIHNjYWxhYmxlOg0KICAgICAgICB0eXBlOiB0b3NjYS5jYXBhYmlsaXRpZXMuU2NhbGFibGUNCiAgICAgIGJpbmRpbmc6DQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5uZXR3b3JrLkJpbmRhYmxlDQo=");
253 return importReqDetails;
256 public static ImportReqDetails getDefaultImportResource(String name) {
257 ResourceReqDetails resourceReqDetails = getDefaultResourceByType(ResourceTypeEnum.VFC, name);
258 ImportReqDetails importReqDetails = new ImportReqDetails(resourceReqDetails.getName(), resourceReqDetails.getDescription(), resourceReqDetails.getTags(), resourceReqDetails.getDerivedFrom(), resourceReqDetails.getVendorName(),
259 resourceReqDetails.getVendorRelease(), resourceReqDetails.getContactId(), resourceReqDetails.getIcon());
260 importReqDetails.setPayloadName("ciMyCompute.yaml");
261 importReqDetails.setCategories(resourceReqDetails.getCategories());
262 importReqDetails.setPayloadData(
263 "dG9zY2FfZGVmaW5pdGlvbnNfdmVyc2lvbjogdG9zY2Ffc2ltcGxlX3lhbWxfMV8wXzANCm5vZGVfdHlwZXM6IA0KICBvcmcub3BlbmVjb21wLnJlc291cmNlLk15Q29tcHV0ZToNCiAgICBkZXJpdmVkX2Zyb206IHRvc2NhLm5vZGVzLlJvb3QNCiAgICBhdHRyaWJ1dGVzOg0KICAgICAgcHJpdmF0ZV9hZGRyZXNzOg0KICAgICAgICB0eXBlOiBzdHJpbmcNCiAgICAgIHB1YmxpY19hZGRyZXNzOg0KICAgICAgICB0eXBlOiBzdHJpbmcNCiAgICAgIG5ldHdvcmtzOg0KICAgICAgICB0eXBlOiBtYXANCiAgICAgICAgZW50cnlfc2NoZW1hOg0KICAgICAgICAgIHR5cGU6IHRvc2NhLmRhdGF0eXBlcy5uZXR3b3JrLk5ldHdvcmtJbmZvDQogICAgICBwb3J0czoNCiAgICAgICAgdHlwZTogbWFwDQogICAgICAgIGVudHJ5X3NjaGVtYToNCiAgICAgICAgICB0eXBlOiB0b3NjYS5kYXRhdHlwZXMubmV0d29yay5Qb3J0SW5mbw0KICAgIHJlcXVpcmVtZW50czoNCiAgICAgIC0gbG9jYWxfc3RvcmFnZTogDQogICAgICAgICAgY2FwYWJpbGl0eTogdG9zY2EuY2FwYWJpbGl0aWVzLkF0dGFjaG1lbnQNCiAgICAgICAgICBub2RlOiB0b3NjYS5ub2Rlcy5CbG9ja1N0b3JhZ2UNCiAgICAgICAgICByZWxhdGlvbnNoaXA6IHRvc2NhLnJlbGF0aW9uc2hpcHMuQXR0YWNoZXNUbw0KICAgICAgICAgIG9jY3VycmVuY2VzOiBbMCwgVU5CT1VOREVEXSAgDQogICAgY2FwYWJpbGl0aWVzOg0KICAgICAgaG9zdDogDQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5Db250YWluZXINCiAgICAgICAgdmFsaWRfc291cmNlX3R5cGVzOiBbdG9zY2Eubm9kZXMuU29mdHdhcmVDb21wb25lbnRdIA0KICAgICAgZW5kcG9pbnQgOg0KICAgICAgICB0eXBlOiB0b3NjYS5jYXBhYmlsaXRpZXMuRW5kcG9pbnQuQWRtaW4gDQogICAgICBvczogDQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5PcGVyYXRpbmdTeXN0ZW0NCiAgICAgIHNjYWxhYmxlOg0KICAgICAgICB0eXBlOiB0b3NjYS5jYXBhYmlsaXRpZXMuU2NhbGFibGUNCiAgICAgIGJpbmRpbmc6DQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5uZXR3b3JrLkJpbmRhYmxlDQo=");
264 return importReqDetails;
268 public static ServiceReqDetails getDefaultService() {
269 return getDefaultService("ciService", ServiceCategoriesEnum.MOBILITY, "al1976");
272 public static ServiceReqDetails getDefaultService(String contactId) {
273 return getDefaultService("ciService", ServiceCategoriesEnum.MOBILITY, contactId);
276 public static ServiceReqDetails getDefaultService(User user) {
277 return getDefaultService("ciService", ServiceCategoriesEnum.MOBILITY, user.getUserId());
280 public static ServiceReqDetails getService(ServiceCategoriesEnum category) {
281 return getDefaultService("ciService", category, "al1976");
284 public static ServiceReqDetails getDefaultService(ServiceCategoriesEnum category, User user) {
285 return getDefaultService("ciService", category, user.getUserId());
288 public static ServiceReqDetails getDefaultService(String serviceName, ServiceCategoriesEnum category, String contactId) {
289 serviceName = (serviceName + generateUUIDforSufix());
290 ArrayList<String> tags = new ArrayList<String>();
291 tags.add("serviceTag");
292 tags.add("serviceTag1");
293 tags.add(serviceName);
294 String description = "service Description";
295 String icon = "myIcon";
297 ServiceReqDetails serviceDetails = new ServiceReqDetails(serviceName, category.getValue(), tags, description, contactId, icon);
299 return serviceDetails;
302 // ***** PROPERTY ***
304 public static PropertyReqDetails getDefaultProperty() {
305 return getDefaultProperty("disk_size");
308 public static PropertyReqDetails getDefaultProperty(String propertyName) {
309 PropertyReqDetails property = new PropertyReqDetails();
310 property.setName(propertyName);
311 property.setPropertyType("integer");
312 property.setPropertyRequired(false);
313 property.setPropertyDefaultValue("12345");
314 property.setPropertyDescription("test property");
315 property.setPropertyRangeMax("500");
316 property.setPropertyRangeMin("100");
317 property.setPropertyPassword(false);
321 public static PropertyReqDetails getDefaultIntegerProperty() {
322 return getPropertyDetails(PropertyTypeEnum.INTEGER);
325 public static PropertyReqDetails getDefaultStringProperty() {
326 return getPropertyDetails(PropertyTypeEnum.STRING);
329 public static PropertyReqDetails getDefaultBooleanProperty() {
330 return getPropertyDetails(PropertyTypeEnum.BOOLEAN);
333 public static PropertyReqDetails getDefaultListProperty() {
334 return getPropertyDetails(PropertyTypeEnum.STRING_LIST);
337 public static PropertyReqDetails getDefaultListProperty(PropertyTypeEnum innerType) {
338 return getPropertyDetails(innerType);
341 public static PropertyReqDetails getPropertyDetails(PropertyTypeEnum propType) {
342 return new PropertyReqDetails(propType.getName(), propType.getType(), propType.getValue(), propType.getDescription(), propType.getSchemaDefinition());
345 // ***** RESOURCE INSTANCE ***
346 public static ComponentInstanceReqDetails getDefaultComponentInstance() {
347 return getDefaultComponentInstance("resourceInstanceName");
350 public static ComponentInstanceReqDetails getDefaultComponentInstance(String name) {
351 String resourceUid = "resourceId";
352 ComponentInstanceReqDetails resourceInstanceDetails = new ComponentInstanceReqDetails(resourceUid, RESOURCE_INSTANCE_DESCRIPTION, RESOURCE_INSTANCE_POS_X, RESOURCE_INSTANCE_POS_Y, name);
354 return resourceInstanceDetails;
358 public static ComponentInstanceReqDetails getDefaultComponentInstance(String name, ComponentReqDetails componentReqDetails) {
359 String resourceUid = componentReqDetails.getUniqueId();
360 ComponentInstanceReqDetails resourceInstanceDetails = new ComponentInstanceReqDetails(resourceUid, RESOURCE_INSTANCE_DESCRIPTION, RESOURCE_INSTANCE_POS_X, RESOURCE_INSTANCE_POS_Y, name);
362 return resourceInstanceDetails;
366 public static ComponentInstanceReqDetails getComponentResourceInstance(ComponentReqDetails compInstOriginDetails) {
367 String compInstName = (compInstOriginDetails.getName() != null ? compInstOriginDetails.getName() : "resourceInstanceName");
368 String resourceUid = compInstOriginDetails.getUniqueId();
369 ComponentInstanceReqDetails resourceInstanceDetails = new ComponentInstanceReqDetails(resourceUid, RESOURCE_INSTANCE_DESCRIPTION, RESOURCE_INSTANCE_POS_X, RESOURCE_INSTANCE_POS_Y, compInstName);
370 return resourceInstanceDetails;
374 public static ComponentInstanceReqDetails getComponentInstance(Component compInstOriginDetails) {
375 String compInstName = (compInstOriginDetails.getName() != null ? compInstOriginDetails.getName() : "componentInstanceName");
376 String compInsUid = compInstOriginDetails.getUniqueId();
377 ComponentInstanceReqDetails componentInstanceDetails = new ComponentInstanceReqDetails(compInsUid, RESOURCE_INSTANCE_DESCRIPTION, RESOURCE_INSTANCE_POS_X, RESOURCE_INSTANCE_POS_Y, compInstName);
378 return componentInstanceDetails;
382 // ******* USER **********************
383 public static User getDefaultUser(UserRoleEnum userRole) {
384 User sdncModifierDetails = new User();
385 sdncModifierDetails.setUserId(userRole.getUserId());
386 sdncModifierDetails.setFirstName(userRole.getFirstName());
387 sdncModifierDetails.setLastName(userRole.getLastName());
388 return sdncModifierDetails;
391 public static User getDefaultMechUser() {
392 User sdncMechUserDetails = new User();
393 sdncMechUserDetails.setUserId("m12345");
394 sdncMechUserDetails.setFirstName("Shay");
395 sdncMechUserDetails.setLastName("Sponder");
396 sdncMechUserDetails.setEmail("mechId@intl.sdc.com");
397 sdncMechUserDetails.setRole("DESIGNER");
398 return sdncMechUserDetails;
401 // ******* CONSUMER **********************
403 public static ConsumerDataDefinition getDefaultConsumerDetails() {
404 ConsumerDataDefinition consumer = new ConsumerDataDefinition();
405 consumer.setConsumerName("ci");
406 consumer.setConsumerSalt("2a1f887d607d4515d4066fe0f5452a50");
407 consumer.setConsumerPassword("0a0dc557c3bf594b1a48030e3e99227580168b21f44e285c69740b8d5b13e33b");
412 public static ArtifactReqDetails getDefaultArtifact() throws IOException, Exception {
413 return getDefaultArtifact(DEFAULT_ARTIFACT_LABEL);
416 public static ArtifactReqDetails getDefaultArtifact(String artifactLabel) throws IOException, Exception {
417 List<String> artifactTypes = ResponseParser.getValuesFromJsonArray(ArtifactRestUtils.getArtifactTypesList());
418 String artifactType = artifactTypes.get(0);
420 return getDefaultArtifact(artifactLabel, artifactType);
423 public static ArtifactReqDetails getDefaultArtifact(String artifactLabel, String artifactType) throws IOException, Exception {
425 String artifactName = "testArtifact.sh";
426 String artifactDescription = "descriptionTest";
427 String payloadData = "dGVzdA=="; // content of file
429 ArtifactReqDetails artifactDetails = new ArtifactReqDetails(artifactName, artifactType, artifactDescription, payloadData, artifactLabel);
430 artifactDetails.setUrl("");
431 artifactDetails.setArtifactDisplayName(artifactLabel);
432 return artifactDetails;
435 public static ArtifactReqDetails getServiceApiArtifactDetails(String artifactLabel) throws IOException, Exception {
436 ArtifactReqDetails defaultArtifact = getDefaultArtifact(artifactLabel, "OTHER");
437 defaultArtifact.setUrl("http://www.apple.com");
438 defaultArtifact.setServiceApi(true);
439 defaultArtifact.setArtifactDisplayName(StringUtils.capitalize(defaultArtifact.getArtifactLabel()));
440 return defaultArtifact;
443 public static ArtifactReqDetails getDefaultDeploymentArtifactForType(String artifactType) throws IOException, Exception {
444 return getArtifactByType(DEFAULT_ARTIFACT_LABEL, artifactType, true, false);
447 public static ArtifactReqDetails getArtifactByType(ArtifactTypeEnum artifactLabel, ArtifactTypeEnum artifactType, Boolean deploymentTrue) throws IOException, Exception {
448 return getArtifactByType(DEFAULT_ARTIFACT_LABEL, artifactType.toString(), deploymentTrue, false);
452 public static ArtifactReqDetails getArtifactByType(String artifactLabel, String artifactType, Boolean deploymentTrue, Boolean updatedPayload) throws IOException, Exception {
454 String updatedPayloadData =null;
455 String payloadData = null;
456 Integer timeout = null;
458 String artifactDescription = "descriptionTest";
461 // The non-default payloads here are real ones according to various
462 // types validations,
463 // Please don't change them unless you know what you are doing!
465 ArtifactTypeEnum artifactTypeEnum = ArtifactTypeEnum.findType(artifactType);
468 * Missing file type: DCAE_JSON
470 switch (artifactTypeEnum) {
471 case DCAE_INVENTORY_TOSCA:
479 artifactName = generateUUIDforSufix() + artifactType + "_install_apache2.yaml";
480 payloadData = "aGVhdF90ZW1wbGF0ZV92ZXJzaW9uOiAyMDEzLTA1LTIzDQoNCmRlc2NyaXB0aW9uOiBTaW1wbGUgdGVtcGxhdGUgdG8gZGVwbG95IGEgc3RhY2sgd2l0aCB0d28gdmlydHVhbCBtYWNoaW5lIGluc3RhbmNlcw0KDQpwYXJhbWV0ZXJzOg0KICBpbWFnZV9uYW1lXzE6DQogICAgdHlwZTogc3RyaW5nDQogICAgbGFiZWw6IEltYWdlIE5hbWUNCiAgICBkZXNjcmlwdGlvbjogU0NPSU1BR0UgU3BlY2lmeSBhbiBpbWFnZSBuYW1lIGZvciBpbnN0YW5jZTENCiAgICBkZWZhdWx0OiBjaXJyb3MtMC4zLjEteDg2XzY0DQogIGltYWdlX25hbWVfMjoNCiAgICB0eXBlOiBzdHJpbmcNCiAgICBsYWJlbDogSW1hZ2UgTmFtZQ0KICAgIGRlc2NyaXB0aW9uOiBTQ09JTUFHRSBTcGVjaWZ5IGFuIGltYWdlIG5hbWUgZm9yIGluc3RhbmNlMg0KICAgIGRlZmF1bHQ6IGNpcnJvcy0wLjMuMS14ODZfNjQNCiAgbmV0d29ya19pZDoNCiAgICB0eXBlOiBzdHJpbmcNCiAgICBsYWJlbDogTmV0d29yayBJRA0KICAgIGRlc2NyaXB0aW9uOiBTQ09ORVRXT1JLIE5ldHdvcmsgdG8gYmUgdXNlZCBmb3IgdGhlIGNvbXB1dGUgaW5zdGFuY2UNCiAgICBoaWRkZW46IHRydWUNCiAgICBjb25zdHJhaW50czoNCiAgICAgIC0gbGVuZ3RoOiB7IG1pbjogNiwgbWF4OiA4IH0NCiAgICAgICAgZGVzY3JpcHRpb246IFBhc3N3b3JkIGxlbmd0aCBtdXN0IGJlIGJldHdlZW4gNiBhbmQgOCBjaGFyYWN0ZXJzLg0KICAgICAgLSByYW5nZTogeyBtaW46IDYsIG1heDogOCB9DQogICAgICAgIGRlc2NyaXB0aW9uOiBSYW5nZSBkZXNjcmlwdGlvbg0KICAgICAgLSBhbGxvd2VkX3ZhbHVlczoNCiAgICAgICAgLSBtMS5zbWFsbA0KICAgICAgICAtIG0xLm1lZGl1bQ0KICAgICAgICAtIG0xLmxhcmdlDQogICAgICAgIGRlc2NyaXB0aW9uOiBBbGxvd2VkIHZhbHVlcyBkZXNjcmlwdGlvbg0KICAgICAgLSBhbGxvd2VkX3BhdHRlcm46ICJbYS16QS1aMC05XSsiDQogICAgICAgIGRlc2NyaXB0aW9uOiBQYXNzd29yZCBtdXN0IGNvbnNpc3Qgb2YgY2hhcmFjdGVycyBhbmQgbnVtYmVycyBvbmx5Lg0KICAgICAgLSBhbGxvd2VkX3BhdHRlcm46ICJbQS1aXStbYS16QS1aMC05XSoiDQogICAgICAgIGRlc2NyaXB0aW9uOiBQYXNzd29yZCBtdXN0IHN0YXJ0IHdpdGggYW4gdXBwZXJjYXNlIGNoYXJhY3Rlci4NCiAgICAgIC0gY3VzdG9tX2NvbnN0cmFpbnQ6IG5vdmEua2V5cGFpcg0KICAgICAgICBkZXNjcmlwdGlvbjogQ3VzdG9tIGRlc2NyaXB0aW9uDQoNCnJlc291cmNlczoNCiAgbXlfaW5zdGFuY2UxOg0KICAgIHR5cGU6IE9TOjpOb3ZhOjpTZXJ2ZXINCiAgICBwcm9wZXJ0aWVzOg0KICAgICAgaW1hZ2U6IHsgZ2V0X3BhcmFtOiBpbWFnZV9uYW1lXzEgfQ0KICAgICAgZmxhdm9yOiBtMS5zbWFsbA0KICAgICAgbmV0d29ya3M6DQogICAgICAgIC0gbmV0d29yayA6IHsgZ2V0X3BhcmFtIDogbmV0d29ya19pZCB9DQogIG15X2luc3RhbmNlMjoNCiAgICB0eXBlOiBPUzo6Tm92YTo6U2VydmVyDQogICAgcHJvcGVydGllczoNCiAgICAgIGltYWdlOiB7IGdldF9wYXJhbTogaW1hZ2VfbmFtZV8yIH0NCiAgICAgIGZsYXZvcjogbTEudGlueQ0KICAgICAgbmV0d29ya3M6DQogICAgICAgIC0gbmV0d29yayA6IHsgZ2V0X3BhcmFtIDogbmV0d29ya19pZCB9";
481 updatedPayloadData = "dG9zY2FfZGVmaW5pdGlvbnNfdmVyc2lvbjogdG9zY2Ffc2ltcGxlX3lhbWxfMV8wXzANCg0Kbm9kZV90eXBlczoNCiAgY29tLmF0dC5kMi5yZXNvdXJjZS5jcC5DUDoNCiAgICBkZXJpdmVkX2Zyb206IHRvc2NhLm5vZGVzLm5ldHdvcmsuUG9ydA0KICAgIHByb3BlcnRpZXM6DQogICAgICBpc190YWdnZWQ6DQogICAgICAgIHR5cGU6IGJvb2xlYW4NCiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlDQogICAgICAgIGRlZmF1bHQ6IGZhbHNlDQogICAgICAgIGRlc2NyaXB0aW9uOiANCg0KICAgIHJlcXVpcmVtZW50czoNCiAgICAgIC0gdmlydHVhbExpbms6DQogICAgICAgICAgY2FwYWJpbGl0eTogdG9zY2EuY2FwYWJpbGl0aWVzLm5ldHdvcmsuTGlua2FibGUNCiAgICAgICAgICByZWxhdGlvbnNoaXA6IHRvc2NhLnJlbGF0aW9uc2hpcHMubmV0d29yay5MaW5rc1RvDQogICAgICAtIHZpcnR1YWxCaW5kaW5nOg0KICAgICAgICAgIGNhcGFiaWxpdHk6IHRvc2NhLmNhcGFiaWxpdGllcy5uZXR3b3JrLkJpbmRhYmxlDQogICAgICAgICAgcmVsYXRpb25zaGlwOiB0b3NjYS5yZWxhdGlvbnNoaXBzLm5ldHdvcmsuQmluZHNUbw0KICAgIGNhcGFiaWxpdGllczoNCiAgICAgIGF0dGFjaG1lbnQ6DQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5BdHRhY2htZW50DQogICAgICAgIG9jY3VycmVuY2VzOg0KICAgICAgICAtIDENCiAgICAgICAgLSBVTkJPVU5ERUQNCiAgICAgICAgdHlwZTogdG9zY2EuY2FwYWJpbGl0aWVzLm5ldHdvcmsuQmluZGFibGUNCiAgICAgICAgb2NjdXJyZW5jZXM6DQogICAgICAgIC0gMQ0KICAgICAgICAtIFVOQk9VTkRFRA0KICAgICAgdmlydHVhbF9saW5rYWJsZToNCiAgICAgICAgdHlwZTogY29tLmF0dC5kMi5jYXBhYmlsaXRpZXMuTWV0cmljDQogICAgICBlbmRfcG9pbnQ6DQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5FbmRwb2ludCAgICAgICA=";
483 artifactLabel = normalizeArtifactLabel(artifactName);
486 case DCAE_INVENTORY_POLICY:
487 case DCAE_INVENTORY_BLUEPRINT:
488 case DCAE_INVENTORY_EVENT: {
489 artifactName = getDcaeArtifactName(artifactTypeEnum, artifactType);
490 payloadData = "will be override later";
491 updatedPayloadData = "override";
493 artifactLabel = normalizeArtifactLabel(artifactName);
497 artifactName = artifactType + "org.openstack.Rally.zip";
498 payloadData = "ODM4MTRjNzkxZjcwYTlkMjk4ZGQ2ODE4MThmNjg0N2Y=";
499 updatedPayloadData = "ODM4MTRjNzkxZjcwYTlkMjk4ZGQ2ODE4MThmMTAwN2Y=";
503 artifactName = artifactType + "dcae_policy.emf";
504 payloadData = "will be override later";
505 updatedPayloadData = "override";
508 case DCAE_INVENTORY_JSON:
510 artifactName = artifactType + "dcae_policy.json";
511 payloadData = "ew0KICAiYXJ0aWZhY3RzIjogImRmc2FmIiwNCiAgIm5vcm1hbGl6ZWROYW1lIjogImNpc2VydmljZTBiYzY5ODk2OTQ4ZiIsDQogICJzeXN0ZW1OYW1lIjogIkNpc2VydmljZTBiYzY5ODk2OTQ4ZiIsDQogICJpbnZhcmlhbnRVVUlEIjogIjEzZmJkNzI3LWRjNzUtNDU1OS1iNzEyLWUwMjc5YmY4YTg2MSIsDQogICJhdHRDb250YWN0IjogImNzMDAwOCIsDQogICJuYW1lIjogImNpU2VydmljZTBiYzY5ODk2OTQ4ZiINCn0=";
512 updatedPayloadData = "ew0KICAiYXJ0aWZhY3RzIjogIjEyMzQzIiwNCiAgIm5vcm1hbGl6ZWROYW1lIjogIjU0MzUzNCIsDQogICJzeXN0ZW1OYW1lIjogIkNpc2VydmljZTBiYzY5ODk2OTQ4ZiIsDQogICJpbnZhcmlhbnRVVUlEIjogIjEzZmJkNzI3LWRjNzUtNDU1OS1iNzEyLWUwMjc5YmY4YTg2MSIsDQogICJhdHRDb250YWN0IjogImNzMDAwOCIsDQogICJuYW1lIjogImNpU2VydmljZTBiYzY5ODk2OTQ4ZiINCn0=";
519 artifactName = generateUUIDforSufix() + artifactType + "yangXml.xml";
520 payloadData = "PD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8ZGF0YT4NCiAgPHNwb3J0cz4NCiAgICA8cGVyc29uPg0KICAgICAgPG5hbWU+TGlvbmVsIEFuZHJlcyBNZXNzaTwvbmFtZT4NCiAgICAgIDxiaXJ0aGRheT4xOTg3LTA2LTI0VDAwOjAwOjAwLTAwOjAwPC9iaXJ0aGRheT4NCiAgICA8L3BlcnNvbj4NCiAgICA8cGVyc29uPg0KICAgICAgPG5hbWU+Q3Jpc3RpYW5vIFJvbmFsZG88L25hbWU+DQogICAgICA8YmlydGhkYXk+MTk4NS0wMi0wNVQwMDowMDowMC0wMDowMDwvYmlydGhkYXk+DQogICAgPC9wZXJzb24+DQogICAgPHRlYW0+DQogICAgICA8bmFtZT5GQyBCYXJjZWxvbmE8L25hbWU+DQogICAgICA8cGxheWVyPg0KICAgICAgICA8bmFtZT5MaW9uZWwgQW5kcmVzIE1lc3NpPC9uYW1lPg0KICAgICAgICA8c2Vhc29uPkNoYW1waW9ucyBMZWFndWUgMjAxNC0yMDE1PC9zZWFzb24+DQogICAgICAgIDxudW1iZXI+MTA8L251bWJlcj4NCiAgICAgICAgPHNjb3Jlcz40Mzwvc2NvcmVzPg0KICAgICAgPC9wbGF5ZXI+DQogICAgPC90ZWFtPg0KICAgIDx0ZWFtPg0KICAgICAgPG5hbWU+UmVhbCBNYWRyaWQ8L25hbWU+DQogICAgICA8cGxheWVyPg0KICAgICAgICA8bmFtZT5DcmlzdGlhbm8gUm9uYWxkbzwvbmFtZT4NCiAgICAgICAgPHNlYXNvbj5DaGFtcGlvbnMgTGVhZ3VlIDIwMTQtMjAxNTwvc2Vhc29uPg0KICAgICAgICA8bnVtYmVyPjc8L251bWJlcj4NCiAgICAgICAgPHNjb3Jlcz40ODwvc2NvcmVzPg0KICAgICAgPC9wbGF5ZXI+DQogICAgPC90ZWFtPg0KICA8L3Nwb3J0cz4NCg0KPC9kYXRhPg==";
521 updatedPayloadData = "PD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8ZGF0YT4NCiAgPHNwb3J0cz4NCiAgICA8cGVyc29uPg0KICAgICAgPG5hbWU+TGlvbmVsIEFuZHJlcyBNZXNzaTwvbmFtZT4NCiAgICAgIDxiaXJ0aGRheT4xOTkwLTA2LTI0VDAwOjAwOjAwLTAwOjExPC9iaXJ0aGRheT4NCiAgICA8L3BlcnNvbj4NCiAgICA8cGVyc29uPg0KICAgICAgPG5hbWU+Q3Jpc3RpYW5vIFJvbmFsZG88L25hbWU+DQogICAgICA8YmlydGhkYXk+MTk4NS0wMi0wNVQwMDowMDowMC0wMDowMDwvYmlydGhkYXk+DQogICAgPC9wZXJzb24+DQogICAgPHRlYW0+DQogICAgICA8bmFtZT5GQyBCYXJjZWxvbmE8L25hbWU+DQogICAgICA8cGxheWVyPg0KICAgICAgICA8bmFtZT5MaW9uZWwgQW5kcmVzIE1lc3NpPC9uYW1lPg0KICAgICAgICA8c2Vhc29uPkNoYW1waW9ucyBMZWFndWUgMjAxNC0yMDE1PC9zZWFzb24+DQogICAgICAgIDxudW1iZXI+MTA8L251bWJlcj4NCiAgICAgICAgPHNjb3Jlcz40Mzwvc2NvcmVzPg0KICAgICAgPC9wbGF5ZXI+DQogICAgPC90ZWFtPg0KICAgIDx0ZWFtPg0KICAgICAgPG5hbWU+UmVhbCBNYWRyaWQ8L25hbWU+DQogICAgICA8cGxheWVyPg0KICAgICAgICA8bmFtZT5DcmlzdGlhbm8gUm9uYWxkbzwvbmFtZT4NCiAgICAgICAgPHNlYXNvbj5DaGFtcGlvbnMgTGVhZ3VlIDIwMTQtMjAxNTwvc2Vhc29uPg0KICAgICAgICA8bnVtYmVyPjc8L251bWJlcj4NCiAgICAgICAgPHNjb3Jlcz40ODwvc2NvcmVzPg0KICAgICAgPC9wbGF5ZXI+DQogICAgPC90ZWFtPg0KICA8L3Nwb3J0cz4NCg0KPC9kYXRhPg==";
523 artifactLabel = normalizeArtifactLabel(artifactName);
528 case MODEL_INVENTORY_PROFILE:
529 case MODEL_QUERY_SPEC:
532 artifactName = generateUUIDforSufix() + artifactType + "yangXml.xml";
533 payloadData = "PD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8ZGF0YT4NCiAgPHNwb3J0cz4NCiAgICA8cGVyc29uPg0KICAgICAgPG5hbWU+TGlvbmVsIEFuZHJlcyBNZXNzaTwvbmFtZT4NCiAgICAgIDxiaXJ0aGRheT4xOTg3LTA2LTI0VDAwOjAwOjAwLTAwOjAwPC9iaXJ0aGRheT4NCiAgICA8L3BlcnNvbj4NCiAgICA8cGVyc29uPg0KICAgICAgPG5hbWU+Q3Jpc3RpYW5vIFJvbmFsZG88L25hbWU+DQogICAgICA8YmlydGhkYXk+MTk4NS0wMi0wNVQwMDowMDowMC0wMDowMDwvYmlydGhkYXk+DQogICAgPC9wZXJzb24+DQogICAgPHRlYW0+DQogICAgICA8bmFtZT5GQyBCYXJjZWxvbmE8L25hbWU+DQogICAgICA8cGxheWVyPg0KICAgICAgICA8bmFtZT5MaW9uZWwgQW5kcmVzIE1lc3NpPC9uYW1lPg0KICAgICAgICA8c2Vhc29uPkNoYW1waW9ucyBMZWFndWUgMjAxNC0yMDE1PC9zZWFzb24+DQogICAgICAgIDxudW1iZXI+MTA8L251bWJlcj4NCiAgICAgICAgPHNjb3Jlcz40Mzwvc2NvcmVzPg0KICAgICAgPC9wbGF5ZXI+DQogICAgPC90ZWFtPg0KICAgIDx0ZWFtPg0KICAgICAgPG5hbWU+UmVhbCBNYWRyaWQ8L25hbWU+DQogICAgICA8cGxheWVyPg0KICAgICAgICA8bmFtZT5DcmlzdGlhbm8gUm9uYWxkbzwvbmFtZT4NCiAgICAgICAgPHNlYXNvbj5DaGFtcGlvbnMgTGVhZ3VlIDIwMTQtMjAxNTwvc2Vhc29uPg0KICAgICAgICA8bnVtYmVyPjc8L251bWJlcj4NCiAgICAgICAgPHNjb3Jlcz40ODwvc2NvcmVzPg0KICAgICAgPC9wbGF5ZXI+DQogICAgPC90ZWFtPg0KICA8L3Nwb3J0cz4NCg0KPC9kYXRhPg==";
534 updatedPayloadData = "PD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8ZGF0YT4NCiAgPHNwb3J0cz4NCiAgICA8cGVyc29uPg0KICAgICAgPG5hbWU+TGlvbmVsIEFuZHJlcyBNZXNzaTwvbmFtZT4NCiAgICAgIDxiaXJ0aGRheT4xOTkwLTA2LTI0VDAwOjAwOjAwLTAwOjExPC9iaXJ0aGRheT4NCiAgICA8L3BlcnNvbj4NCiAgICA8cGVyc29uPg0KICAgICAgPG5hbWU+Q3Jpc3RpYW5vIFJvbmFsZG88L25hbWU+DQogICAgICA8YmlydGhkYXk+MTk4NS0wMi0wNVQwMDowMDowMC0wMDowMDwvYmlydGhkYXk+DQogICAgPC9wZXJzb24+DQogICAgPHRlYW0+DQogICAgICA8bmFtZT5GQyBCYXJjZWxvbmE8L25hbWU+DQogICAgICA8cGxheWVyPg0KICAgICAgICA8bmFtZT5MaW9uZWwgQW5kcmVzIE1lc3NpPC9uYW1lPg0KICAgICAgICA8c2Vhc29uPkNoYW1waW9ucyBMZWFndWUgMjAxNC0yMDE1PC9zZWFzb24+DQogICAgICAgIDxudW1iZXI+MTA8L251bWJlcj4NCiAgICAgICAgPHNjb3Jlcz40Mzwvc2NvcmVzPg0KICAgICAgPC9wbGF5ZXI+DQogICAgPC90ZWFtPg0KICAgIDx0ZWFtPg0KICAgICAgPG5hbWU+UmVhbCBNYWRyaWQ8L25hbWU+DQogICAgICA8cGxheWVyPg0KICAgICAgICA8bmFtZT5DcmlzdGlhbm8gUm9uYWxkbzwvbmFtZT4NCiAgICAgICAgPHNlYXNvbj5DaGFtcGlvbnMgTGVhZ3VlIDIwMTQtMjAxNTwvc2Vhc29uPg0KICAgICAgICA8bnVtYmVyPjc8L251bWJlcj4NCiAgICAgICAgPHNjb3Jlcz40ODwvc2NvcmVzPg0KICAgICAgPC9wbGF5ZXI+DQogICAgPC90ZWFtPg0KICA8L3Nwb3J0cz4NCg0KPC9kYXRhPg==";
536 artifactLabel = normalizeArtifactLabel(artifactName);
541 case DCAE_INVENTORY_DOC:
544 artifactName = generateUUIDforSufix() + artifactType + "other.pdf";
545 payloadData = "aGVhdF90ZW1wbGF0ZV92ZXJzaW9uOiAyMDEzLTA1LTIzDQoNCmRlc2NyaXB0aW9uOiBTaW1wbGUgdGVtcGxhdGUgdG8gZGVwbG95IGEgc3RhY2sgd2l0aCB0d28gdmlydHVhbCBtYWNoaW5lIGluc3RhbmNlcw0KDQpwYXJhbWV0ZXJzOg0KICBpbWFnZV9uYW1lXzE6DQogICAgdHlwZTogc3RyaW5nDQogICAgbGFiZWw6IEltYWdlIE5hbWUNCiAgICBkZXNjcmlwdGlvbjogU0NPSU1BR0UgU3BlY2lmeSBhbiBpbWFnZSBuYW1lIGZvciBpbnN0YW5jZTENCiAgICBkZWZhdWx0OiBjaXJyb3MtMC4zLjEteDg2XzY0DQogIGltYWdlX25hbWVfMjoNCiAgICB0eXBlOiBzdHJpbmcNCiAgICBsYWJlbDogSW1hZ2UgTmFtZQ0KICAgIGRlc2NyaXB0aW9uOiBTQ09JTUFHRSBTcGVjaWZ5IGFuIGltYWdlIG5hbWUgZm9yIGluc3RhbmNlMg0KICAgIGRlZmF1bHQ6IGNpcnJvcy0wLjMuMS14ODZfNjQNCiAgbmV0d29ya19pZDoNCiAgICB0eXBlOiBzdHJpbmcNCiAgICBsYWJlbDogTmV0d29yayBJRA0KICAgIGRlc2NyaXB0aW9uOiBTQ09ORVRXT1JLIE5ldHdvcmsgdG8gYmUgdXNlZCBmb3IgdGhlIGNvbXB1dGUgaW5zdGFuY2UNCiAgICBoaWRkZW46IHRydWUNCiAgICBjb25zdHJhaW50czoNCiAgICAgIC0gbGVuZ3RoOiB7IG1pbjogNiwgbWF4OiA4IH0NCiAgICAgICAgZGVzY3JpcHRpb246IFBhc3N3b3JkIGxlbmd0aCBtdXN0IGJlIGJldHdlZW4gNiBhbmQgOCBjaGFyYWN0ZXJzLg0KICAgICAgLSByYW5nZTogeyBtaW46IDYsIG1heDogOCB9DQogICAgICAgIGRlc2NyaXB0aW9uOiBSYW5nZSBkZXNjcmlwdGlvbg0KICAgICAgLSBhbGxvd2VkX3ZhbHVlczoNCiAgICAgICAgLSBtMS5zbWFsbA0KICAgICAgICAtIG0xLm1lZGl1bQ0KICAgICAgICAtIG0xLmxhcmdlDQogICAgICAgIGRlc2NyaXB0aW9uOiBBbGxvd2VkIHZhbHVlcyBkZXNjcmlwdGlvbg0KICAgICAgLSBhbGxvd2VkX3BhdHRlcm46ICJbYS16QS1aMC05XSsiDQogICAgICAgIGRlc2NyaXB0aW9uOiBQYXNzd29yZCBtdXN0IGNvbnNpc3Qgb2YgY2hhcmFjdGVycyBhbmQgbnVtYmVycyBvbmx5Lg0KICAgICAgLSBhbGxvd2VkX3BhdHRlcm46ICJbQS1aXStbYS16QS1aMC05XSoiDQogICAgICAgIGRlc2NyaXB0aW9uOiBQYXNzd29yZCBtdXN0IHN0YXJ0IHdpdGggYW4gdXBwZXJjYXNlIGNoYXJhY3Rlci4NCiAgICAgIC0gY3VzdG9tX2NvbnN0cmFpbnQ6IG5vdmEua2V5cGFpcg0KICAgICAgICBkZXNjcmlwdGlvbjogQ3VzdG9tIGRlc2NyaXB0aW9uDQoNCnJlc291cmNlczoNCiAgbXlfaW5zdGFuY2UxOg0KICAgIHR5cGU6IE9TOjpOb3ZhOjpTZXJ2ZXINCiAgICBwcm9wZXJ0aWVzOg0KICAgICAgaW1hZ2U6IHsgZ2V0X3BhcmFtOiBpbWFnZV9uYW1lXzEgfQ0KICAgICAgZmxhdm9yOiBtMS5zbWFsbA0KICAgICAgbmV0d29ya3M6DQogICAgICAgIC0gbmV0d29yayA6IHsgZ2V0X3BhcmFtIDogbmV0d29ya19pZCB9DQogIG15X2luc3RhbmNlMjoNCiAgICB0eXBlOiBPUzo6Tm92YTo6U2VydmVyDQogICAgcHJvcGVydGllczoNCiAgICAgIGltYWdlOiB7IGdldF9wYXJhbTogaW1hZ2VfbmFtZV8yIH0NCiAgICAgIGZsYXZvcjogbTEudGlueQ0KICAgICAgbmV0d29ya3M6DQogICAgICAgIC0gbmV0d29yayA6IHsgZ2V0X3BhcmFtIDogbmV0d29ya19pZCB9";
546 updatedPayloadData = "aGVhdF90ZW1wbGF0ZV92ZXJzaW9uOiAyMDE2LTA1LTIzDQoNCmRlc2NyaXB0aW9uOiBTaW1wbGUgdGVtcGxhdGRzYWRzYWRzYWUgdG8gZGVwbG95IGEgc3RhY2sgd2l0aCB0d28gdmlydHVhbCBtYWNoaW5lIGluc3RhbmNlcw0KDQpwYXJhbWV0ZXJzOg0KICBpbWFnZV9uYW1lXzE6DQogICAgdHlwZTogc3RyaW5nDQogICAgbGFiZWw6IEltYWdlIE5hbWUNCiAgICBkZXNjcmlwdGlvbjogU0NPSU1BR0UgU3BlY2lmeSBhbiBpbWFkc2FkYXN3Z2UgbmFtZSBmb3IgaW5zdGFuY2UxDQogICAgZGVmYXVsdDogY2lycm9zLTAuMy4xLXg4Nl82NA0KICBpbWFnZV9uYW1lXzI6DQogICAgdHlwZTogc3RyaW5nDQogICAgbGFiZWw6IEltYWdlIE5hbWUNCiAgICBkZXNjcmlwdGlvbjogU0NPSU1BR0UgU3BlY2lmeSBhbiBpbWFnZSBuYW1lIGZvciBpbnN0YW5jZTINCiAgICBkZWZhdWx0OiBjaXJyb3MtMC4zLjEteDg2XzY0DQogIG5ldHdvcmtfaWQ6DQogICAgdHlwZTogc3RyaW5nDQogICAgbGFiZWw6IE5ldHdvcmsgSUQNCiAgICBkZXNjcmlwdGlvbjogU0NPTkVUV09SSyBOZXR3b3JrIHRvIGJlIHVzZWQgZm9yIHRoZSBjb21wdXRlIGluc3RhbmNlDQogICAgaGlkZGVuOiB0cnVlDQogICAgY29uc3RyYWludHM6DQogICAgICAtIGxlbmd0aDogeyBtaW46IDYsIG1heDogOCB9DQogICAgICAgIGRlc2NyaXB0aW9uOiBQYXNzd29yZCBsZW5ndGggbXVzdCBiZSBiZXR3ZWVuIDYgYW5kIDggY2hhcmFjdGVycy4NCiAgICAgIC0gcmFuZ2U6IHsgbWluOiA2LCBtYXg6IDggfQ0KICAgICAgICBkZXNjcmlwdGlvbjogUmFuZ2UgZGVzY3JpcHRpb24NCiAgICAgIC0gYWxsb3dlZF92YWx1ZXM6DQogICAgICAgIC0gbTEuc21hbGwNCiAgICAgICAgLSBtMS5tZWRpdW0NCiAgICAgICAgLSBtMS5sYXJnZQ0KICAgICAgICBkZXNjcmlwdGlvbjogQWxsb3dlZCB2YWx1ZXMgZGVzY3JpcHRpb24NCiAgICAgIC0gYWxsb3dlZF9wYXR0ZXJuOiAiW2EtekEtWjAtOV0rIg0KICAgICAgICBkZXNjcmlwdGlvbjogUGFzc3dvcmQgbXVzdCBjb25zaXN0IG9mIGNoYXJhY3RlcnMgYW5kIG51bWJlcnMgb25seS4NCiAgICAgIC0gYWxsb3dlZF9wYXR0ZXJuOiAiW0EtWl0rW2EtekEtWjAtOV0qIg0KICAgICAgICBkZXNjcmlwdGlvbjogUGFzc3dvcmQgbXVzdCBzdGFydCB3aXRoIGFuIHVwcGVyY2FzZSBjaGFyYWN0ZXIuDQogICAgICAtIGN1c3RvbV9jb25zdHJhaW50OiBub3ZhLmtleXBhaXINCiAgICAgICAgZGVzY3JpcHRpb246IEN1c3RvbSBkZXNjcmlwdGlvbg0KDQpyZXNvdXJjZXM6DQogIG15X2luc3RhbmNlMToNCiAgICB0eXBlOiBPUzo6Tm92YTo6U2VydmVyDQogICAgcHJvcGVydGllczoNCiAgICAgIGltYWdlOiB7IGdldF9wYXJhbTogaW1hZ2VfbmFtZV8xIH0NCiAgICAgIGZsYXZvcjogbTEuc21hbGwNCiAgICAgIG5ldHdvcmtzOg0KICAgICAgICAtIG5ldHdvcmsgOiB7IGdldF9wYXJhbSA6IG5ldHdvcmtfaWQgfQ0KICBteV9pbnN0YW5jZTI6DQogICAgdHlwZTogT1M6Ok5vdmE6OlNlcnZlcg0KICAgIHByb3BlcnRpZXM6DQogICAgICBpbWFnZTogeyBnZXRfcGFyYW06IGltYWdlX25hbWVfMiB9DQogICAgICBmbGF2b3I6IG0xLnRpbnkNCiAgICAgIG5ldHdvcmtzOg0KICAgICAgICAtIG5ldHdvcmsgOiB7IGdldF9wYXJhbSA6IG5ldHdvcmtfaWQgfQ";
548 artifactLabel = normalizeArtifactLabel(artifactName);
553 artifactName = generateUUIDforSufix() + "testArtifact.sh";
554 payloadData = "dGVzdA==";
555 updatedPayloadData = "YmVzYg==";
556 artifactLabel = normalizeArtifactLabel(artifactName);
560 artifactLabel = normalizeArtifactLabel("ci" + artifactName);
562 ArtifactReqDetails artifactDetails = null;
564 if (!updatedPayload){
565 artifactDetails = new ArtifactReqDetails(artifactName, artifactType, artifactDescription, payloadData, artifactLabel);
567 else artifactDetails = new ArtifactReqDetails(artifactName, artifactType, artifactDescription,
568 updatedPayloadData, artifactLabel);
570 artifactDetails.setArtifactGroupType(ArtifactGroupTypeEnum.DEPLOYMENT.getType());
571 artifactDetails.setUrl(url);
572 artifactDetails.setTimeout(timeout);
573 artifactDetails.setArtifactDisplayName(artifactLabel);
574 return artifactDetails;
577 private static String getDcaeArtifactName(ArtifactTypeEnum artifactTypeEnum, String artifactType) {
578 String artifactName = null;
579 switch (artifactTypeEnum) {
580 case DCAE_INVENTORY_TOSCA: {
581 artifactName = generateUUIDforSufix() + artifactType + "_toscaSampleArtifact.yml";
584 case DCAE_INVENTORY_JSON: {
585 artifactName = generateUUIDforSufix() + artifactType + "_jsonSampleArtifact.json";
588 case DCAE_INVENTORY_POLICY: {
589 artifactName = generateUUIDforSufix() + artifactType + "_emfSampleArtifact.emf";
592 case DCAE_INVENTORY_DOC: {
593 artifactName = generateUUIDforSufix() + artifactType + "_docSampleArtifact.doc";
596 case DCAE_INVENTORY_BLUEPRINT: {
597 artifactName = generateUUIDforSufix() + artifactType + "_bluePrintSampleArtifact.xml";
600 case DCAE_INVENTORY_EVENT: {
601 artifactName = generateUUIDforSufix() + artifactType + "_eventSampleArtifact.xml";
608 // ---------------------Audit message------------------
609 public static ExpectedResourceAuditJavaObject getDefaultImportResourceAuditMsgSuccess() {
611 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject();
612 expectedResourceAuditJavaObject.setAction(AuditingActionEnum.IMPORT_RESOURCE.getName());
613 expectedResourceAuditJavaObject.setResourceName("defaultImportResourceName.yaml");
614 expectedResourceAuditJavaObject.setResourceType("Resource");
615 expectedResourceAuditJavaObject.setPrevVersion("");
616 expectedResourceAuditJavaObject.setCurrVersion("0.1");
617 expectedResourceAuditJavaObject.setModifierName(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getFullName());
618 expectedResourceAuditJavaObject.setModifierUid(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getUserId());
619 expectedResourceAuditJavaObject.setPrevState("");
620 expectedResourceAuditJavaObject.setCurrState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.toString());
621 expectedResourceAuditJavaObject.setStatus("201");
622 expectedResourceAuditJavaObject.setDesc("OK");
623 expectedResourceAuditJavaObject.setToscaNodeType("");
624 return expectedResourceAuditJavaObject;
628 public static ExpectedResourceAuditJavaObject getDefaultImportResourceAuditMsgFailure(ErrorInfo errorInfo, List<String> variables) {
630 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject();
631 expectedResourceAuditJavaObject.setAction(AuditingActionEnum.IMPORT_RESOURCE.getName());
632 expectedResourceAuditJavaObject.setResourceName("");
633 expectedResourceAuditJavaObject.setResourceType("Resource");
634 expectedResourceAuditJavaObject.setPrevVersion("");
635 expectedResourceAuditJavaObject.setCurrVersion("");
636 expectedResourceAuditJavaObject.setModifierName(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getFullName());
637 expectedResourceAuditJavaObject.setModifierUid(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getUserId());
638 expectedResourceAuditJavaObject.setPrevState("");
639 expectedResourceAuditJavaObject.setCurrState("");
640 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
641 expectedResourceAuditJavaObject.setDesc(AuditValidationUtils.buildAuditDescription(errorInfo, variables));
642 expectedResourceAuditJavaObject.setToscaNodeType("");
643 return expectedResourceAuditJavaObject;
647 public static ExpectedResourceAuditJavaObject getDefaultCertificationRequestAuditMsgSuccess() {
649 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject();
650 expectedResourceAuditJavaObject.setAction(AuditingActionEnum.CERTIFICATION_REQUEST_RESOURCE.getName());
651 expectedResourceAuditJavaObject.setResourceName("defaultResourceName");
652 expectedResourceAuditJavaObject.setResourceType("Resource");
653 expectedResourceAuditJavaObject.setPrevVersion("");
654 expectedResourceAuditJavaObject.setCurrVersion("0.1");
655 expectedResourceAuditJavaObject.setModifierName(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getFullName());
656 expectedResourceAuditJavaObject.setModifierUid(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getUserId());
657 expectedResourceAuditJavaObject.setPrevState("");
658 expectedResourceAuditJavaObject.setCurrState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.toString());
659 expectedResourceAuditJavaObject.setStatus("200");
660 expectedResourceAuditJavaObject.setDesc("OK");
661 expectedResourceAuditJavaObject.setComment("");
662 return expectedResourceAuditJavaObject;
666 public static ExpectedResourceAuditJavaObject getDefaultCertificationRequestAuditMsgFailure(ErrorInfo errorInfo, List<String> variables) {
668 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject();
669 expectedResourceAuditJavaObject.setAction(AuditingActionEnum.CERTIFICATION_REQUEST_RESOURCE.getName());
670 expectedResourceAuditJavaObject.setResourceName("");
671 expectedResourceAuditJavaObject.setResourceType("Resource");
672 expectedResourceAuditJavaObject.setPrevVersion("0.1");
673 expectedResourceAuditJavaObject.setCurrVersion("0.1");
674 expectedResourceAuditJavaObject.setModifierName(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getFullName());
675 expectedResourceAuditJavaObject.setModifierUid(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getUserId());
676 expectedResourceAuditJavaObject.setPrevState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.toString());
677 expectedResourceAuditJavaObject.setCurrState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.toString());
678 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
679 expectedResourceAuditJavaObject.setDesc(AuditValidationUtils.buildAuditDescription(errorInfo, variables));
680 expectedResourceAuditJavaObject.setComment("");
681 return expectedResourceAuditJavaObject;
685 public static ExpectedExternalAudit getDefaultExternalAuditObject(AssetTypeEnum assetType, AuditingActionEnum action, String query) {
687 ExpectedExternalAudit expectedExternalAudit = new ExpectedExternalAudit();
688 expectedExternalAudit.setACTION(action.getName());
689 expectedExternalAudit.setCONSUMER_ID("ci");
690 expectedExternalAudit.setRESOURCE_URL("/sdc/v1/catalog/" + assetType.getValue() + (query == null ? "" : query));
691 expectedExternalAudit.setSTATUS("200");
692 expectedExternalAudit.setDESC("OK");
693 return expectedExternalAudit;
697 public static ExpectedExternalAudit getDefaultAssetListAudit(AssetTypeEnum assetType, AuditingActionEnum auditAction) {
699 // ExpectedExternalAudit expectedAssetListAuditJavaObject = new
700 // ExpectedExternalAudit();
701 ExpectedExternalAudit expectedAssetListAuditJavaObject = getDefaultExternalAuditObject(assetType, auditAction, null);
702 return expectedAssetListAuditJavaObject;
706 public static ExpectedExternalAudit getDefaultFilteredAssetListAudit(AssetTypeEnum assetType, String query) {
708 // ExpectedExternalAudit expectedAssetListAuditJavaObject = new
709 // ExpectedExternalAudit();
710 ExpectedExternalAudit expectedAssetListAuditJavaObject = getDefaultExternalAuditObject(assetType, AuditingActionEnum.GET_FILTERED_ASSET_LIST, query);
711 return expectedAssetListAuditJavaObject;
715 public static ExpectedExternalAudit getDefaultExternalArtifactAuditSuccess(AssetTypeEnum assetType, AuditingActionEnum action, ArtifactDefinition artifactDefinition, String componentUUID) {
717 // ExpectedExternalAudit expectedExternalArtifactAudit = new
718 // ExpectedExternalAudit();
720 ExpectedExternalAudit expectedExternalArtifactAudit = getDefaultExternalAuditObject(assetType, action, null);
721 expectedExternalArtifactAudit.setMODIFIER(AuditValidationUtils.getModifierString(artifactDefinition.getUpdaterFullName(), artifactDefinition.getUserIdLastUpdater()));
722 expectedExternalArtifactAudit.setPREV_ARTIFACT_UUID("");
723 expectedExternalArtifactAudit.setCURR_ARTIFACT_UUID(artifactDefinition.getArtifactUUID());
724 expectedExternalArtifactAudit.setARTIFACT_DATA(AuditValidationUtils.buildArtifactDataAudit(artifactDefinition));
725 expectedExternalArtifactAudit.setRESOURCE_URL(expectedExternalArtifactAudit.getRESOURCE_URL() + "/" + componentUUID + "/artifacts");
726 return expectedExternalArtifactAudit;
730 public static ExpectedExternalAudit getDefaultExternalArtifactAuditSuccess(AssetTypeEnum assetType, AuditingActionEnum action, ArtifactDefinition artifactDefinition, Component component) {
732 //ExpectedExternalAudit expectedExternalArtifactAudit = new ExpectedExternalAudit();
734 ExpectedExternalAudit expectedExternalArtifactAudit = getDefaultExternalAuditObject(assetType, action, null);
735 expectedExternalArtifactAudit.setMODIFIER(AuditValidationUtils.getModifierString(artifactDefinition.getUpdaterFullName(), artifactDefinition.getUserIdLastUpdater()));
736 expectedExternalArtifactAudit.setPREV_ARTIFACT_UUID("");
737 expectedExternalArtifactAudit.setCURR_ARTIFACT_UUID(artifactDefinition.getArtifactUUID());
738 expectedExternalArtifactAudit.setARTIFACT_DATA(AuditValidationUtils.buildArtifactDataAudit(artifactDefinition));
739 expectedExternalArtifactAudit.setRESOURCE_URL(expectedExternalArtifactAudit.getRESOURCE_URL() + "/" + component.getUUID() + "/artifacts");
740 expectedExternalArtifactAudit.setRESOURCE_NAME(component.getName());
741 expectedExternalArtifactAudit.setRESOURCE_TYPE(component.getComponentType().getValue());
742 return expectedExternalArtifactAudit;
746 public static ExpectedResourceAuditJavaObject getDefaultCreateResourceExternalAPI(String resourceName) {
748 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject();
749 expectedResourceAuditJavaObject.setAction(AuditingActionEnum.CREATE_RESOURCE_BY_API.getName());
750 expectedResourceAuditJavaObject.setResourceName(resourceName);
751 expectedResourceAuditJavaObject.setResourceType("Resource");
752 expectedResourceAuditJavaObject.setCONSUMER_ID("ci");
753 expectedResourceAuditJavaObject.setRESOURCE_URL("/sdc/v1/catalog/resources");
754 expectedResourceAuditJavaObject.setMODIFIER("");
755 expectedResourceAuditJavaObject.setPrevVersion("");
756 expectedResourceAuditJavaObject.setCurrVersion("0.1");
757 expectedResourceAuditJavaObject.setPrevState("");
758 expectedResourceAuditJavaObject.setCurrState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.toString());
759 expectedResourceAuditJavaObject.setStatus("201");
760 expectedResourceAuditJavaObject.setDesc("OK");
762 return expectedResourceAuditJavaObject;
767 public static ExpectedExternalAudit getDefaultExternalArtifactAuditSuccess(AssetTypeEnum assetType, AuditingActionEnum action, ArtifactDefinition artifactDefinition, String componentUUID, String resourceInstanceName) {
769 ExpectedExternalAudit expectedExternalArtifactAudit = getDefaultExternalArtifactAuditSuccess(assetType, action, artifactDefinition, componentUUID);
770 expectedExternalArtifactAudit.setRESOURCE_URL("/sdc/v1/catalog/" + assetType.getValue() + "/" + componentUUID + "/resourceInstances/" + resourceInstanceName + "/artifacts");
771 return expectedExternalArtifactAudit;
774 public static ExpectedExternalAudit getDefaultExternalArtifactAuditFailure(AssetTypeEnum assetType, AuditingActionEnum action, ArtifactDefinition artifactDefinition, String componentUUID, ErrorInfo errorInfo, List<String> variables) {
776 // ExpectedExternalAudit expectedExternalArtifactAudit = new
777 // ExpectedExternalAudit();
779 ExpectedExternalAudit expectedExternalArtifactAudit = getDefaultExternalAuditObject(assetType, action, null);
780 expectedExternalArtifactAudit.setMODIFIER(AuditValidationUtils.getModifierString(artifactDefinition.getUpdaterFullName(), artifactDefinition.getUserIdLastUpdater()));
781 expectedExternalArtifactAudit.setPREV_ARTIFACT_UUID("");
782 expectedExternalArtifactAudit.setCURR_ARTIFACT_UUID(artifactDefinition.getArtifactUUID());
783 expectedExternalArtifactAudit.setARTIFACT_DATA(AuditValidationUtils.buildArtifactDataAudit(artifactDefinition));
784 expectedExternalArtifactAudit.setRESOURCE_URL(expectedExternalArtifactAudit.getRESOURCE_URL() + "/" + componentUUID + "/artifacts");
785 expectedExternalArtifactAudit.setSTATUS(errorInfo.getCode().toString());
786 expectedExternalArtifactAudit.setDESC(AuditValidationUtils.buildAuditDescription(errorInfo, variables));
787 return expectedExternalArtifactAudit;
791 public static ExpectedExternalAudit getDefaultExternalArtifactAuditFailure(AssetTypeEnum assetType, AuditingActionEnum action, ArtifactDefinition artifactDefinition, String componentUUID, ErrorInfo errorInfo, List<String> variables,
792 String resourceInstanceName) {
794 ExpectedExternalAudit expectedExternalArtifactAudit = getDefaultExternalArtifactAuditFailure(assetType, action, artifactDefinition, componentUUID, errorInfo, variables);
795 expectedExternalArtifactAudit.setRESOURCE_URL("/sdc/v1/catalog/" + assetType.getValue() + "/" + componentUUID + "/resourceInstances/" + resourceInstanceName + "/artifacts");
796 return expectedExternalArtifactAudit;
799 public static ExpectedExternalAudit getFilteredAssetListAuditCategoryNotFound(AssetTypeEnum assetType, String query, String category) {
801 // ExpectedExternalAudit expectedAssetListAuditJavaObject = new
802 // ExpectedExternalAudit();
803 ExpectedExternalAudit expectedAssetListAuditJavaObject = getDefaultExternalAuditObject(assetType, AuditingActionEnum.GET_FILTERED_ASSET_LIST, query);
804 expectedAssetListAuditJavaObject.setSTATUS("404");
805 ErrorInfo errorInfo = null;
807 errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.COMPONENT_CATEGORY_NOT_FOUND.name());
808 } catch (FileNotFoundException e) {
809 // TODO Auto-generated catch block
812 String desc = (errorInfo.getMessageId() + ": " + errorInfo.getMessage()).replace("%2", "category").replace("%3", category).replace("%1", "resource");
813 expectedAssetListAuditJavaObject.setDESC(desc);
815 return expectedAssetListAuditJavaObject;
819 public static ExpectedExternalAudit getDefaultAssetMetadataAudit(AssetTypeEnum assetType, Component component) {
821 ExpectedExternalAudit expectedAssetListAuditJavaObject = new ExpectedExternalAudit();
822 expectedAssetListAuditJavaObject = getDefaultExternalAuditObject(assetType, AuditingActionEnum.GET_ASSET_METADATA, null);
823 expectedAssetListAuditJavaObject.setRESOURCE_URL(expectedAssetListAuditJavaObject.getRESOURCE_URL() + "/" + component.getUUID() + "/metadata");
824 expectedAssetListAuditJavaObject.setRESOURCE_NAME(component.getName());
825 expectedAssetListAuditJavaObject.setRESOURCE_TYPE(component.getComponentType().getValue());
826 expectedAssetListAuditJavaObject.setSERVICE_INSTANCE_ID(component.getUUID());
827 return expectedAssetListAuditJavaObject;
831 public static ExpectedExternalAudit getDefaultAssetMetadataAuditFailure(AssetTypeEnum assetType, String serviceUuid, String resourceType) {
833 ExpectedExternalAudit expectedAssetListAuditJavaObject = new ExpectedExternalAudit();
834 expectedAssetListAuditJavaObject = getDefaultExternalAuditObject(assetType, AuditingActionEnum.GET_ASSET_METADATA, null);
835 expectedAssetListAuditJavaObject.setSTATUS("404");
836 expectedAssetListAuditJavaObject.setDESC("OK");
837 expectedAssetListAuditJavaObject.setRESOURCE_URL(expectedAssetListAuditJavaObject.getRESOURCE_URL() + "/" + serviceUuid + "/metadata");
838 expectedAssetListAuditJavaObject.setRESOURCE_TYPE(resourceType);
839 expectedAssetListAuditJavaObject.setSERVICE_INSTANCE_ID(serviceUuid);
840 return expectedAssetListAuditJavaObject;
844 // Category/Subcategory/Group
845 public static CategoryDefinition getDefaultCategory() {
846 CategoryDefinition productCategoryDefinition = new CategoryDefinition();
847 productCategoryDefinition.setName("CiCateg" + generateUUIDforSufix());
848 return productCategoryDefinition;
851 public static SubCategoryDefinition getDefaultSubCategory() {
852 SubCategoryDefinition productSubCategoryDefinition = new SubCategoryDefinition();
853 productSubCategoryDefinition.setName("CiSubCateg" + generateUUIDforSufix());
854 return productSubCategoryDefinition;
857 public static GroupingDefinition getDefaultGroup() {
858 GroupingDefinition productGroupDefinition = new GroupingDefinition();
859 productGroupDefinition.setName("CiGrouping1" + generateUUIDforSufix());
860 return productGroupDefinition;
865 public static ProductReqDetails getDefaultProduct() {
866 return createDefaultProductReqDetails("CiProduct1", null);
869 public static ProductReqDetails getDefaultProduct(String name) {
870 return createDefaultProductReqDetails(name, null);
873 public static ProductReqDetails getDefaultProduct(CategoryDefinition category) {
874 List<CategoryDefinition> categories = new ArrayList<>();
875 categories.add(category);
876 return createDefaultProductReqDetails("CiProduct1", categories);
879 public static ProductReqDetails getDefaultProduct(String name, CategoryDefinition category) {
880 List<CategoryDefinition> categories = new ArrayList<>();
881 categories.add(category);
882 return createDefaultProductReqDetails(name, categories);
885 public static ProductReqDetails getDefaultProduct(List<CategoryDefinition> categories) {
886 return createDefaultProductReqDetails("CiProduct1", categories);
889 public static ProductReqDetails getDefaultProduct(String name, List<CategoryDefinition> categories) {
890 return createDefaultProductReqDetails(name, categories);
893 private static ProductReqDetails createDefaultProductReqDetails(String name, List<CategoryDefinition> categories) {
894 ProductReqDetails product = new ProductReqDetails(name);
895 ArrayList<String> tags = new ArrayList<String>();
897 product.setTags(tags);
898 product.setProjectCode("12345");
899 product.setIcon("myIcon");
900 ArrayList<String> contacts = new ArrayList<String>();
901 contacts.add(ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_MANAGER1).getUserId());
902 product.setContacts(contacts);
903 product.setCategories(categories);
904 String fullName = "This is my full name: " + name;
905 product.setFullName(fullName);
906 String description = "This is product description";
907 product.setDescription(description);
911 public static RequirementCapabilityRelDef getReqCapRelation(String fromCompInstId, String toCompInstId, String reqOwnerId, String capOwnerId, String capType, String reqCapName, List<CapabilityDefinition> capList,
912 List<RequirementDefinition> reqList) {
913 RequirementCapabilityRelDef requirementDef = new RequirementCapabilityRelDef();
914 requirementDef.setFromNode(fromCompInstId);
915 requirementDef.setToNode(toCompInstId);
916 RelationshipInfo pair = new RelationshipInfo();
917 pair.setRequirementOwnerId(reqOwnerId);
918 pair.setCapabilityOwnerId(capOwnerId);
919 pair.setRequirement(reqCapName);
920 RelationshipImpl relationship = new RelationshipImpl();
921 relationship.setType(capType);
922 pair.setRelationships(relationship);
923 pair.setCapabilityUid(capList.get(0).getUniqueId());
924 pair.setRequirementUid(reqList.get(0).getUniqueId());
925 List<CapabilityRequirementRelationship> relationships = new ArrayList<>();
926 CapabilityRequirementRelationship capReqRel = new CapabilityRequirementRelationship();
927 relationships.add(capReqRel);
928 capReqRel.setRelation(pair);
929 requirementDef.setRelationships(relationships);
930 return requirementDef;
933 private static String generateUUIDforSufix() {
935 String uniqueSufix = UUID.randomUUID().toString();
936 String[] split = uniqueSufix.split("-");
937 return uniqueSufix = split[4];
940 private static String normalizeArtifactLabel(String label) {
942 label = label.substring(0, label.indexOf("."));
943 String normalizedLabel = ValidationUtils.normalizeArtifactLabel(label);
944 return normalizedLabel.substring(0, Math.min(25, normalizedLabel.length()));