Catalog alignment
[sdc.git] / catalog-be / src / test / java / org / openecomp / sdc / be / ecomp / converters / AssetMetadataConverterTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
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
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
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=========================================================
19  */
20
21 package org.openecomp.sdc.be.ecomp.converters;
22
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;
45
46 import java.util.HashMap;
47 import java.util.LinkedList;
48 import java.util.List;
49 import java.util.Map;
50
51 public class AssetMetadataConverterTest {
52
53         private AssetMetadataConverter createTestSubject() {
54                 return new AssetMetadataConverter();
55         }
56
57         @Test
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;
64
65                 // test 1
66                 testSubject = createTestSubject();
67                 componentList = null;
68                 result = testSubject.convertToAssetMetadata(componentList, serverBaseURL, detailed);
69         }
70
71         @Test
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);
80                 // default test
81                 testSubject = createTestSubject();
82                 result = testSubject.convertToSingleAssetMetadata(component, serverBaseURL, detailed);
83         }
84
85         @Test
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);
94                 // default test
95                 testSubject = createTestSubject();
96                 result = Deencapsulation.invoke(testSubject, "convertToMetadata", ComponentTypeEnum.RESOURCE, serverBaseURL,
97                                 detailed, curr);
98         }
99
100         @Test
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);
108                 // default test
109                 testSubject = createTestSubject();
110                 result = Deencapsulation.invoke(testSubject, "generateResourceMeatdata", serverBaseURL, true, curr);
111         }
112
113         @Test
114         public void testCreateMetadaObject() throws Exception {
115                 AssetMetadataConverter testSubject;
116                 AssetMetadata result;
117
118                 // default test
119                 testSubject = createTestSubject();
120                 result = Deencapsulation.invoke(testSubject, "createMetadaObject", true, ComponentTypeEnum.RESOURCE);
121         }
122
123         @Test
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);
131
132                 Either<? extends AssetMetadata, ResponseFormat> result;
133
134                 // default test
135                 testSubject = createTestSubject();
136                 result = Deencapsulation.invoke(testSubject, "generateServiceMetadata", serverBaseURL, detailed, curr);
137         }
138
139         @Test
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;
146
147                 // default test
148                 testSubject = createTestSubject();
149                 result = Deencapsulation.invoke(testSubject, "convertToAsset", asset, component, serverBaseURL, true);
150         }
151
152         @Test
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);
161
162                 // default test
163                 testSubject = createTestSubject();
164                 result = Deencapsulation.invoke(testSubject, "convertToResourceMetadata", assetToPopulate, resource,
165                                 serverBaseURL, true);
166         }
167
168         @Test
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;
178
179                 // default test
180                 testSubject = createTestSubject();
181                 result = Deencapsulation.invoke(testSubject, "convertToServiceAssetMetadata", assetToPopulate, service,
182                                 serverBaseURL, true);
183         }
184
185         @Test
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;
192
193                 // default test
194                 testSubject = createTestSubject();
195                 result = Deencapsulation.invoke(testSubject, "convertToResourceDetailedMetadata", assetToPopulate, resource,
196                                 serverBaseURL);
197         }
198
199         @Test
200         public void testConvertToServiceDetailedMetadata() throws Exception {
201                 AssetMetadataConverter testSubject;
202                 ServiceAssetDetailedMetadata assetToPopulate = new ServiceAssetDetailedMetadata();
203                 Service service = new Service();
204                 Either<ServiceAssetDetailedMetadata, StorageOperationStatus> result;
205
206                 // default test
207                 testSubject = createTestSubject();
208                 result = Deencapsulation.invoke(testSubject, "convertToServiceDetailedMetadata", assetToPopulate, service);
209         }
210
211         @Test
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;
218
219                 // default test
220                 testSubject = createTestSubject();
221                 result = Deencapsulation.invoke(testSubject, "populateResourceWithArtifacts", asset, resource, artifacts); 
222         }
223
224         @Test
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);
233                 // default test
234                 testSubject = createTestSubject();
235                 result = Deencapsulation.invoke(testSubject, "populateServiceWithArtifacts",
236                                 asset, Service.class, artifacts);
237         }
238
239         @Test
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;
245
246                 // test 1
247                 testSubject = createTestSubject();
248                 result = Deencapsulation.invoke(testSubject, "populateAssetWithArtifacts", component, artifacts);
249                 Assert.assertEquals(null, result);
250         }
251
252         @Test
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;
261
262                 // test 1
263                 testSubject = createTestSubject();
264                 result = Deencapsulation.invoke(testSubject, "convertToArtifactMetadata", artifact, componentType,
265                                 componentUUID, resourceInstanceName);
266         }
267
268         @Test
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;
275
276                 // default test
277                 testSubject = createTestSubject();
278                 result = Deencapsulation.invoke(testSubject, "convertToResourceInstanceMetadata",
279                                 new Object[] { componentInstances, componentType, componentUUID });
280         }
281 }