1 package org.onap.so.adapters.catalogdb.catalogrest;
3 import static com.shazam.shazamcrest.MatcherAssert.assertThat;
4 import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs;
5 import java.io.IOException;
6 import java.nio.file.Files;
7 import java.nio.file.Paths;
8 import java.util.ArrayList;
9 import java.util.HashSet;
10 import java.util.List;
12 import org.junit.Test;
13 import org.onap.so.adapters.catalogdb.rest.ServiceMapper;
14 import org.onap.so.db.catalog.beans.HeatTemplate;
15 import org.onap.so.db.catalog.beans.HeatTemplateParam;
16 import org.onap.so.db.catalog.beans.VfModuleCustomization;
17 import org.onap.so.rest.catalog.beans.Service;
18 import wiremock.com.fasterxml.jackson.core.JsonParseException;
19 import wiremock.com.fasterxml.jackson.databind.JsonMappingException;
20 import wiremock.com.fasterxml.jackson.databind.ObjectMapper;
22 public class ServiceMapperTest {
24 private ServiceMapper serviceMapper = new ServiceMapper();
27 public void service_map_test() throws JsonParseException, JsonMappingException, IOException {
28 Service actual = serviceMapper.mapService(getTestService(), 2);
29 assertThat(actual, sameBeanAs(getExpectedService()));
32 private Service getExpectedService() throws JsonParseException, JsonMappingException, IOException {
33 ObjectMapper mapper = new ObjectMapper();
34 return mapper.readValue(getJson("ExpectedService.json"), Service.class);
38 private org.onap.so.db.catalog.beans.Service getTestService() {
39 org.onap.so.db.catalog.beans.Service testService = new org.onap.so.db.catalog.beans.Service();
40 testService.setCategory("category");
41 testService.setDescription("description");
42 testService.setDistrobutionStatus("distrobutionStatus");
43 testService.setEnvironmentContext("environmentContext");
44 testService.setModelInvariantUUID("modelInvariantUUID");
45 testService.setModelName("modelName");
46 testService.setModelUUID("modelUUID");
47 testService.setModelVersion("modelVersion");
48 testService.setServiceType("serviceType");
49 testService.setServiceRole("serviceRole");
50 testService.getVnfCustomizations().add(getTestVnfCustomization());
54 private org.onap.so.db.catalog.beans.VnfResourceCustomization getTestVnfCustomization() {
55 org.onap.so.db.catalog.beans.VnfResourceCustomization test =
56 new org.onap.so.db.catalog.beans.VnfResourceCustomization();
58 test.setAvailabilityZoneMaxCount(11);
59 test.setMaxInstances(3);
60 test.setMinInstances(1);
61 test.setModelCustomizationUUID("modelCustomizationUUID");
62 test.setModelInstanceName("modelInstanceName");
63 test.setMultiStageDesign("multiStageDesign");
64 test.setNfFunction("nfFunction");
65 test.setNfNamingCode("nfNamingCode");
66 test.setNfRole("nfRole");
67 test.setNfType("nfType");
68 test.setService(new org.onap.so.db.catalog.beans.Service());
69 test.setVnfResources(getTestVnfResource());
70 test.setVfModuleCustomizations(getTestVfModuleCust());
74 private List<VfModuleCustomization> getTestVfModuleCust() {
75 List<VfModuleCustomization> test = new ArrayList<>();
76 VfModuleCustomization testVfMod = new VfModuleCustomization();
77 testVfMod.setAvailabilityZoneCount(10);
78 testVfMod.setInitialCount(1);
79 testVfMod.setLabel("label");
80 testVfMod.setMaxInstances(3);
81 testVfMod.setMinInstances(1);
82 testVfMod.setModelCustomizationUUID("modelCustomizationUUID");
83 org.onap.so.db.catalog.beans.VfModule vfModule = new org.onap.so.db.catalog.beans.VfModule();
84 vfModule.setDescription("description");
85 vfModule.setIsBase(false);
86 vfModule.setModelInvariantUUID("modelInvariantUUID");
87 vfModule.setModelName("modelName");
88 vfModule.setModelUUID("modelUUID");
89 vfModule.setModelVersion("modelVersion");
90 HeatTemplate moduleHeatTemplate = new HeatTemplate();
91 moduleHeatTemplate.setArtifactChecksum("artifactChecksum");
92 moduleHeatTemplate.setArtifactUuid("artifactUuid");
93 List<HeatTemplate> childTemplates;
94 // moduleHeatTemplate.setChildTemplates(childTemplates);
95 moduleHeatTemplate.setDescription("description");
96 Set<HeatTemplateParam> parameters = new HashSet<>();
97 HeatTemplateParam heatParam = new HeatTemplateParam();
98 heatParam.setHeatTemplateArtifactUuid("heatTemplateArtifactUuid");
99 heatParam.setParamAlias("paramAlias");
100 heatParam.setParamName("paramName");
101 heatParam.setParamType("paramType");
102 heatParam.setRequired(false);
103 parameters.add(heatParam);
104 moduleHeatTemplate.setParameters(parameters);
105 moduleHeatTemplate.setTemplateBody("templateBody");
106 moduleHeatTemplate.setTemplateName("templateName");
107 moduleHeatTemplate.setTimeoutMinutes(1000);
108 moduleHeatTemplate.setVersion("version");
109 vfModule.setModuleHeatTemplate(moduleHeatTemplate);
110 testVfMod.setVfModule(vfModule);
115 private org.onap.so.db.catalog.beans.VnfResource getTestVnfResource() {
116 org.onap.so.db.catalog.beans.VnfResource test = new org.onap.so.db.catalog.beans.VnfResource();
117 test.setCategory("category");
118 test.setDescription("description");
119 test.setModelInvariantUUID("modelInvariantUUID");
120 test.setModelName("modelName");
121 test.setModelUUID("modelUUID");
122 test.setModelVersion("modelVersion");
123 test.setAicVersionMax("cloudVersionMax");
124 test.setAicVersionMin("cloudVersionMin");
125 test.setOrchestrationMode("orchestrationMode");
126 test.setSubCategory("subCategory");
127 test.setToscaNodeType("toscaNodeType");
131 private String getJson(String filename) throws IOException {
132 return new String(Files.readAllBytes(Paths.get("src/test/resources/" + filename)));