2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 package org.openecomp.sdc.ci.tests.utils.general;
23 import org.apache.commons.lang.StringUtils;
24 import org.openecomp.sdc.be.dao.api.ActionStatus;
25 import org.openecomp.sdc.be.datatypes.elements.ConsumerDataDefinition;
26 import org.openecomp.sdc.be.datatypes.enums.AssetTypeEnum;
27 import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
28 import org.openecomp.sdc.be.datatypes.enums.OriginTypeEnum;
29 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
30 import org.openecomp.sdc.be.model.*;
31 import org.openecomp.sdc.be.model.category.CategoryDefinition;
32 import org.openecomp.sdc.be.model.category.GroupingDefinition;
33 import org.openecomp.sdc.be.model.category.SubCategoryDefinition;
34 import org.openecomp.sdc.be.resources.data.auditing.AuditingActionEnum;
35 import org.openecomp.sdc.ci.tests.datatypes.*;
36 import org.openecomp.sdc.ci.tests.datatypes.enums.*;
37 import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedExternalAudit;
38 import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedResourceAuditJavaObject;
39 import org.openecomp.sdc.ci.tests.utils.rest.ArtifactRestUtils;
40 import org.openecomp.sdc.ci.tests.utils.rest.ResponseParser;
41 import org.openecomp.sdc.ci.tests.utils.validation.AuditValidationUtils;
42 import org.openecomp.sdc.ci.tests.utils.validation.ErrorValidationUtils;
43 import org.openecomp.sdc.common.api.ArtifactGroupTypeEnum;
44 import org.openecomp.sdc.common.util.ValidationUtils;
46 import java.io.FileNotFoundException;
47 import java.io.IOException;
48 import java.util.ArrayList;
49 import java.util.List;
50 import java.util.UUID;
52 public class ElementFactory {
54 private static final String CI_SERVICE = "ciService";
55 private static final String CI_RES = "ciRes";
56 private static final String CI_PRODUCT = "CiProduct";
57 private static String DEFAULT_ARTIFACT_LABEL = "artifact1";
58 private static final String RESOURCE_INSTANCE_POS_X = "20";
59 private static final String RESOURCE_INSTANCE_POS_Y = "20";
60 private static final String RESOURCE_INSTANCE_DESCRIPTION = "description";
64 public static String getServicePrefix() {
68 public static String getResourcePrefix() {
72 public static String getProductPrefix() {
78 public static ResourceReqDetails getDefaultResource() {
79 return getDefaultResource(CI_RES, NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, "jh0003");
82 public static ResourceReqDetails getDefaultResource(ResourceCategoryEnum category) {
83 return getDefaultResource(CI_RES, NormativeTypesEnum.ROOT, category, "jh0003");
86 public static ResourceReqDetails getDefaultResource(String contactId) {
87 return getDefaultResource(CI_RES, NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, contactId);
90 public static ResourceReqDetails getDefaultResource(User modifier) {
91 return getDefaultResource(CI_RES, NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, modifier.getUserId());
94 public static ResourceReqDetails getDefaultResource(NormativeTypesEnum derivedFrom, ResourceCategoryEnum category) {
95 return getDefaultResource(CI_RES, derivedFrom, category, "jh0003");
98 public static ResourceReqDetails getDefaultResource(NormativeTypesEnum derivedFrom) {
99 return getDefaultResource(CI_RES, derivedFrom, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, "jh0003");
102 public static ResourceReqDetails getDefaultResource(String resourceName, NormativeTypesEnum derivedFrom) {
103 return getDefaultResource(resourceName, derivedFrom, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, "jh0003");
106 public static ResourceReqDetails getDefaultResource(NormativeTypesEnum derivedFrom, String contactId) {
107 return getDefaultResource(CI_RES, derivedFrom, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, contactId);
111 public static ResourceReqDetails getDefaultResourceByType(ResourceTypeEnum ResourceType, String resourceName, ResourceCategoryEnum resourceCategory, String vendorName, String vendorModelNumber) {
112 return getDefaultResourceByType(resourceName, NormativeTypesEnum.ROOT, resourceCategory, "jh0003", ResourceType.toString(), vendorName, vendorModelNumber);
115 public static ResourceReqDetails getDefaultResourceByType(ResourceTypeEnum ResourceType, String resourceName) {
116 return getDefaultResourceByType(resourceName, NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, "jh0003", ResourceType.toString());
119 public static ResourceReqDetails getDefaultResourceByType(ResourceTypeEnum ResourceType, User user) {
120 return getDefaultResourceByType(CI_RES, NormativeTypesEnum.ROOT, ResourceCategoryEnum.APPLICATION_L4_LOAD_BALANCER, user.getUserId(), ResourceType.toString());
123 public static ResourceReqDetails getDefaultResourceByTypeNormTypeAndCatregory(ResourceTypeEnum resourceType, NormativeTypesEnum normativeTypes, ResourceCategoryEnum resourceCategory, User user) {
124 return getDefaultResourceByType(CI_RES, normativeTypes, resourceCategory, user.getUserId(), resourceType.toString());
127 public static PropertyReqDetails getDefaultMapProperty(PropertyTypeEnum innerType) {
128 return getPropertyDetails(innerType);
131 public static PropertyReqDetails getDefaultMapProperty() {
132 return getPropertyDetails(PropertyTypeEnum.STRING_MAP);
135 public static ResourceReqDetails getDefaultResource(String resourceName, NormativeTypesEnum derived, ResourceCategoryEnum category, String contactId) {
136 resourceName = (resourceName + generateUUIDforSufix());
137 String description = "Represents a generic software component that can be managed and run by a Compute Node Type.";
138 ArrayList<String> resourceTags = new ArrayList<>();
139 resourceTags.add(resourceName);
141 ArrayList<String> derivedFrom = new ArrayList<>();
142 derivedFrom.add(derived.normativeName);
143 String vendorName = "ATT Tosca";
144 String vendorRelease = "1.0.0.wd03";
145 String icon = "defaulticon";
146 ResourceReqDetails resourceDetails = new ResourceReqDetails(resourceName, description, resourceTags, null, derivedFrom, vendorName, vendorRelease, contactId, icon);
147 resourceDetails.addCategoryChain(category.getCategory(), category.getSubCategory());
148 resourceDetails.setResourceVendorModelNumber("vendorNumber-1.5.7");
150 return resourceDetails;
154 public static ResourceReqDetails getDefaultResourceByTypeNormTypeAndCatregory(ResourceTypeEnum resourceType, Resource normativeTypes, ResourceCategoryEnum resourceCategory, User user) {
155 return getDefaultResource(CI_RES + resourceType, normativeTypes, resourceCategory, user.getUserId());
158 public static ResourceReqDetails getDefaultResource(String resourceName, Resource derived, ResourceCategoryEnum category, String contactId) {
159 resourceName = (resourceName + generateUUIDforSufix());
160 String description = "Represents a generic software component that can be managed and run by a Compute Node Type.";
161 ArrayList<String> resourceTags = new ArrayList<>();
162 resourceTags.add(resourceName);
164 ArrayList<String> derivedFrom = new ArrayList<>();
165 derivedFrom.add(derived.getToscaResourceName());
166 String vendorName = "ATT Tosca";
167 String vendorRelease = "1.0.0.wd03";
168 String icon = "defaulticon";
169 ResourceReqDetails resourceDetails = new ResourceReqDetails(resourceName, description, resourceTags, null, derivedFrom, vendorName, vendorRelease, contactId, icon);
170 resourceDetails.addCategoryChain(category.getCategory(), category.getSubCategory());
172 return resourceDetails;
176 public static ResourceReqDetails getDefaultResourceByType(String resourceName, NormativeTypesEnum derived, ResourceCategoryEnum category, String contactId, ResourceTypeEnum resourceType) {
177 return getDefaultResourceByType(resourceName, derived, category, contactId, resourceType.toString());
181 public static ResourceReqDetails getDefaultResourceByType(String resourceName, NormativeTypesEnum derived, ResourceCategoryEnum category, String contactId, String resourceType) {
182 resourceName = (resourceName + resourceType + generateUUIDforSufix());
183 String description = "Represents a generic software component that can be managed and run by a Compute Node Type.";
184 ArrayList<String> resourceTags = new ArrayList<>();
185 resourceTags.add(resourceName);
186 ArrayList<String> derivedFrom = null;
187 if (derived != null) {
188 derivedFrom = new ArrayList<String>();
189 derivedFrom.add(derived.normativeName);
191 String vendorName = "ATT Tosca";
192 String vendorRelease = "1.0.0.wd03";
193 String icon = "defaulticon";
194 ResourceReqDetails resourceDetails = new ResourceReqDetails(resourceName, description, resourceTags, null, derivedFrom, vendorName, vendorRelease, contactId, icon, resourceType.toString());
195 resourceDetails.addCategoryChain(category.getCategory(), category.getSubCategory());
196 resourceDetails.setResourceVendorModelNumber("vendorNumber-1.5.7");
197 return resourceDetails;
200 public static ResourceReqDetails getDefaultResourceByType(String resourceName, NormativeTypesEnum derived, ResourceCategoryEnum category, String contactId, String resourceType, String vendorName, String vendorModelNumber) {
201 resourceName = (resourceName + resourceType + generateUUIDforSufix());
203 String description = "Represents a generic software component that can be managed and run by a Compute Node Type.";
204 ArrayList<String> resourceTags = new ArrayList<>();
205 resourceTags.add(resourceName);
206 ArrayList<String> derivedFrom = null;
207 if (derived != null) {
208 derivedFrom = new ArrayList<>();
209 derivedFrom.add(derived.normativeName);
211 String vendorRelease = "1.0.0.wd03";
212 String icon = "defaulticon";
213 ResourceReqDetails resourceDetails = new ResourceReqDetails(resourceName, description, resourceTags, null, derivedFrom, vendorName, vendorRelease, contactId, icon, resourceType.toString());
214 resourceDetails.addCategoryChain(category.getCategory(), category.getSubCategory());
215 resourceDetails.setResourceVendorModelNumber(vendorModelNumber);
216 return resourceDetails;
219 public static ResourceReqDetails getRandomCategoryResource() {
220 ResourceReqDetails resourceDetails = getDefaultResource(ResourceCategoryEnum.getRandomElement());
221 return resourceDetails;
224 public static ResourceExternalReqDetails getDefaultResourceByType(String resourceName, ResourceCategoryEnum category, String contactId, String resourceType) {
225 resourceName = (resourceName + resourceType + generateUUIDforSufix());
226 String description = "Represents a generic software component that can be managed and run by a Compute Node Type.";
227 ArrayList<String> resourceTags = new ArrayList<>();
228 resourceTags.add(resourceName);
229 String vendorName = "ATT Tosca";
230 String vendorRelease = "1.0.0.wd03";
231 String icon = "defaulticon";
232 ResourceExternalReqDetails resourceDetails = new ResourceExternalReqDetails(resourceName, description, resourceTags,
233 vendorName, vendorRelease, contactId, icon,
234 resourceType.toString(), category.getCategory(), category.getSubCategory());
235 return resourceDetails;
239 public static ImportReqDetails getDefaultImportResourceByType(String resourceName, NormativeTypesEnum derived, ResourceCategoryEnum category, String contactId, String resourceType) {
240 resourceName = (resourceName + resourceType + generateUUIDforSufix());
241 String description = "Represents a generic software component that can be managed and run by a Compute Node Type.";
242 ArrayList<String> resourceTags = new ArrayList<>();
243 resourceTags.add(resourceName);
244 ArrayList<String> derivedFrom = null;
245 if (derived != null) {
246 derivedFrom = new ArrayList<>();
247 derivedFrom.add(derived.normativeName);
249 String vendorName = "ATT Tosca";
250 String vendorRelease = "1.0.0.wd03";
251 String icon = "defaulticon";
252 ImportReqDetails resourceDetails = new ImportReqDetails(resourceName, description, resourceTags, derivedFrom, vendorName, vendorRelease, contactId, icon);
253 resourceDetails.addCategoryChain(category.getCategory(), category.getSubCategory());
254 return resourceDetails;
258 public static ImportReqDetails getDefaultImportResource(ResourceReqDetails resourceReqDetails) {
259 ImportReqDetails importReqDetails = new ImportReqDetails(resourceReqDetails.getName(), resourceReqDetails.getDescription(), resourceReqDetails.getTags(), resourceReqDetails.getDerivedFrom(), resourceReqDetails.getVendorName(),
260 resourceReqDetails.getVendorRelease(), resourceReqDetails.getContactId(), resourceReqDetails.getIcon());
261 importReqDetails.setPayloadName("myCompute.yaml");
262 importReqDetails.setCategories(resourceReqDetails.getCategories());
263 importReqDetails.setPayloadData(
264 "dG9zY2FfZGVmaW5pdGlvbnNfdmVyc2lvbjogdG9zY2Ffc2ltcGxlX3lhbWxfMV8wXzANCm5vZGVfdHlwZXM6IA0KICBjb20uYXR0LmQyLnJlc291cmNlLk15Q29tcHV0ZToNCiAgICBkZXJpdmVkX2Zyb206IHRvc2NhLm5vZGVzLlJvb3QNCiAgICBhdHRyaWJ1dGVzOg0KICAgICAgcHJpdmF0ZV9hZGRyZXNzOg0KICAgICAgICB0eXBlOiBzdHJpbmcNCiAgICAgIHB1YmxpY19hZGRyZXNzOg0KICAgICAgICB0eXBlOiBzdHJpbmcNCiAgICAgIG5ldHdvcmtzOg0KICAgICAgICB0eXBlOiBtYXANCiAgICAgICAgZW50cnlfc2NoZW1hOg0KICAgICAgICAgIHR5cGU6IHRvc2NhLmRhdGF0eXBlcy5uZXR3b3JrLk5ldHdvcmtJbmZvDQogICAgICBwb3J0czoNCiAgICAgICAgdHlwZTogbWFwDQogICAgICAgIGVudHJ5X3NjaGVtYToNCiAgICAgICAgICB0eXBlOiB0b3NjYS5kYXRhdHlwZXMubmV0d29yay5Qb3J0SW5mbw0KICAgIHJlcXVpcmVtZW50czoNCiAgICAgIC0gbG9jYWxfc3RvcmFnZTogDQogICAgICAgICAgY2FwYWJpbGl0eTogdG9zY2EuY2FwYWJpbGl0aWVzLkF0dGFjaG1lbnQNCiAgICAgICAgICBub2RlOiB0b3NjYS5ub2Rlcy5CbG9ja1N0b3JhZ2UNCiAgICAgICAgICByZWxhdGlvbnNoaXA6IHRvc2NhLnJlbGF0aW9uc2hpcHMuQXR0YWNoZXNUbw0KICAgICAgICAgIG9jY3VycmVuY2VzOiBbMCwgVU5CT1VOREVEXSAgDQogICAgY2FwYWJpbGl0aWVzOg0KICAgICAgaG9zdDogDQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5Db250YWluZXINCiAgICAgICAgdmFsaWRfc291cmNlX3R5cGVzOiBbdG9zY2Eubm9kZXMuU29mdHdhcmVDb21wb25lbnRdIA0KICAgICAgZW5kcG9pbnQgOg0KICAgICAgICB0eXBlOiB0b3NjYS5jYXBhYmlsaXRpZXMuRW5kcG9pbnQuQWRtaW4gDQogICAgICBvczogDQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5PcGVyYXRpbmdTeXN0ZW0NCiAgICAgIHNjYWxhYmxlOg0KICAgICAgICB0eXBlOiB0b3NjYS5jYXBhYmlsaXRpZXMuU2NhbGFibGUNCiAgICAgIGJpbmRpbmc6DQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5uZXR3b3JrLkJpbmRhYmxlDQo=");
265 return importReqDetails;
268 public static ImportReqDetails getDefaultImportResource() {
269 ResourceReqDetails resourceReqDetails = getDefaultResource();
270 ImportReqDetails importReqDetails = new ImportReqDetails(resourceReqDetails.getName(), resourceReqDetails.getDescription(), resourceReqDetails.getTags(), resourceReqDetails.getDerivedFrom(), resourceReqDetails.getVendorName(),
271 resourceReqDetails.getVendorRelease(), resourceReqDetails.getContactId(), resourceReqDetails.getIcon());
272 importReqDetails.setPayloadName("myCompute.yaml");
273 importReqDetails.setCategories(resourceReqDetails.getCategories());
274 importReqDetails.setPayloadData(
275 "dG9zY2FfZGVmaW5pdGlvbnNfdmVyc2lvbjogdG9zY2Ffc2ltcGxlX3lhbWxfMV8wXzANCm5vZGVfdHlwZXM6IA0KICBjb20uYXR0LmQyLnJlc291cmNlLk15Q29tcHV0ZToNCiAgICBkZXJpdmVkX2Zyb206IHRvc2NhLm5vZGVzLlJvb3QNCiAgICBhdHRyaWJ1dGVzOg0KICAgICAgcHJpdmF0ZV9hZGRyZXNzOg0KICAgICAgICB0eXBlOiBzdHJpbmcNCiAgICAgIHB1YmxpY19hZGRyZXNzOg0KICAgICAgICB0eXBlOiBzdHJpbmcNCiAgICAgIG5ldHdvcmtzOg0KICAgICAgICB0eXBlOiBtYXANCiAgICAgICAgZW50cnlfc2NoZW1hOg0KICAgICAgICAgIHR5cGU6IHRvc2NhLmRhdGF0eXBlcy5uZXR3b3JrLk5ldHdvcmtJbmZvDQogICAgICBwb3J0czoNCiAgICAgICAgdHlwZTogbWFwDQogICAgICAgIGVudHJ5X3NjaGVtYToNCiAgICAgICAgICB0eXBlOiB0b3NjYS5kYXRhdHlwZXMubmV0d29yay5Qb3J0SW5mbw0KICAgIHJlcXVpcmVtZW50czoNCiAgICAgIC0gbG9jYWxfc3RvcmFnZTogDQogICAgICAgICAgY2FwYWJpbGl0eTogdG9zY2EuY2FwYWJpbGl0aWVzLkF0dGFjaG1lbnQNCiAgICAgICAgICBub2RlOiB0b3NjYS5ub2Rlcy5CbG9ja1N0b3JhZ2UNCiAgICAgICAgICByZWxhdGlvbnNoaXA6IHRvc2NhLnJlbGF0aW9uc2hpcHMuQXR0YWNoZXNUbw0KICAgICAgICAgIG9jY3VycmVuY2VzOiBbMCwgVU5CT1VOREVEXSAgDQogICAgY2FwYWJpbGl0aWVzOg0KICAgICAgaG9zdDogDQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5Db250YWluZXINCiAgICAgICAgdmFsaWRfc291cmNlX3R5cGVzOiBbdG9zY2Eubm9kZXMuU29mdHdhcmVDb21wb25lbnRdIA0KICAgICAgZW5kcG9pbnQgOg0KICAgICAgICB0eXBlOiB0b3NjYS5jYXBhYmlsaXRpZXMuRW5kcG9pbnQuQWRtaW4gDQogICAgICBvczogDQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5PcGVyYXRpbmdTeXN0ZW0NCiAgICAgIHNjYWxhYmxlOg0KICAgICAgICB0eXBlOiB0b3NjYS5jYXBhYmlsaXRpZXMuU2NhbGFibGUNCiAgICAgIGJpbmRpbmc6DQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5uZXR3b3JrLkJpbmRhYmxlDQo=");
276 return importReqDetails;
279 public static ImportReqDetails getDefaultImportResource(String name) {
280 ResourceReqDetails resourceReqDetails = getDefaultResourceByType(ResourceTypeEnum.VFC, name);
281 ImportReqDetails importReqDetails = new ImportReqDetails(resourceReqDetails.getName(), resourceReqDetails.getDescription(), resourceReqDetails.getTags(), resourceReqDetails.getDerivedFrom(), resourceReqDetails.getVendorName(),
282 resourceReqDetails.getVendorRelease(), resourceReqDetails.getContactId(), resourceReqDetails.getIcon());
283 importReqDetails.setPayloadName("myCompute.yaml");
284 importReqDetails.setCategories(resourceReqDetails.getCategories());
285 importReqDetails.setPayloadData(
286 "dG9zY2FfZGVmaW5pdGlvbnNfdmVyc2lvbjogdG9zY2Ffc2ltcGxlX3lhbWxfMV8wXzANCm5vZGVfdHlwZXM6IA0KICBjb20uYXR0LmQyLnJlc291cmNlLk15Q29tcHV0ZToNCiAgICBkZXJpdmVkX2Zyb206IHRvc2NhLm5vZGVzLlJvb3QNCiAgICBhdHRyaWJ1dGVzOg0KICAgICAgcHJpdmF0ZV9hZGRyZXNzOg0KICAgICAgICB0eXBlOiBzdHJpbmcNCiAgICAgIHB1YmxpY19hZGRyZXNzOg0KICAgICAgICB0eXBlOiBzdHJpbmcNCiAgICAgIG5ldHdvcmtzOg0KICAgICAgICB0eXBlOiBtYXANCiAgICAgICAgZW50cnlfc2NoZW1hOg0KICAgICAgICAgIHR5cGU6IHRvc2NhLmRhdGF0eXBlcy5uZXR3b3JrLk5ldHdvcmtJbmZvDQogICAgICBwb3J0czoNCiAgICAgICAgdHlwZTogbWFwDQogICAgICAgIGVudHJ5X3NjaGVtYToNCiAgICAgICAgICB0eXBlOiB0b3NjYS5kYXRhdHlwZXMubmV0d29yay5Qb3J0SW5mbw0KICAgIHJlcXVpcmVtZW50czoNCiAgICAgIC0gbG9jYWxfc3RvcmFnZTogDQogICAgICAgICAgY2FwYWJpbGl0eTogdG9zY2EuY2FwYWJpbGl0aWVzLkF0dGFjaG1lbnQNCiAgICAgICAgICBub2RlOiB0b3NjYS5ub2Rlcy5CbG9ja1N0b3JhZ2UNCiAgICAgICAgICByZWxhdGlvbnNoaXA6IHRvc2NhLnJlbGF0aW9uc2hpcHMuQXR0YWNoZXNUbw0KICAgICAgICAgIG9jY3VycmVuY2VzOiBbMCwgVU5CT1VOREVEXSAgDQogICAgY2FwYWJpbGl0aWVzOg0KICAgICAgaG9zdDogDQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5Db250YWluZXINCiAgICAgICAgdmFsaWRfc291cmNlX3R5cGVzOiBbdG9zY2Eubm9kZXMuU29mdHdhcmVDb21wb25lbnRdIA0KICAgICAgZW5kcG9pbnQgOg0KICAgICAgICB0eXBlOiB0b3NjYS5jYXBhYmlsaXRpZXMuRW5kcG9pbnQuQWRtaW4gDQogICAgICBvczogDQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5PcGVyYXRpbmdTeXN0ZW0NCiAgICAgIHNjYWxhYmxlOg0KICAgICAgICB0eXBlOiB0b3NjYS5jYXBhYmlsaXRpZXMuU2NhbGFibGUNCiAgICAgIGJpbmRpbmc6DQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5uZXR3b3JrLkJpbmRhYmxlDQo=");
287 return importReqDetails;
291 public static ServiceReqDetails getDefaultService() {
292 return getDefaultService(CI_SERVICE, ServiceCategoriesEnum.MOBILITY, "al1976", ServiceInstantiationType.A_LA_CARTE.getValue());
295 public static ServiceReqDetails getDefaultService(String contactId) {
296 return getDefaultService(CI_SERVICE, ServiceCategoriesEnum.MOBILITY, contactId, ServiceInstantiationType.A_LA_CARTE.getValue());
299 public static ServiceReqDetails getDefaultService(User user) {
300 return getDefaultService(CI_SERVICE, ServiceCategoriesEnum.MOBILITY, user.getUserId(), ServiceInstantiationType.A_LA_CARTE.getValue());
303 public static ServiceReqDetails getDefaultService(ServiceCategoriesEnum category, User user) {
304 return getDefaultService(CI_SERVICE, category, user.getUserId(), ServiceInstantiationType.A_LA_CARTE.getValue());
307 public static ServiceReqDetails getServiceByCategory(ServiceCategoriesEnum category) {
308 return getDefaultService(CI_SERVICE, category, "al1976", ServiceInstantiationType.A_LA_CARTE.getValue());
311 public static ServiceReqDetails getDefaultService(String serviceName, ServiceCategoriesEnum category, String contactId, String instantiationType) {
312 serviceName = (serviceName + generateUUIDforSufix());
313 ArrayList<String> tags = new ArrayList<>();
314 tags.add("serviceTag");
315 tags.add("serviceTag1");
316 tags.add(serviceName);
317 String description = "service Description";
318 String icon = "defaulticon";
320 ServiceReqDetails serviceDetails = new ServiceReqDetails(serviceName, category.getValue(), tags, description, contactId, icon, instantiationType);
322 return serviceDetails;
325 public static ServiceReqDetails getRandomCategoryService() {
326 ServiceReqDetails serviceReqDetails = getServiceByCategory(ServiceCategoriesEnum.getRandomElement());
327 return serviceReqDetails;
330 // ***** PROPERTY ***
332 public static PropertyReqDetails getDefaultProperty() {
333 return getDefaultProperty("disk_size");
336 public static PropertyReqDetails getDefaultProperty(String propertyName) {
337 PropertyReqDetails property = new PropertyReqDetails();
338 property.setName(propertyName);
339 property.setPropertyType("integer");
340 property.setPropertyRequired(false);
341 property.setPropertyDefaultValue("12345");
342 property.setPropertyDescription("test property");
343 property.setPropertyRangeMax("500");
344 property.setPropertyRangeMin("100");
345 property.setPropertyPassword(false);
349 public static PropertyReqDetails getDefaultIntegerProperty() {
350 return getPropertyDetails(PropertyTypeEnum.INTEGER);
353 public static PropertyReqDetails getDefaultStringProperty() {
354 return getPropertyDetails(PropertyTypeEnum.STRING);
357 public static PropertyReqDetails getDefaultBooleanProperty() {
358 return getPropertyDetails(PropertyTypeEnum.BOOLEAN);
361 public static PropertyReqDetails getDefaultListProperty() {
362 return getPropertyDetails(PropertyTypeEnum.STRING_LIST);
365 public static PropertyReqDetails getDefaultListProperty(PropertyTypeEnum innerType) {
366 return getPropertyDetails(innerType);
369 public static PropertyReqDetails getPropertyDetails(PropertyTypeEnum propType) {
370 return new PropertyReqDetails(propType.getName(), propType.getType(), propType.getValue(), propType.getDescription(), propType.getSchemaDefinition());
373 // ***** RESOURCE INSTANCE ***
374 public static ComponentInstanceReqDetails getDefaultComponentInstance() {
375 return getDefaultComponentInstance("resourceInstanceName");
378 public static ComponentInstanceReqDetails getDefaultComponentInstance(String name) {
379 String resourceUid = "resourceId";
380 ComponentInstanceReqDetails resourceInstanceDetails = new ComponentInstanceReqDetails(resourceUid, RESOURCE_INSTANCE_DESCRIPTION, RESOURCE_INSTANCE_POS_X, RESOURCE_INSTANCE_POS_Y, name, null);
382 return resourceInstanceDetails;
386 public static ComponentInstanceReqDetails getDefaultComponentInstance(String name, ComponentReqDetails componentReqDetails) {
387 String resourceUid = componentReqDetails.getUniqueId();
388 ComponentInstanceReqDetails resourceInstanceDetails = new ComponentInstanceReqDetails(resourceUid, RESOURCE_INSTANCE_DESCRIPTION, RESOURCE_INSTANCE_POS_X, RESOURCE_INSTANCE_POS_Y, name, null);
390 return resourceInstanceDetails;
394 public static ComponentInstanceReqDetails getComponentResourceInstance(ComponentReqDetails compInstOriginDetails) {
395 String compInstName = (compInstOriginDetails.getName() != null ? compInstOriginDetails.getName() : "resourceInstanceName");
396 String resourceUid = compInstOriginDetails.getUniqueId();
397 ComponentInstanceReqDetails resourceInstanceDetails = new ComponentInstanceReqDetails(resourceUid, RESOURCE_INSTANCE_DESCRIPTION, RESOURCE_INSTANCE_POS_X, RESOURCE_INSTANCE_POS_Y, compInstName, null);
398 return resourceInstanceDetails;
402 public static ComponentInstanceReqDetails getComponentInstance(Component compInstOriginDetails) {
403 String compInstName = (compInstOriginDetails.getName() != null ? compInstOriginDetails.getName() : "componentInstanceName");
404 String compInsUid = compInstOriginDetails.getUniqueId();
405 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);
406 return componentInstanceDetails;
410 // ******* USER **********************
411 public static User getDefaultUser(UserRoleEnum userRole) {
412 User sdncModifierDetails = new User();
413 sdncModifierDetails.setUserId(userRole.getUserId());
414 sdncModifierDetails.setFirstName(userRole.getFirstName());
415 sdncModifierDetails.setLastName(userRole.getLastName());
416 return sdncModifierDetails;
419 public static User getDefaultMechUser() {
420 User sdncMechUserDetails = new User();
421 sdncMechUserDetails.setUserId("m12345");
422 sdncMechUserDetails.setFirstName("Fishi");
423 sdncMechUserDetails.setLastName("Shifi");
424 sdncMechUserDetails.setEmail("mechId@intl.sdc.com");
425 sdncMechUserDetails.setRole("DESIGNER");
426 return sdncMechUserDetails;
429 // ******* CONSUMER **********************
431 public static ConsumerDataDefinition getDefaultConsumerDetails() {
432 ConsumerDataDefinition consumer = new ConsumerDataDefinition();
433 consumer.setConsumerName("ci");
434 consumer.setConsumerSalt("2a1f887d607d4515d4066fe0f5452a50");
435 consumer.setConsumerPassword("0a0dc557c3bf594b1a48030e3e99227580168b21f44e285c69740b8d5b13e33b");
440 public static ArtifactReqDetails getDefaultArtifact() throws IOException, Exception {
441 return getDefaultArtifact(DEFAULT_ARTIFACT_LABEL);
444 public static ArtifactReqDetails getDefaultArtifact(String artifactLabel) throws IOException, Exception {
445 List<String> artifactTypes = ResponseParser.getValuesFromJsonArray(ArtifactRestUtils.getArtifactTypesList());
446 String artifactType = artifactTypes.get(0);
448 return getDefaultArtifact(artifactLabel, artifactType);
451 public static ArtifactReqDetails getDefaultArtifact(String artifactLabel, String artifactType) throws IOException, Exception {
453 String artifactName = "testArtifact.sh";
454 String artifactDescription = "descriptionTest";
455 String payloadData = "dGVzdA=="; // content of file
457 ArtifactReqDetails artifactDetails = new ArtifactReqDetails(artifactName, artifactType, artifactDescription, payloadData, artifactLabel);
458 artifactDetails.setUrl("");
459 artifactDetails.setArtifactDisplayName(artifactLabel);
460 return artifactDetails;
463 public static ArtifactReqDetails getServiceApiArtifactDetails(String artifactLabel) throws IOException, Exception {
464 ArtifactReqDetails defaultArtifact = getDefaultArtifact(artifactLabel, "OTHER");
465 defaultArtifact.setUrl("http://www.apple.com");
466 defaultArtifact.setServiceApi(true);
467 defaultArtifact.setArtifactDisplayName(StringUtils.capitalize(defaultArtifact.getArtifactLabel()));
468 return defaultArtifact;
471 public static ArtifactReqDetails getDefaultDeploymentArtifactForType(String artifactType) throws IOException, Exception {
472 return getArtifactByType(DEFAULT_ARTIFACT_LABEL, artifactType, true, false);
475 public static ArtifactReqDetails getArtifactByType(ArtifactTypeEnum artifactLabel, ArtifactTypeEnum artifactType, Boolean deploymentTrue) throws IOException, Exception {
476 return getArtifactByType(DEFAULT_ARTIFACT_LABEL, artifactType.toString(), deploymentTrue, false);
480 public static ArtifactReqDetails getArtifactByType(String artifactLabel, String artifactType, Boolean deploymentTrue, Boolean updatedPayload) throws IOException, Exception {
482 String updatedPayloadData =null;
483 String payloadData = null;
484 Integer timeout = null;
486 String artifactDescription = "descriptionTest";
489 // The non-default payloads here are real ones according to various
490 // types validations,
491 // Please don't change them unless you know what you are doing!
493 ArtifactTypeEnum artifactTypeEnum = ArtifactTypeEnum.findType(artifactType);
496 * Missing file type: DCAE_JSON
498 switch (artifactTypeEnum) {
499 case DCAE_INVENTORY_TOSCA:
507 artifactName = generateUUIDforSufix() + artifactType + "_install_apache2.yaml";
508 payloadData = "aGVhdF90ZW1wbGF0ZV92ZXJzaW9uOiAyMDEzLTA1LTIzDQoNCmRlc2NyaXB0aW9uOiBTaW1wbGUgdGVtcGxhdGUgdG8gZGVwbG95IGEgc3RhY2sgd2l0aCB0d28gdmlydHVhbCBtYWNoaW5lIGluc3RhbmNlcw0KDQpwYXJhbWV0ZXJzOg0KICBpbWFnZV9uYW1lXzE6DQogICAgdHlwZTogc3RyaW5nDQogICAgbGFiZWw6IEltYWdlIE5hbWUNCiAgICBkZXNjcmlwdGlvbjogU0NPSU1BR0UgU3BlY2lmeSBhbiBpbWFnZSBuYW1lIGZvciBpbnN0YW5jZTENCiAgICBkZWZhdWx0OiBjaXJyb3MtMC4zLjEteDg2XzY0DQogIGltYWdlX25hbWVfMjoNCiAgICB0eXBlOiBzdHJpbmcNCiAgICBsYWJlbDogSW1hZ2UgTmFtZQ0KICAgIGRlc2NyaXB0aW9uOiBTQ09JTUFHRSBTcGVjaWZ5IGFuIGltYWdlIG5hbWUgZm9yIGluc3RhbmNlMg0KICAgIGRlZmF1bHQ6IGNpcnJvcy0wLjMuMS14ODZfNjQNCiAgbmV0d29ya19pZDoNCiAgICB0eXBlOiBzdHJpbmcNCiAgICBsYWJlbDogTmV0d29yayBJRA0KICAgIGRlc2NyaXB0aW9uOiBTQ09ORVRXT1JLIE5ldHdvcmsgdG8gYmUgdXNlZCBmb3IgdGhlIGNvbXB1dGUgaW5zdGFuY2UNCiAgICBoaWRkZW46IHRydWUNCiAgICBjb25zdHJhaW50czoNCiAgICAgIC0gbGVuZ3RoOiB7IG1pbjogNiwgbWF4OiA4IH0NCiAgICAgICAgZGVzY3JpcHRpb246IFBhc3N3b3JkIGxlbmd0aCBtdXN0IGJlIGJldHdlZW4gNiBhbmQgOCBjaGFyYWN0ZXJzLg0KICAgICAgLSByYW5nZTogeyBtaW46IDYsIG1heDogOCB9DQogICAgICAgIGRlc2NyaXB0aW9uOiBSYW5nZSBkZXNjcmlwdGlvbg0KICAgICAgLSBhbGxvd2VkX3ZhbHVlczoNCiAgICAgICAgLSBtMS5zbWFsbA0KICAgICAgICAtIG0xLm1lZGl1bQ0KICAgICAgICAtIG0xLmxhcmdlDQogICAgICAgIGRlc2NyaXB0aW9uOiBBbGxvd2VkIHZhbHVlcyBkZXNjcmlwdGlvbg0KICAgICAgLSBhbGxvd2VkX3BhdHRlcm46ICJbYS16QS1aMC05XSsiDQogICAgICAgIGRlc2NyaXB0aW9uOiBQYXNzd29yZCBtdXN0IGNvbnNpc3Qgb2YgY2hhcmFjdGVycyBhbmQgbnVtYmVycyBvbmx5Lg0KICAgICAgLSBhbGxvd2VkX3BhdHRlcm46ICJbQS1aXStbYS16QS1aMC05XSoiDQogICAgICAgIGRlc2NyaXB0aW9uOiBQYXNzd29yZCBtdXN0IHN0YXJ0IHdpdGggYW4gdXBwZXJjYXNlIGNoYXJhY3Rlci4NCiAgICAgIC0gY3VzdG9tX2NvbnN0cmFpbnQ6IG5vdmEua2V5cGFpcg0KICAgICAgICBkZXNjcmlwdGlvbjogQ3VzdG9tIGRlc2NyaXB0aW9uDQoNCnJlc291cmNlczoNCiAgbXlfaW5zdGFuY2UxOg0KICAgIHR5cGU6IE9TOjpOb3ZhOjpTZXJ2ZXINCiAgICBwcm9wZXJ0aWVzOg0KICAgICAgaW1hZ2U6IHsgZ2V0X3BhcmFtOiBpbWFnZV9uYW1lXzEgfQ0KICAgICAgZmxhdm9yOiBtMS5zbWFsbA0KICAgICAgbmV0d29ya3M6DQogICAgICAgIC0gbmV0d29yayA6IHsgZ2V0X3BhcmFtIDogbmV0d29ya19pZCB9DQogIG15X2luc3RhbmNlMjoNCiAgICB0eXBlOiBPUzo6Tm92YTo6U2VydmVyDQogICAgcHJvcGVydGllczoNCiAgICAgIGltYWdlOiB7IGdldF9wYXJhbTogaW1hZ2VfbmFtZV8yIH0NCiAgICAgIGZsYXZvcjogbTEudGlueQ0KICAgICAgbmV0d29ya3M6DQogICAgICAgIC0gbmV0d29yayA6IHsgZ2V0X3BhcmFtIDogbmV0d29ya19pZCB9";
509 updatedPayloadData = "dG9zY2FfZGVmaW5pdGlvbnNfdmVyc2lvbjogdG9zY2Ffc2ltcGxlX3lhbWxfMV8wXzANCg0Kbm9kZV90eXBlczoNCiAgY29tLmF0dC5kMi5yZXNvdXJjZS5jcC5DUDoNCiAgICBkZXJpdmVkX2Zyb206IHRvc2NhLm5vZGVzLm5ldHdvcmsuUG9ydA0KICAgIHByb3BlcnRpZXM6DQogICAgICBpc190YWdnZWQ6DQogICAgICAgIHR5cGU6IGJvb2xlYW4NCiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlDQogICAgICAgIGRlZmF1bHQ6IGZhbHNlDQogICAgICAgIGRlc2NyaXB0aW9uOiANCg0KICAgIHJlcXVpcmVtZW50czoNCiAgICAgIC0gdmlydHVhbExpbms6DQogICAgICAgICAgY2FwYWJpbGl0eTogdG9zY2EuY2FwYWJpbGl0aWVzLm5ldHdvcmsuTGlua2FibGUNCiAgICAgICAgICByZWxhdGlvbnNoaXA6IHRvc2NhLnJlbGF0aW9uc2hpcHMubmV0d29yay5MaW5rc1RvDQogICAgICAtIHZpcnR1YWxCaW5kaW5nOg0KICAgICAgICAgIGNhcGFiaWxpdHk6IHRvc2NhLmNhcGFiaWxpdGllcy5uZXR3b3JrLkJpbmRhYmxlDQogICAgICAgICAgcmVsYXRpb25zaGlwOiB0b3NjYS5yZWxhdGlvbnNoaXBzLm5ldHdvcmsuQmluZHNUbw0KICAgIGNhcGFiaWxpdGllczoNCiAgICAgIGF0dGFjaG1lbnQ6DQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5BdHRhY2htZW50DQogICAgICAgIG9jY3VycmVuY2VzOg0KICAgICAgICAtIDENCiAgICAgICAgLSBVTkJPVU5ERUQNCiAgICAgICAgdHlwZTogdG9zY2EuY2FwYWJpbGl0aWVzLm5ldHdvcmsuQmluZGFibGUNCiAgICAgICAgb2NjdXJyZW5jZXM6DQogICAgICAgIC0gMQ0KICAgICAgICAtIFVOQk9VTkRFRA0KICAgICAgdmlydHVhbF9saW5rYWJsZToNCiAgICAgICAgdHlwZTogY29tLmF0dC5kMi5jYXBhYmlsaXRpZXMuTWV0cmljDQogICAgICBlbmRfcG9pbnQ6DQogICAgICAgIHR5cGU6IHRvc2NhLmNhcGFiaWxpdGllcy5FbmRwb2ludCAgICAgICA=";
511 artifactLabel = normalizeArtifactLabel(artifactName);
514 case DCAE_INVENTORY_POLICY:
515 case DCAE_INVENTORY_BLUEPRINT:
516 case DCAE_INVENTORY_EVENT: {
517 artifactName = getDcaeArtifactName(artifactTypeEnum, artifactType);
518 payloadData = "will be override later";
519 updatedPayloadData = "override";
521 artifactLabel = normalizeArtifactLabel(artifactName);
525 artifactName = artifactType + "org.openstack.Rally.zip";
526 payloadData = "ODM4MTRjNzkxZjcwYTlkMjk4ZGQ2ODE4MThmNjg0N2Y=";
527 updatedPayloadData = "ODM4MTRjNzkxZjcwYTlkMjk4ZGQ2ODE4MThmMTAwN2Y=";
531 artifactName = artifactType + "dcae_policy.emf";
532 payloadData = "will be override later";
533 updatedPayloadData = "override";
536 case DCAE_INVENTORY_JSON:
538 artifactName = artifactType + "dcae_policy.json";
539 payloadData = "ew0KICAiYXJ0aWZhY3RzIjogImRmc2FmIiwNCiAgIm5vcm1hbGl6ZWROYW1lIjogImNpc2VydmljZTBiYzY5ODk2OTQ4ZiIsDQogICJzeXN0ZW1OYW1lIjogIkNpc2VydmljZTBiYzY5ODk2OTQ4ZiIsDQogICJpbnZhcmlhbnRVVUlEIjogIjEzZmJkNzI3LWRjNzUtNDU1OS1iNzEyLWUwMjc5YmY4YTg2MSIsDQogICJhdHRDb250YWN0IjogImNzMDAwOCIsDQogICJuYW1lIjogImNpU2VydmljZTBiYzY5ODk2OTQ4ZiINCn0=";
540 updatedPayloadData = "ew0KICAiYXJ0aWZhY3RzIjogIjEyMzQzIiwNCiAgIm5vcm1hbGl6ZWROYW1lIjogIjU0MzUzNCIsDQogICJzeXN0ZW1OYW1lIjogIkNpc2VydmljZTBiYzY5ODk2OTQ4ZiIsDQogICJpbnZhcmlhbnRVVUlEIjogIjEzZmJkNzI3LWRjNzUtNDU1OS1iNzEyLWUwMjc5YmY4YTg2MSIsDQogICJhdHRDb250YWN0IjogImNzMDAwOCIsDQogICJuYW1lIjogImNpU2VydmljZTBiYzY5ODk2OTQ4ZiINCn0=";
547 artifactName = generateUUIDforSufix() + artifactType + "yangXml.xml";
548 payloadData = "PD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8ZGF0YT4NCiAgPHNwb3J0cz4NCiAgICA8cGVyc29uPg0KICAgICAgPG5hbWU+TGlvbmVsIEFuZHJlcyBNZXNzaTwvbmFtZT4NCiAgICAgIDxiaXJ0aGRheT4xOTg3LTA2LTI0VDAwOjAwOjAwLTAwOjAwPC9iaXJ0aGRheT4NCiAgICA8L3BlcnNvbj4NCiAgICA8cGVyc29uPg0KICAgICAgPG5hbWU+Q3Jpc3RpYW5vIFJvbmFsZG88L25hbWU+DQogICAgICA8YmlydGhkYXk+MTk4NS0wMi0wNVQwMDowMDowMC0wMDowMDwvYmlydGhkYXk+DQogICAgPC9wZXJzb24+DQogICAgPHRlYW0+DQogICAgICA8bmFtZT5GQyBCYXJjZWxvbmE8L25hbWU+DQogICAgICA8cGxheWVyPg0KICAgICAgICA8bmFtZT5MaW9uZWwgQW5kcmVzIE1lc3NpPC9uYW1lPg0KICAgICAgICA8c2Vhc29uPkNoYW1waW9ucyBMZWFndWUgMjAxNC0yMDE1PC9zZWFzb24+DQogICAgICAgIDxudW1iZXI+MTA8L251bWJlcj4NCiAgICAgICAgPHNjb3Jlcz40Mzwvc2NvcmVzPg0KICAgICAgPC9wbGF5ZXI+DQogICAgPC90ZWFtPg0KICAgIDx0ZWFtPg0KICAgICAgPG5hbWU+UmVhbCBNYWRyaWQ8L25hbWU+DQogICAgICA8cGxheWVyPg0KICAgICAgICA8bmFtZT5DcmlzdGlhbm8gUm9uYWxkbzwvbmFtZT4NCiAgICAgICAgPHNlYXNvbj5DaGFtcGlvbnMgTGVhZ3VlIDIwMTQtMjAxNTwvc2Vhc29uPg0KICAgICAgICA8bnVtYmVyPjc8L251bWJlcj4NCiAgICAgICAgPHNjb3Jlcz40ODwvc2NvcmVzPg0KICAgICAgPC9wbGF5ZXI+DQogICAgPC90ZWFtPg0KICA8L3Nwb3J0cz4NCg0KPC9kYXRhPg==";
549 updatedPayloadData = "PD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8ZGF0YT4NCiAgPHNwb3J0cz4NCiAgICA8cGVyc29uPg0KICAgICAgPG5hbWU+TGlvbmVsIEFuZHJlcyBNZXNzaTwvbmFtZT4NCiAgICAgIDxiaXJ0aGRheT4xOTkwLTA2LTI0VDAwOjAwOjAwLTAwOjExPC9iaXJ0aGRheT4NCiAgICA8L3BlcnNvbj4NCiAgICA8cGVyc29uPg0KICAgICAgPG5hbWU+Q3Jpc3RpYW5vIFJvbmFsZG88L25hbWU+DQogICAgICA8YmlydGhkYXk+MTk4NS0wMi0wNVQwMDowMDowMC0wMDowMDwvYmlydGhkYXk+DQogICAgPC9wZXJzb24+DQogICAgPHRlYW0+DQogICAgICA8bmFtZT5GQyBCYXJjZWxvbmE8L25hbWU+DQogICAgICA8cGxheWVyPg0KICAgICAgICA8bmFtZT5MaW9uZWwgQW5kcmVzIE1lc3NpPC9uYW1lPg0KICAgICAgICA8c2Vhc29uPkNoYW1waW9ucyBMZWFndWUgMjAxNC0yMDE1PC9zZWFzb24+DQogICAgICAgIDxudW1iZXI+MTA8L251bWJlcj4NCiAgICAgICAgPHNjb3Jlcz40Mzwvc2NvcmVzPg0KICAgICAgPC9wbGF5ZXI+DQogICAgPC90ZWFtPg0KICAgIDx0ZWFtPg0KICAgICAgPG5hbWU+UmVhbCBNYWRyaWQ8L25hbWU+DQogICAgICA8cGxheWVyPg0KICAgICAgICA8bmFtZT5DcmlzdGlhbm8gUm9uYWxkbzwvbmFtZT4NCiAgICAgICAgPHNlYXNvbj5DaGFtcGlvbnMgTGVhZ3VlIDIwMTQtMjAxNTwvc2Vhc29uPg0KICAgICAgICA8bnVtYmVyPjc8L251bWJlcj4NCiAgICAgICAgPHNjb3Jlcz40ODwvc2NvcmVzPg0KICAgICAgPC9wbGF5ZXI+DQogICAgPC90ZWFtPg0KICA8L3Nwb3J0cz4NCg0KPC9kYXRhPg==";
551 artifactLabel = normalizeArtifactLabel(artifactName);
556 case MODEL_INVENTORY_PROFILE:
557 case MODEL_QUERY_SPEC:
560 artifactName = generateUUIDforSufix() + artifactType + "yangXml.xml";
561 payloadData = "PD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8ZGF0YT4NCiAgPHNwb3J0cz4NCiAgICA8cGVyc29uPg0KICAgICAgPG5hbWU+TGlvbmVsIEFuZHJlcyBNZXNzaTwvbmFtZT4NCiAgICAgIDxiaXJ0aGRheT4xOTg3LTA2LTI0VDAwOjAwOjAwLTAwOjAwPC9iaXJ0aGRheT4NCiAgICA8L3BlcnNvbj4NCiAgICA8cGVyc29uPg0KICAgICAgPG5hbWU+Q3Jpc3RpYW5vIFJvbmFsZG88L25hbWU+DQogICAgICA8YmlydGhkYXk+MTk4NS0wMi0wNVQwMDowMDowMC0wMDowMDwvYmlydGhkYXk+DQogICAgPC9wZXJzb24+DQogICAgPHRlYW0+DQogICAgICA8bmFtZT5GQyBCYXJjZWxvbmE8L25hbWU+DQogICAgICA8cGxheWVyPg0KICAgICAgICA8bmFtZT5MaW9uZWwgQW5kcmVzIE1lc3NpPC9uYW1lPg0KICAgICAgICA8c2Vhc29uPkNoYW1waW9ucyBMZWFndWUgMjAxNC0yMDE1PC9zZWFzb24+DQogICAgICAgIDxudW1iZXI+MTA8L251bWJlcj4NCiAgICAgICAgPHNjb3Jlcz40Mzwvc2NvcmVzPg0KICAgICAgPC9wbGF5ZXI+DQogICAgPC90ZWFtPg0KICAgIDx0ZWFtPg0KICAgICAgPG5hbWU+UmVhbCBNYWRyaWQ8L25hbWU+DQogICAgICA8cGxheWVyPg0KICAgICAgICA8bmFtZT5DcmlzdGlhbm8gUm9uYWxkbzwvbmFtZT4NCiAgICAgICAgPHNlYXNvbj5DaGFtcGlvbnMgTGVhZ3VlIDIwMTQtMjAxNTwvc2Vhc29uPg0KICAgICAgICA8bnVtYmVyPjc8L251bWJlcj4NCiAgICAgICAgPHNjb3Jlcz40ODwvc2NvcmVzPg0KICAgICAgPC9wbGF5ZXI+DQogICAgPC90ZWFtPg0KICA8L3Nwb3J0cz4NCg0KPC9kYXRhPg==";
562 updatedPayloadData = "PD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8ZGF0YT4NCiAgPHNwb3J0cz4NCiAgICA8cGVyc29uPg0KICAgICAgPG5hbWU+TGlvbmVsIEFuZHJlcyBNZXNzaTwvbmFtZT4NCiAgICAgIDxiaXJ0aGRheT4xOTkwLTA2LTI0VDAwOjAwOjAwLTAwOjExPC9iaXJ0aGRheT4NCiAgICA8L3BlcnNvbj4NCiAgICA8cGVyc29uPg0KICAgICAgPG5hbWU+Q3Jpc3RpYW5vIFJvbmFsZG88L25hbWU+DQogICAgICA8YmlydGhkYXk+MTk4NS0wMi0wNVQwMDowMDowMC0wMDowMDwvYmlydGhkYXk+DQogICAgPC9wZXJzb24+DQogICAgPHRlYW0+DQogICAgICA8bmFtZT5GQyBCYXJjZWxvbmE8L25hbWU+DQogICAgICA8cGxheWVyPg0KICAgICAgICA8bmFtZT5MaW9uZWwgQW5kcmVzIE1lc3NpPC9uYW1lPg0KICAgICAgICA8c2Vhc29uPkNoYW1waW9ucyBMZWFndWUgMjAxNC0yMDE1PC9zZWFzb24+DQogICAgICAgIDxudW1iZXI+MTA8L251bWJlcj4NCiAgICAgICAgPHNjb3Jlcz40Mzwvc2NvcmVzPg0KICAgICAgPC9wbGF5ZXI+DQogICAgPC90ZWFtPg0KICAgIDx0ZWFtPg0KICAgICAgPG5hbWU+UmVhbCBNYWRyaWQ8L25hbWU+DQogICAgICA8cGxheWVyPg0KICAgICAgICA8bmFtZT5DcmlzdGlhbm8gUm9uYWxkbzwvbmFtZT4NCiAgICAgICAgPHNlYXNvbj5DaGFtcGlvbnMgTGVhZ3VlIDIwMTQtMjAxNTwvc2Vhc29uPg0KICAgICAgICA8bnVtYmVyPjc8L251bWJlcj4NCiAgICAgICAgPHNjb3Jlcz40ODwvc2NvcmVzPg0KICAgICAgPC9wbGF5ZXI+DQogICAgPC90ZWFtPg0KICA8L3Nwb3J0cz4NCg0KPC9kYXRhPg==";
564 artifactLabel = normalizeArtifactLabel(artifactName);
569 case DCAE_INVENTORY_DOC:
572 artifactName = generateUUIDforSufix() + artifactType + "other.pdf";
573 payloadData = "aGVhdF90ZW1wbGF0ZV92ZXJzaW9uOiAyMDEzLTA1LTIzDQoNCmRlc2NyaXB0aW9uOiBTaW1wbGUgdGVtcGxhdGUgdG8gZGVwbG95IGEgc3RhY2sgd2l0aCB0d28gdmlydHVhbCBtYWNoaW5lIGluc3RhbmNlcw0KDQpwYXJhbWV0ZXJzOg0KICBpbWFnZV9uYW1lXzE6DQogICAgdHlwZTogc3RyaW5nDQogICAgbGFiZWw6IEltYWdlIE5hbWUNCiAgICBkZXNjcmlwdGlvbjogU0NPSU1BR0UgU3BlY2lmeSBhbiBpbWFnZSBuYW1lIGZvciBpbnN0YW5jZTENCiAgICBkZWZhdWx0OiBjaXJyb3MtMC4zLjEteDg2XzY0DQogIGltYWdlX25hbWVfMjoNCiAgICB0eXBlOiBzdHJpbmcNCiAgICBsYWJlbDogSW1hZ2UgTmFtZQ0KICAgIGRlc2NyaXB0aW9uOiBTQ09JTUFHRSBTcGVjaWZ5IGFuIGltYWdlIG5hbWUgZm9yIGluc3RhbmNlMg0KICAgIGRlZmF1bHQ6IGNpcnJvcy0wLjMuMS14ODZfNjQNCiAgbmV0d29ya19pZDoNCiAgICB0eXBlOiBzdHJpbmcNCiAgICBsYWJlbDogTmV0d29yayBJRA0KICAgIGRlc2NyaXB0aW9uOiBTQ09ORVRXT1JLIE5ldHdvcmsgdG8gYmUgdXNlZCBmb3IgdGhlIGNvbXB1dGUgaW5zdGFuY2UNCiAgICBoaWRkZW46IHRydWUNCiAgICBjb25zdHJhaW50czoNCiAgICAgIC0gbGVuZ3RoOiB7IG1pbjogNiwgbWF4OiA4IH0NCiAgICAgICAgZGVzY3JpcHRpb246IFBhc3N3b3JkIGxlbmd0aCBtdXN0IGJlIGJldHdlZW4gNiBhbmQgOCBjaGFyYWN0ZXJzLg0KICAgICAgLSByYW5nZTogeyBtaW46IDYsIG1heDogOCB9DQogICAgICAgIGRlc2NyaXB0aW9uOiBSYW5nZSBkZXNjcmlwdGlvbg0KICAgICAgLSBhbGxvd2VkX3ZhbHVlczoNCiAgICAgICAgLSBtMS5zbWFsbA0KICAgICAgICAtIG0xLm1lZGl1bQ0KICAgICAgICAtIG0xLmxhcmdlDQogICAgICAgIGRlc2NyaXB0aW9uOiBBbGxvd2VkIHZhbHVlcyBkZXNjcmlwdGlvbg0KICAgICAgLSBhbGxvd2VkX3BhdHRlcm46ICJbYS16QS1aMC05XSsiDQogICAgICAgIGRlc2NyaXB0aW9uOiBQYXNzd29yZCBtdXN0IGNvbnNpc3Qgb2YgY2hhcmFjdGVycyBhbmQgbnVtYmVycyBvbmx5Lg0KICAgICAgLSBhbGxvd2VkX3BhdHRlcm46ICJbQS1aXStbYS16QS1aMC05XSoiDQogICAgICAgIGRlc2NyaXB0aW9uOiBQYXNzd29yZCBtdXN0IHN0YXJ0IHdpdGggYW4gdXBwZXJjYXNlIGNoYXJhY3Rlci4NCiAgICAgIC0gY3VzdG9tX2NvbnN0cmFpbnQ6IG5vdmEua2V5cGFpcg0KICAgICAgICBkZXNjcmlwdGlvbjogQ3VzdG9tIGRlc2NyaXB0aW9uDQoNCnJlc291cmNlczoNCiAgbXlfaW5zdGFuY2UxOg0KICAgIHR5cGU6IE9TOjpOb3ZhOjpTZXJ2ZXINCiAgICBwcm9wZXJ0aWVzOg0KICAgICAgaW1hZ2U6IHsgZ2V0X3BhcmFtOiBpbWFnZV9uYW1lXzEgfQ0KICAgICAgZmxhdm9yOiBtMS5zbWFsbA0KICAgICAgbmV0d29ya3M6DQogICAgICAgIC0gbmV0d29yayA6IHsgZ2V0X3BhcmFtIDogbmV0d29ya19pZCB9DQogIG15X2luc3RhbmNlMjoNCiAgICB0eXBlOiBPUzo6Tm92YTo6U2VydmVyDQogICAgcHJvcGVydGllczoNCiAgICAgIGltYWdlOiB7IGdldF9wYXJhbTogaW1hZ2VfbmFtZV8yIH0NCiAgICAgIGZsYXZvcjogbTEudGlueQ0KICAgICAgbmV0d29ya3M6DQogICAgICAgIC0gbmV0d29yayA6IHsgZ2V0X3BhcmFtIDogbmV0d29ya19pZCB9";
574 updatedPayloadData = "aGVhdF90ZW1wbGF0ZV92ZXJzaW9uOiAyMDE2LTA1LTIzDQoNCmRlc2NyaXB0aW9uOiBTaW1wbGUgdGVtcGxhdGRzYWRzYWRzYWUgdG8gZGVwbG95IGEgc3RhY2sgd2l0aCB0d28gdmlydHVhbCBtYWNoaW5lIGluc3RhbmNlcw0KDQpwYXJhbWV0ZXJzOg0KICBpbWFnZV9uYW1lXzE6DQogICAgdHlwZTogc3RyaW5nDQogICAgbGFiZWw6IEltYWdlIE5hbWUNCiAgICBkZXNjcmlwdGlvbjogU0NPSU1BR0UgU3BlY2lmeSBhbiBpbWFkc2FkYXN3Z2UgbmFtZSBmb3IgaW5zdGFuY2UxDQogICAgZGVmYXVsdDogY2lycm9zLTAuMy4xLXg4Nl82NA0KICBpbWFnZV9uYW1lXzI6DQogICAgdHlwZTogc3RyaW5nDQogICAgbGFiZWw6IEltYWdlIE5hbWUNCiAgICBkZXNjcmlwdGlvbjogU0NPSU1BR0UgU3BlY2lmeSBhbiBpbWFnZSBuYW1lIGZvciBpbnN0YW5jZTINCiAgICBkZWZhdWx0OiBjaXJyb3MtMC4zLjEteDg2XzY0DQogIG5ldHdvcmtfaWQ6DQogICAgdHlwZTogc3RyaW5nDQogICAgbGFiZWw6IE5ldHdvcmsgSUQNCiAgICBkZXNjcmlwdGlvbjogU0NPTkVUV09SSyBOZXR3b3JrIHRvIGJlIHVzZWQgZm9yIHRoZSBjb21wdXRlIGluc3RhbmNlDQogICAgaGlkZGVuOiB0cnVlDQogICAgY29uc3RyYWludHM6DQogICAgICAtIGxlbmd0aDogeyBtaW46IDYsIG1heDogOCB9DQogICAgICAgIGRlc2NyaXB0aW9uOiBQYXNzd29yZCBsZW5ndGggbXVzdCBiZSBiZXR3ZWVuIDYgYW5kIDggY2hhcmFjdGVycy4NCiAgICAgIC0gcmFuZ2U6IHsgbWluOiA2LCBtYXg6IDggfQ0KICAgICAgICBkZXNjcmlwdGlvbjogUmFuZ2UgZGVzY3JpcHRpb24NCiAgICAgIC0gYWxsb3dlZF92YWx1ZXM6DQogICAgICAgIC0gbTEuc21hbGwNCiAgICAgICAgLSBtMS5tZWRpdW0NCiAgICAgICAgLSBtMS5sYXJnZQ0KICAgICAgICBkZXNjcmlwdGlvbjogQWxsb3dlZCB2YWx1ZXMgZGVzY3JpcHRpb24NCiAgICAgIC0gYWxsb3dlZF9wYXR0ZXJuOiAiW2EtekEtWjAtOV0rIg0KICAgICAgICBkZXNjcmlwdGlvbjogUGFzc3dvcmQgbXVzdCBjb25zaXN0IG9mIGNoYXJhY3RlcnMgYW5kIG51bWJlcnMgb25seS4NCiAgICAgIC0gYWxsb3dlZF9wYXR0ZXJuOiAiW0EtWl0rW2EtekEtWjAtOV0qIg0KICAgICAgICBkZXNjcmlwdGlvbjogUGFzc3dvcmQgbXVzdCBzdGFydCB3aXRoIGFuIHVwcGVyY2FzZSBjaGFyYWN0ZXIuDQogICAgICAtIGN1c3RvbV9jb25zdHJhaW50OiBub3ZhLmtleXBhaXINCiAgICAgICAgZGVzY3JpcHRpb246IEN1c3RvbSBkZXNjcmlwdGlvbg0KDQpyZXNvdXJjZXM6DQogIG15X2luc3RhbmNlMToNCiAgICB0eXBlOiBPUzo6Tm92YTo6U2VydmVyDQogICAgcHJvcGVydGllczoNCiAgICAgIGltYWdlOiB7IGdldF9wYXJhbTogaW1hZ2VfbmFtZV8xIH0NCiAgICAgIGZsYXZvcjogbTEuc21hbGwNCiAgICAgIG5ldHdvcmtzOg0KICAgICAgICAtIG5ldHdvcmsgOiB7IGdldF9wYXJhbSA6IG5ldHdvcmtfaWQgfQ0KICBteV9pbnN0YW5jZTI6DQogICAgdHlwZTogT1M6Ok5vdmE6OlNlcnZlcg0KICAgIHByb3BlcnRpZXM6DQogICAgICBpbWFnZTogeyBnZXRfcGFyYW06IGltYWdlX25hbWVfMiB9DQogICAgICBmbGF2b3I6IG0xLnRpbnkNCiAgICAgIG5ldHdvcmtzOg0KICAgICAgICAtIG5ldHdvcmsgOiB7IGdldF9wYXJhbSA6IG5ldHdvcmtfaWQgfQ";
576 artifactLabel = normalizeArtifactLabel(artifactName);
581 artifactName = generateUUIDforSufix() + "testArtifact.sh";
582 payloadData = "dGVzdA==";
583 updatedPayloadData = "YmVzYg==";
584 artifactLabel = normalizeArtifactLabel(artifactName);
588 artifactLabel = normalizeArtifactLabel("ci" + artifactName);
590 ArtifactReqDetails artifactDetails = null;
592 if (!updatedPayload){
593 artifactDetails = new ArtifactReqDetails(artifactName, artifactType, artifactDescription, payloadData, artifactLabel);
595 else artifactDetails = new ArtifactReqDetails(artifactName, artifactType, artifactDescription,
596 updatedPayloadData, artifactLabel);
598 artifactDetails.setArtifactGroupType(ArtifactGroupTypeEnum.DEPLOYMENT.getType());
599 artifactDetails.setUrl(url);
600 artifactDetails.setTimeout(timeout);
601 artifactDetails.setArtifactDisplayName(artifactLabel);
602 return artifactDetails;
605 private static String getDcaeArtifactName(ArtifactTypeEnum artifactTypeEnum, String artifactType) {
606 String artifactName = null;
607 switch (artifactTypeEnum) {
608 case DCAE_INVENTORY_TOSCA: {
609 artifactName = generateUUIDforSufix() + artifactType + "_toscaSampleArtifact.yml";
612 case DCAE_INVENTORY_JSON: {
613 artifactName = generateUUIDforSufix() + artifactType + "_jsonSampleArtifact.json";
616 case DCAE_INVENTORY_POLICY: {
617 artifactName = generateUUIDforSufix() + artifactType + "_emfSampleArtifact.emf";
620 case DCAE_INVENTORY_DOC: {
621 artifactName = generateUUIDforSufix() + artifactType + "_docSampleArtifact.doc";
624 case DCAE_INVENTORY_BLUEPRINT: {
625 artifactName = generateUUIDforSufix() + artifactType + "_bluePrintSampleArtifact.xml";
628 case DCAE_INVENTORY_EVENT: {
629 artifactName = generateUUIDforSufix() + artifactType + "_eventSampleArtifact.xml";
636 // ---------------------Audit message------------------
637 public static ExpectedResourceAuditJavaObject getDefaultImportResourceAuditMsgSuccess() {
639 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject();
640 expectedResourceAuditJavaObject.setAction(AuditingActionEnum.IMPORT_RESOURCE.getName());
641 expectedResourceAuditJavaObject.setResourceName("defaultImportResourceName.yaml");
642 expectedResourceAuditJavaObject.setResourceType("Resource");
643 expectedResourceAuditJavaObject.setPrevVersion("");
644 expectedResourceAuditJavaObject.setCurrVersion("0.1");
645 expectedResourceAuditJavaObject.setModifierName(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getFullName());
646 expectedResourceAuditJavaObject.setModifierUid(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getUserId());
647 expectedResourceAuditJavaObject.setPrevState("");
648 expectedResourceAuditJavaObject.setCurrState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.toString());
649 expectedResourceAuditJavaObject.setStatus("201");
650 expectedResourceAuditJavaObject.setDesc("OK");
651 expectedResourceAuditJavaObject.setToscaNodeType("");
652 return expectedResourceAuditJavaObject;
656 public static ExpectedResourceAuditJavaObject getDefaultImportResourceAuditMsgFailure(ErrorInfo errorInfo, List<String> variables) {
658 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject();
659 expectedResourceAuditJavaObject.setAction(AuditingActionEnum.IMPORT_RESOURCE.getName());
660 expectedResourceAuditJavaObject.setResourceName("");
661 expectedResourceAuditJavaObject.setResourceType("Resource");
662 expectedResourceAuditJavaObject.setPrevVersion("");
663 expectedResourceAuditJavaObject.setCurrVersion("");
664 expectedResourceAuditJavaObject.setModifierName(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getFullName());
665 expectedResourceAuditJavaObject.setModifierUid(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getUserId());
666 expectedResourceAuditJavaObject.setPrevState("");
667 expectedResourceAuditJavaObject.setCurrState("");
668 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
669 expectedResourceAuditJavaObject.setDesc(AuditValidationUtils.buildAuditDescription(errorInfo, variables));
670 expectedResourceAuditJavaObject.setToscaNodeType("");
671 return expectedResourceAuditJavaObject;
675 public static ExpectedResourceAuditJavaObject getDefaultCertificationRequestAuditMsgSuccess() {
677 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject();
678 expectedResourceAuditJavaObject.setAction(AuditingActionEnum.CERTIFICATION_REQUEST_RESOURCE.getName());
679 expectedResourceAuditJavaObject.setResourceName("defaultResourceName");
680 expectedResourceAuditJavaObject.setResourceType("Resource");
681 expectedResourceAuditJavaObject.setPrevVersion("");
682 expectedResourceAuditJavaObject.setCurrVersion("0.1");
683 expectedResourceAuditJavaObject.setModifierName(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getFullName());
684 expectedResourceAuditJavaObject.setModifierUid(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getUserId());
685 expectedResourceAuditJavaObject.setPrevState("");
686 expectedResourceAuditJavaObject.setCurrState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.toString());
687 expectedResourceAuditJavaObject.setStatus("200");
688 expectedResourceAuditJavaObject.setDesc("OK");
689 expectedResourceAuditJavaObject.setComment("");
690 return expectedResourceAuditJavaObject;
694 public static ExpectedResourceAuditJavaObject getDefaultCertificationRequestAuditMsgFailure(ErrorInfo errorInfo, List<String> variables) {
696 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject();
697 expectedResourceAuditJavaObject.setAction(AuditingActionEnum.CERTIFICATION_REQUEST_RESOURCE.getName());
698 expectedResourceAuditJavaObject.setResourceName("");
699 expectedResourceAuditJavaObject.setResourceType("Resource");
700 expectedResourceAuditJavaObject.setPrevVersion("0.1");
701 expectedResourceAuditJavaObject.setCurrVersion("0.1");
702 expectedResourceAuditJavaObject.setModifierName(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getFullName());
703 expectedResourceAuditJavaObject.setModifierUid(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getUserId());
704 expectedResourceAuditJavaObject.setPrevState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.toString());
705 expectedResourceAuditJavaObject.setCurrState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.toString());
706 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
707 expectedResourceAuditJavaObject.setDesc(AuditValidationUtils.buildAuditDescription(errorInfo, variables));
708 expectedResourceAuditJavaObject.setComment("");
709 return expectedResourceAuditJavaObject;
713 public static ExpectedExternalAudit getDefaultExternalAuditObject(AssetTypeEnum assetType, AuditingActionEnum action, String query) {
715 ExpectedExternalAudit expectedExternalAudit = new ExpectedExternalAudit();
716 expectedExternalAudit.setACTION(action.getName());
717 expectedExternalAudit.setCONSUMER_ID("ci");
718 expectedExternalAudit.setRESOURCE_URL("/sdc/v1/catalog/" + assetType.getValue() + (query == null ? "" : query));
719 expectedExternalAudit.setSTATUS("200");
720 expectedExternalAudit.setDESC("OK");
721 return expectedExternalAudit;
725 public static ExpectedExternalAudit getDefaultAssetListAudit(AssetTypeEnum assetType, AuditingActionEnum auditAction) {
727 // ExpectedExternalAudit expectedAssetListAuditJavaObject = new
728 // ExpectedExternalAudit();
729 ExpectedExternalAudit expectedAssetListAuditJavaObject = getDefaultExternalAuditObject(assetType, auditAction, null);
730 return expectedAssetListAuditJavaObject;
734 public static ExpectedExternalAudit getDefaultFilteredAssetListAudit(AssetTypeEnum assetType, String query) {
736 // ExpectedExternalAudit expectedAssetListAuditJavaObject = new
737 // ExpectedExternalAudit();
738 ExpectedExternalAudit expectedAssetListAuditJavaObject = getDefaultExternalAuditObject(assetType, AuditingActionEnum.GET_FILTERED_ASSET_LIST, query);
739 return expectedAssetListAuditJavaObject;
743 public static ExpectedExternalAudit getDefaultExternalArtifactAuditSuccess(AssetTypeEnum assetType, AuditingActionEnum action, ArtifactDefinition artifactDefinition, String componentUUID) {
745 // ExpectedExternalAudit expectedExternalArtifactAudit = new
746 // ExpectedExternalAudit();
748 ExpectedExternalAudit expectedExternalArtifactAudit = getDefaultExternalAuditObject(assetType, action, null);
749 expectedExternalArtifactAudit.setMODIFIER(AuditValidationUtils.getModifierString(artifactDefinition.getUpdaterFullName(), artifactDefinition.getUserIdLastUpdater()));
750 expectedExternalArtifactAudit.setPREV_ARTIFACT_UUID("");
751 expectedExternalArtifactAudit.setCURR_ARTIFACT_UUID(artifactDefinition.getArtifactUUID());
752 expectedExternalArtifactAudit.setARTIFACT_DATA(AuditValidationUtils.buildArtifactDataAudit(artifactDefinition));
753 expectedExternalArtifactAudit.setRESOURCE_URL(expectedExternalArtifactAudit.getRESOURCE_URL() + "/" + componentUUID + "/artifacts");
754 return expectedExternalArtifactAudit;
758 public static ExpectedExternalAudit getDefaultExternalArtifactAuditSuccess(AssetTypeEnum assetType, AuditingActionEnum action, ArtifactDefinition artifactDefinition, Component component) {
760 //ExpectedExternalAudit expectedExternalArtifactAudit = new ExpectedExternalAudit();
762 ExpectedExternalAudit expectedExternalArtifactAudit = getDefaultExternalAuditObject(assetType, action, null);
763 expectedExternalArtifactAudit.setMODIFIER(AuditValidationUtils.getModifierString(artifactDefinition.getUpdaterFullName(), artifactDefinition.getUserIdLastUpdater()));
764 expectedExternalArtifactAudit.setPREV_ARTIFACT_UUID("");
765 expectedExternalArtifactAudit.setCURR_ARTIFACT_UUID(artifactDefinition.getArtifactUUID());
766 expectedExternalArtifactAudit.setARTIFACT_DATA(AuditValidationUtils.buildArtifactDataAudit(artifactDefinition));
767 expectedExternalArtifactAudit.setRESOURCE_URL(expectedExternalArtifactAudit.getRESOURCE_URL() + "/" + component.getUUID() + "/artifacts");
768 expectedExternalArtifactAudit.setRESOURCE_NAME(component.getName());
769 expectedExternalArtifactAudit.setRESOURCE_TYPE(component.getComponentType().getValue());
770 return expectedExternalArtifactAudit;
774 public static ExpectedResourceAuditJavaObject getDefaultCreateResourceExternalAPI(String resourceName) {
776 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject();
777 expectedResourceAuditJavaObject.setAction(AuditingActionEnum.CREATE_RESOURCE_BY_API.getName());
778 expectedResourceAuditJavaObject.setResourceName(resourceName);
779 expectedResourceAuditJavaObject.setResourceType("Resource");
780 expectedResourceAuditJavaObject.setCONSUMER_ID("ci");
781 expectedResourceAuditJavaObject.setRESOURCE_URL("/sdc/v1/catalog/resources");
782 expectedResourceAuditJavaObject.setMODIFIER("");
783 expectedResourceAuditJavaObject.setPrevVersion("");
784 expectedResourceAuditJavaObject.setCurrVersion("0.1");
785 expectedResourceAuditJavaObject.setPrevState("");
786 expectedResourceAuditJavaObject.setCurrState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.toString());
787 expectedResourceAuditJavaObject.setStatus("201");
788 expectedResourceAuditJavaObject.setDesc("OK");
790 return expectedResourceAuditJavaObject;
795 public static ExpectedResourceAuditJavaObject getDefaultChangeAssetLifeCycleExternalAPI(Component resourceAssetStructure, User defaultUser, LifeCycleStatesEnum lifecycleStateEnum, AssetTypeEnum assetTypeEnum) {
797 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject();
798 expectedResourceAuditJavaObject.setAction(AuditingActionEnum.CHANGE_LIFECYCLE_BY_API.getName());
799 expectedResourceAuditJavaObject.setResourceName(resourceAssetStructure.getName());
800 expectedResourceAuditJavaObject.setResourceType(assetTypeEnum.getCorrespondingComponent());
801 expectedResourceAuditJavaObject.setCONSUMER_ID("ci");
802 expectedResourceAuditJavaObject.setRESOURCE_URL(String.format("/sdc/v1/catalog/%s/%s/lifecycleState/%s", assetTypeEnum.getValue().toLowerCase(), resourceAssetStructure.getUUID(), lifecycleStateEnum.getState()));
803 expectedResourceAuditJavaObject.setMODIFIER(defaultUser.getFullName() + "(" + defaultUser.getUserId() + ")");
804 expectedResourceAuditJavaObject.setPrevVersion("0.1");
805 expectedResourceAuditJavaObject.setCurrVersion("0.1");
806 expectedResourceAuditJavaObject.setPrevState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.toString());
807 expectedResourceAuditJavaObject.setCurrState(LifecycleStateEnum.NOT_CERTIFIED_CHECKIN.toString());
808 // TODO: Remove comment
809 // expectedResourceAuditJavaObject.setINVARIANT_UUID(resourceAssetStructure.getInvariantUUID());
810 // TODO: SERVICE_INSTANCE_ID
811 expectedResourceAuditJavaObject.setStatus("201");
812 expectedResourceAuditJavaObject.setDesc("OK");
814 return expectedResourceAuditJavaObject;
818 public static ExpectedResourceAuditJavaObject getDefaultInvalidChangeAssetLifeCycleExternalAPI(String assetUUID, User defaultUser, LifeCycleStatesEnum lifecycleStateEnum, AssetTypeEnum assetTypeEnum) {
820 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject();
821 expectedResourceAuditJavaObject.setAction(AuditingActionEnum.CHANGE_LIFECYCLE_BY_API.getName());
822 expectedResourceAuditJavaObject.setResourceName("");
823 expectedResourceAuditJavaObject.setResourceType(assetTypeEnum.getCorrespondingComponent());
824 expectedResourceAuditJavaObject.setCONSUMER_ID("ci");
825 expectedResourceAuditJavaObject.setRESOURCE_URL(String.format("/sdc/v1/catalog/%s/%s/lifecycleState/%s", assetTypeEnum.getValue().toLowerCase(), assetUUID, lifecycleStateEnum.getState()));
826 expectedResourceAuditJavaObject.setMODIFIER("");
827 expectedResourceAuditJavaObject.setMODIFIER(defaultUser.getFullName() + "(" + defaultUser.getUserId() + ")");
828 expectedResourceAuditJavaObject.setPrevVersion("");
829 expectedResourceAuditJavaObject.setCurrVersion("");
830 expectedResourceAuditJavaObject.setPrevState("");
831 expectedResourceAuditJavaObject.setCurrState("");
832 expectedResourceAuditJavaObject.setStatus("404");
833 expectedResourceAuditJavaObject.setDesc("OK");
835 return expectedResourceAuditJavaObject;
839 public static ExpectedExternalAudit getDefaultExternalArtifactAuditSuccess(AssetTypeEnum assetType, AuditingActionEnum action, ArtifactDefinition artifactDefinition, String componentUUID, String resourceInstanceName) {
841 ExpectedExternalAudit expectedExternalArtifactAudit = getDefaultExternalArtifactAuditSuccess(assetType, action, artifactDefinition, componentUUID);
842 expectedExternalArtifactAudit.setRESOURCE_URL("/sdc/v1/catalog/" + assetType.getValue() + "/" + componentUUID + "/resourceInstances/" + resourceInstanceName + "/artifacts");
843 return expectedExternalArtifactAudit;
846 public static ExpectedExternalAudit getDefaultExternalArtifactAuditFailure(AssetTypeEnum assetType, AuditingActionEnum action, ArtifactDefinition artifactDefinition, String componentUUID, ErrorInfo errorInfo, List<String> variables) {
848 // ExpectedExternalAudit expectedExternalArtifactAudit = new
849 // ExpectedExternalAudit();
851 ExpectedExternalAudit expectedExternalArtifactAudit = getDefaultExternalAuditObject(assetType, action, null);
852 expectedExternalArtifactAudit.setMODIFIER(AuditValidationUtils.getModifierString(artifactDefinition.getUpdaterFullName(), artifactDefinition.getUserIdLastUpdater()));
853 expectedExternalArtifactAudit.setPREV_ARTIFACT_UUID("");
854 expectedExternalArtifactAudit.setCURR_ARTIFACT_UUID(artifactDefinition.getArtifactUUID());
855 expectedExternalArtifactAudit.setARTIFACT_DATA(AuditValidationUtils.buildArtifactDataAudit(artifactDefinition));
856 expectedExternalArtifactAudit.setRESOURCE_URL(expectedExternalArtifactAudit.getRESOURCE_URL() + "/" + componentUUID + "/artifacts");
857 expectedExternalArtifactAudit.setSTATUS(errorInfo.getCode().toString());
858 expectedExternalArtifactAudit.setDESC(AuditValidationUtils.buildAuditDescription(errorInfo, variables));
859 return expectedExternalArtifactAudit;
863 public static ExpectedExternalAudit getDefaultExternalArtifactAuditFailure(AssetTypeEnum assetType, AuditingActionEnum action, ArtifactDefinition artifactDefinition, String componentUUID, ErrorInfo errorInfo, List<String> variables,
864 String resourceInstanceName) {
866 ExpectedExternalAudit expectedExternalArtifactAudit = getDefaultExternalArtifactAuditFailure(assetType, action, artifactDefinition, componentUUID, errorInfo, variables);
867 expectedExternalArtifactAudit.setRESOURCE_URL("/sdc/v1/catalog/" + assetType.getValue() + "/" + componentUUID + "/resourceInstances/" + resourceInstanceName + "/artifacts");
868 return expectedExternalArtifactAudit;
871 public static ExpectedExternalAudit getFilteredAssetListAuditCategoryNotFound(AssetTypeEnum assetType, String query, String category) {
873 // ExpectedExternalAudit expectedAssetListAuditJavaObject = new
874 // ExpectedExternalAudit();
875 ExpectedExternalAudit expectedAssetListAuditJavaObject = getDefaultExternalAuditObject(assetType, AuditingActionEnum.GET_FILTERED_ASSET_LIST, query);
876 expectedAssetListAuditJavaObject.setSTATUS("404");
877 ErrorInfo errorInfo = null;
879 errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.COMPONENT_CATEGORY_NOT_FOUND.name());
880 } catch (FileNotFoundException e) {
883 String desc = (errorInfo.getMessageId() + ": " + errorInfo.getMessage()).replace("%2", "category").replace("%3", category).replace("%1", "resource");
884 expectedAssetListAuditJavaObject.setDESC(desc);
886 return expectedAssetListAuditJavaObject;
890 public static ExpectedExternalAudit getDefaultAssetMetadataAudit(AssetTypeEnum assetType, Component component) {
892 ExpectedExternalAudit expectedAssetListAuditJavaObject = new ExpectedExternalAudit();
893 expectedAssetListAuditJavaObject = getDefaultExternalAuditObject(assetType, AuditingActionEnum.GET_ASSET_METADATA, null);
894 expectedAssetListAuditJavaObject.setRESOURCE_URL(expectedAssetListAuditJavaObject.getRESOURCE_URL() + "/" + component.getUUID() + "/metadata");
895 expectedAssetListAuditJavaObject.setRESOURCE_NAME(component.getName());
896 expectedAssetListAuditJavaObject.setRESOURCE_TYPE(component.getComponentType().getValue());
897 expectedAssetListAuditJavaObject.setSERVICE_INSTANCE_ID(component.getUUID());
898 return expectedAssetListAuditJavaObject;
902 public static ExpectedExternalAudit getDefaultAssetMetadataAuditFailure(AssetTypeEnum assetType, String serviceUuid, String resourceType) {
904 ExpectedExternalAudit expectedAssetListAuditJavaObject = new ExpectedExternalAudit();
905 expectedAssetListAuditJavaObject = getDefaultExternalAuditObject(assetType, AuditingActionEnum.GET_ASSET_METADATA, null);
906 expectedAssetListAuditJavaObject.setSTATUS("404");
907 expectedAssetListAuditJavaObject.setDESC("OK");
908 expectedAssetListAuditJavaObject.setRESOURCE_URL(expectedAssetListAuditJavaObject.getRESOURCE_URL() + "/" + serviceUuid + "/metadata");
909 expectedAssetListAuditJavaObject.setRESOURCE_TYPE(resourceType);
910 expectedAssetListAuditJavaObject.setSERVICE_INSTANCE_ID(serviceUuid);
911 return expectedAssetListAuditJavaObject;
915 // Category/Subcategory/Group
916 public static CategoryDefinition getDefaultCategory() {
917 CategoryDefinition productCategoryDefinition = new CategoryDefinition();
918 productCategoryDefinition.setName("CiCateg" + generateUUIDforSufix());
919 return productCategoryDefinition;
922 public static SubCategoryDefinition getDefaultSubCategory() {
923 SubCategoryDefinition productSubCategoryDefinition = new SubCategoryDefinition();
924 productSubCategoryDefinition.setName("CiSubCateg" + generateUUIDforSufix());
925 return productSubCategoryDefinition;
928 public static GroupingDefinition getDefaultGroup() {
929 GroupingDefinition productGroupDefinition = new GroupingDefinition();
930 productGroupDefinition.setName("CiGrouping1" + generateUUIDforSufix());
931 return productGroupDefinition;
936 public static ProductReqDetails getDefaultProduct() {
937 return createDefaultProductReqDetails(CI_PRODUCT, null);
940 public static ProductReqDetails getDefaultProduct(String name) {
941 return createDefaultProductReqDetails(name, null);
944 public static ProductReqDetails getDefaultProduct(CategoryDefinition category) {
945 List<CategoryDefinition> categories = new ArrayList<>();
946 categories.add(category);
947 return createDefaultProductReqDetails(CI_PRODUCT, categories);
950 public static ProductReqDetails getDefaultProduct(String name, CategoryDefinition category) {
951 List<CategoryDefinition> categories = new ArrayList<>();
952 categories.add(category);
953 return createDefaultProductReqDetails(name, categories);
956 public static ProductReqDetails getDefaultProduct(List<CategoryDefinition> categories) {
957 return createDefaultProductReqDetails(CI_PRODUCT, categories);
960 public static ProductReqDetails getDefaultProduct(String name, List<CategoryDefinition> categories) {
961 return createDefaultProductReqDetails(name, categories);
964 private static ProductReqDetails createDefaultProductReqDetails(String productName, List<CategoryDefinition> categories) {
965 ProductReqDetails product = new ProductReqDetails(productName);
966 productName = (productName + generateUUIDforSufix());
967 product.setName(productName);
968 ArrayList<String> tags = new ArrayList<>();
969 tags.add(productName);
970 product.setTags(tags);
971 product.setProjectCode("12345");
972 product.setIcon("myIcon");
973 ArrayList<String> contacts = new ArrayList<>();
974 // contacts.add(ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_STRATEGIST1).getUserId());
975 // contacts.add(ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_STRATEGIST2).getUserId());
976 contacts.add(ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_MANAGER1).getUserId());
977 // contacts.add(ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_MANAGER2).getUserId());
978 product.setContacts(contacts);
979 product.setContactId(UserRoleEnum.PRODUCT_MANAGER1.getUserId());
980 product.setCategories(categories);
981 String fullName = "This is my full name: " + productName;
982 product.setFullName(fullName);
983 String description = "This is product description";
984 product.setDescription(description);
988 public static RequirementCapabilityRelDef getReqCapRelation(String fromCompInstId, String toCompInstId, String reqOwnerId, String capOwnerId, String capType, String reqCapName, List<CapabilityDefinition> capList,
989 List<RequirementDefinition> reqList) {
990 RequirementCapabilityRelDef requirementDef = new RequirementCapabilityRelDef();
991 requirementDef.setFromNode(fromCompInstId);
992 requirementDef.setToNode(toCompInstId);
993 RelationshipInfo relationInfo = new RelationshipInfo();
994 relationInfo.setRequirementOwnerId(reqOwnerId);
995 relationInfo.setCapabilityOwnerId(capOwnerId);
996 relationInfo.setRequirement(reqCapName);
997 RelationshipImpl relationImpl = new RelationshipImpl();
998 relationImpl.setType(capType);
999 relationInfo.setRelationships(relationImpl);
1000 relationInfo.setCapabilityUid(capList.get(0).getUniqueId());
1001 relationInfo.setRequirementUid(reqList.get(0).getUniqueId());
1002 List<CapabilityRequirementRelationship> relationships = new ArrayList<>();
1003 CapabilityRequirementRelationship relationship = new CapabilityRequirementRelationship();
1004 relationship.setRelation(relationInfo);
1005 relationships.add(relationship);
1006 requirementDef.setRelationships(relationships);
1007 return requirementDef;
1010 public static String generateUUIDforSufix() {
1012 String uniqueSufix = UUID.randomUUID().toString();
1013 String[] split = uniqueSufix.split("-");
1014 return uniqueSufix = split[4];
1017 private static String normalizeArtifactLabel(String label) {
1019 label = label.substring(0, label.indexOf("."));
1020 String normalizedLabel = ValidationUtils.normalizeArtifactLabel(label);
1021 return normalizedLabel.substring(0, Math.min(25, normalizedLabel.length()));