2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2019 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.be.ecomp.converters;
23 import fj.data.Either;
24 import mockit.Deencapsulation;
25 import org.junit.Assert;
26 import org.junit.Test;
27 import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
28 import org.openecomp.sdc.be.externalapi.servlet.representation.ArtifactMetadata;
29 import org.openecomp.sdc.be.externalapi.servlet.representation.AssetMetadata;
30 import org.openecomp.sdc.be.externalapi.servlet.representation.ResourceAssetDetailedMetadata;
31 import org.openecomp.sdc.be.externalapi.servlet.representation.ResourceAssetMetadata;
32 import org.openecomp.sdc.be.externalapi.servlet.representation.ResourceInstanceMetadata;
33 import org.openecomp.sdc.be.externalapi.servlet.representation.ServiceAssetDetailedMetadata;
34 import org.openecomp.sdc.be.externalapi.servlet.representation.ServiceAssetMetadata;
35 import org.openecomp.sdc.be.model.ArtifactDefinition;
36 import org.openecomp.sdc.be.model.Component;
37 import org.openecomp.sdc.be.model.ComponentInstance;
38 import org.openecomp.sdc.be.model.DistributionStatusEnum;
39 import org.openecomp.sdc.be.model.LifecycleStateEnum;
40 import org.openecomp.sdc.be.model.Resource;
41 import org.openecomp.sdc.be.model.Service;
42 import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
43 import org.openecomp.sdc.common.api.ArtifactGroupTypeEnum;
44 import org.openecomp.sdc.exception.ResponseFormat;
46 import java.util.HashMap;
47 import java.util.LinkedList;
48 import java.util.List;
51 public class AssetMetadataConverterTest {
53 private AssetMetadataConverter createTestSubject() {
54 return new AssetMetadataConverter();
58 public void testConvertToAssetMetadata() throws Exception {
59 AssetMetadataConverter testSubject;
60 List<? extends Component> componentList = null;
61 String serverBaseURL = "";
62 boolean detailed = false;
63 Either<List<? extends AssetMetadata>, ResponseFormat> result;
66 testSubject = createTestSubject();
68 result = testSubject.convertToAssetMetadata(componentList, serverBaseURL, detailed);
72 public void testConvertToSingleAssetMetadata() throws Exception {
73 AssetMetadataConverter testSubject;
74 Resource component = new Resource();
75 String serverBaseURL = "";
76 boolean detailed = false;
77 Either<? extends AssetMetadata, ResponseFormat> result;
78 component.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKIN);
79 component.setComponentType(ComponentTypeEnum.RESOURCE);
81 testSubject = createTestSubject();
82 result = testSubject.convertToSingleAssetMetadata(component, serverBaseURL, detailed);
86 public void testConvertToMetadata() throws Exception {
87 AssetMetadataConverter testSubject;
88 String serverBaseURL = "";
89 boolean detailed = false;
90 Resource curr = new Resource();
91 Either<? extends AssetMetadata, ResponseFormat> result;
92 curr.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKIN);
93 curr.setComponentType(ComponentTypeEnum.RESOURCE);
95 testSubject = createTestSubject();
96 result = Deencapsulation.invoke(testSubject, "convertToMetadata", ComponentTypeEnum.RESOURCE, serverBaseURL,
101 public void testGenerateResourceMeatdata() throws Exception {
102 AssetMetadataConverter testSubject;
103 String serverBaseURL = "";
104 Resource curr = new Resource();
105 Either<? extends AssetMetadata, ResponseFormat> result;
106 curr.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKIN);
107 curr.setComponentType(ComponentTypeEnum.RESOURCE);
109 testSubject = createTestSubject();
110 result = Deencapsulation.invoke(testSubject, "generateResourceMeatdata", serverBaseURL, true, curr);
114 public void testCreateMetadaObject() throws Exception {
115 AssetMetadataConverter testSubject;
116 AssetMetadata result;
119 testSubject = createTestSubject();
120 result = Deencapsulation.invoke(testSubject, "createMetadaObject", true, ComponentTypeEnum.RESOURCE);
124 public void testGenerateServiceMetadata() throws Exception {
125 AssetMetadataConverter testSubject;
126 String serverBaseURL = "";
127 boolean detailed = false;
128 Service curr = new Service();
129 curr.setLifecycleState(LifecycleStateEnum.CERTIFIED);
130 curr.setDistributionStatus(DistributionStatusEnum.DISTRIBUTED);
132 Either<? extends AssetMetadata, ResponseFormat> result;
135 testSubject = createTestSubject();
136 result = Deencapsulation.invoke(testSubject, "generateServiceMetadata", serverBaseURL, detailed, curr);
140 public void testConvertToAsset() throws Exception {
141 AssetMetadataConverter testSubject;
142 ResourceAssetMetadata asset = new ResourceAssetMetadata();
143 Resource component = new Resource();
144 String serverBaseURL = "";
145 ResourceAssetMetadata result;
148 testSubject = createTestSubject();
149 result = Deencapsulation.invoke(testSubject, "convertToAsset", asset, component, serverBaseURL, true);
153 public void testConvertToResourceMetadata() throws Exception {
154 AssetMetadataConverter testSubject;
155 ResourceAssetMetadata assetToPopulate = new ResourceAssetMetadata();
156 Resource resource = new Resource();
157 String serverBaseURL = "";
158 boolean detailed = false;
159 ResourceAssetMetadata result;
160 resource.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKIN);
163 testSubject = createTestSubject();
164 result = Deencapsulation.invoke(testSubject, "convertToResourceMetadata", assetToPopulate, resource,
165 serverBaseURL, true);
169 public void testConvertToServiceAssetMetadata() throws Exception {
170 AssetMetadataConverter testSubject;
171 ServiceAssetMetadata assetToPopulate = new ServiceAssetMetadata();
172 Service service = new Service();
173 service.setLifecycleState(LifecycleStateEnum.CERTIFIED);
174 service.setDistributionStatus(DistributionStatusEnum.DISTRIBUTED);
175 String serverBaseURL = "";
176 boolean detailed = false;
177 ServiceAssetMetadata result;
180 testSubject = createTestSubject();
181 result = Deencapsulation.invoke(testSubject, "convertToServiceAssetMetadata", assetToPopulate, service,
182 serverBaseURL, true);
186 public void testConvertToResourceDetailedMetadata() throws Exception {
187 AssetMetadataConverter testSubject;
188 ResourceAssetDetailedMetadata assetToPopulate = new ResourceAssetDetailedMetadata();
189 Resource resource = new Resource();
190 String serverBaseURL = "";
191 Either<ResourceAssetDetailedMetadata, StorageOperationStatus> result;
194 testSubject = createTestSubject();
195 result = Deencapsulation.invoke(testSubject, "convertToResourceDetailedMetadata", assetToPopulate, resource,
200 public void testConvertToServiceDetailedMetadata() throws Exception {
201 AssetMetadataConverter testSubject;
202 ServiceAssetDetailedMetadata assetToPopulate = new ServiceAssetDetailedMetadata();
203 Service service = new Service();
204 Either<ServiceAssetDetailedMetadata, StorageOperationStatus> result;
207 testSubject = createTestSubject();
208 result = Deencapsulation.invoke(testSubject, "convertToServiceDetailedMetadata", assetToPopulate, service);
212 public void testPopulateResourceWithArtifacts() throws Exception {
213 AssetMetadataConverter testSubject;
214 ResourceAssetDetailedMetadata asset = new ResourceAssetDetailedMetadata();
215 Resource resource = new Resource();
216 Map<String, ArtifactDefinition> artifacts = new HashMap<>();
217 ResourceAssetDetailedMetadata result;
220 testSubject = createTestSubject();
221 result = Deencapsulation.invoke(testSubject, "populateResourceWithArtifacts", asset, resource, artifacts);
225 public void testPopulateServiceWithArtifacts() throws Exception {
226 AssetMetadataConverter testSubject;
227 ServiceAssetDetailedMetadata asset = new ServiceAssetDetailedMetadata();
228 Service service = new Service();
229 Map<String, ArtifactDefinition> artifacts = new HashMap<>();
230 ServiceAssetDetailedMetadata result;
231 service.setLifecycleState(LifecycleStateEnum.CERTIFIED);
232 service.setDistributionStatus(DistributionStatusEnum.DISTRIBUTED);
234 testSubject = createTestSubject();
235 result = Deencapsulation.invoke(testSubject, "populateServiceWithArtifacts",
236 asset, Service.class, artifacts);
240 public void testPopulateAssetWithArtifacts() throws Exception {
241 AssetMetadataConverter testSubject;
242 Resource component = new Resource();
243 Map<String, ArtifactDefinition> artifacts = new HashMap<>();
244 List<ArtifactMetadata> result;
247 testSubject = createTestSubject();
248 result = Deencapsulation.invoke(testSubject, "populateAssetWithArtifacts", component, artifacts);
249 Assert.assertEquals(null, result);
253 public void testConvertToArtifactMetadata() throws Exception {
254 AssetMetadataConverter testSubject;
255 ArtifactDefinition artifact = new ArtifactDefinition();
256 artifact.setArtifactGroupType(ArtifactGroupTypeEnum.DEPLOYMENT);
257 String componentType = "";
258 String componentUUID = "";
259 String resourceInstanceName = "";
260 ArtifactMetadata result;
263 testSubject = createTestSubject();
264 result = Deencapsulation.invoke(testSubject, "convertToArtifactMetadata", artifact, componentType,
265 componentUUID, resourceInstanceName);
269 public void testConvertToResourceInstanceMetadata() throws Exception {
270 AssetMetadataConverter testSubject;
271 List<ComponentInstance> componentInstances = new LinkedList<>();
272 String componentType = "";
273 String componentUUID = "";
274 Either<List<ResourceInstanceMetadata>, StorageOperationStatus> result;
277 testSubject = createTestSubject();
278 result = Deencapsulation.invoke(testSubject, "convertToResourceInstanceMetadata",
279 new Object[] { componentInstances, componentType, componentUUID });