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.onap.so.client.sdnc.mapper;
23 import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs;
24 import static org.junit.Assert.assertEquals;
25 import static org.junit.Assert.assertNotNull;
26 import static org.junit.Assert.assertNull;
27 import static org.junit.Assert.assertThat;
29 import java.util.HashMap;
31 import org.junit.After;
32 import org.junit.Before;
33 import org.junit.Rule;
34 import org.junit.Test;
35 import org.junit.rules.ExpectedException;
36 import org.mockito.InjectMocks;
37 import org.onap.sdnc.northbound.client.model.GenericResourceApiConfigurationinformationConfigurationInformation;
38 import org.onap.sdnc.northbound.client.model.GenericResourceApiGcrequestinputGcRequestInput;
39 import org.onap.sdnc.northbound.client.model.GenericResourceApiNetworkinformationNetworkInformation;
40 import org.onap.sdnc.northbound.client.model.GenericResourceApiOnapmodelinformationOnapModelInformation;
41 import org.onap.sdnc.northbound.client.model.GenericResourceApiParam;
42 import org.onap.sdnc.northbound.client.model.GenericResourceApiParamParam;
43 import org.onap.sdnc.northbound.client.model.GenericResourceApiSdncrequestheaderSdncRequestHeader;
44 import org.onap.sdnc.northbound.client.model.GenericResourceApiServiceinformationServiceInformation;
45 import org.onap.sdnc.northbound.client.model.GenericResourceApiSvcActionEnumeration;
46 import org.onap.sdnc.northbound.client.model.GenericResourceApiVnfinformationVnfInformation;
47 import org.onap.so.bpmn.common.data.TestDataSetup;
48 import org.onap.so.bpmn.servicedecomposition.bbobjects.Configuration;
49 import org.onap.so.bpmn.servicedecomposition.bbobjects.Customer;
50 import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf;
51 import org.onap.so.bpmn.servicedecomposition.bbobjects.L3Network;
52 import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance;
53 import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceSubscription;
54 import org.onap.so.bpmn.servicedecomposition.generalobjects.RequestContext;
55 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoConfiguration;
56 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoNetwork;
57 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoServiceInstance;
58 import org.onap.so.client.sdnc.beans.SDNCSvcAction;
61 public class GeneralTopologyObjectMapperTest extends TestDataSetup {
63 private GeneralTopologyObjectMapper genObjMapper = new GeneralTopologyObjectMapper();
66 public ExpectedException expectedException = ExpectedException.none();
69 public void before() {
79 public void testBuildServiceInformation() {
80 // prepare and set service instance
81 ServiceInstance serviceInstance = new ServiceInstance();
82 serviceInstance.setServiceInstanceId("serviceInstanceId");
83 ModelInfoServiceInstance modelInfoServiceInstance = new ModelInfoServiceInstance();
84 modelInfoServiceInstance.setModelInvariantUuid("serviceModelInvariantUuid");
85 modelInfoServiceInstance.setModelName("serviceModelName");
86 modelInfoServiceInstance.setModelUuid("serviceModelUuid");
87 modelInfoServiceInstance.setModelVersion("serviceModelVersion");
89 serviceInstance.setModelInfoServiceInstance(modelInfoServiceInstance);
90 // prepare Customer object
91 Customer customer = new Customer();
92 customer.setGlobalCustomerId("globalCustomerId");
93 ServiceSubscription serviceSubscription = new ServiceSubscription();
94 serviceSubscription.setServiceType("productFamilyId");
95 customer.setServiceSubscription(serviceSubscription);
96 // set Customer on service instance
97 customer.getServiceSubscription().getServiceInstances().add(serviceInstance);
99 RequestContext requestContext = new RequestContext();
100 HashMap<String, String> userParams = new HashMap<String, String>();
101 userParams.put("key1", "value1");
102 requestContext.setUserParams(userParams);
103 requestContext.setProductFamilyId("productFamilyId");
105 GenericResourceApiServiceinformationServiceInformation serviceInfo = genObjMapper.buildServiceInformation(serviceInstance, requestContext, customer, true);
107 assertEquals("serviceModelInvariantUuid", serviceInfo.getOnapModelInformation().getModelInvariantUuid());
108 assertEquals("serviceModelName", serviceInfo.getOnapModelInformation().getModelName());
109 assertEquals("serviceModelUuid", serviceInfo.getOnapModelInformation().getModelUuid());
110 assertEquals("serviceModelVersion", serviceInfo.getOnapModelInformation().getModelVersion());
111 assertNull(serviceInfo.getOnapModelInformation().getModelCustomizationUuid());
112 assertEquals("serviceInstanceId", serviceInfo.getServiceInstanceId());
113 assertEquals("serviceInstanceId", serviceInfo.getServiceId());
114 assertEquals("globalCustomerId", serviceInfo.getGlobalCustomerId());
115 assertEquals("productFamilyId", serviceInfo.getSubscriptionServiceType());
119 public void buildSdncRequestHeaderActivateTest() {
120 GenericResourceApiSdncrequestheaderSdncRequestHeader requestHeader = genObjMapper.buildSdncRequestHeader(SDNCSvcAction.ACTIVATE, "sdncReqId");
122 assertEquals(GenericResourceApiSvcActionEnumeration.ACTIVATE, requestHeader.getSvcAction());
123 assertEquals("sdncReqId", requestHeader.getSvcRequestId());
127 public void buildSdncRequestHeaderAssignTest() {
128 GenericResourceApiSdncrequestheaderSdncRequestHeader requestHeader = genObjMapper.buildSdncRequestHeader(SDNCSvcAction.ASSIGN, "sdncReqId");
130 assertEquals(GenericResourceApiSvcActionEnumeration.ASSIGN, requestHeader.getSvcAction());
131 assertEquals("sdncReqId", requestHeader.getSvcRequestId());
135 public void buildSdncRequestHeaderDeactivateTest() {
136 GenericResourceApiSdncrequestheaderSdncRequestHeader requestHeader = genObjMapper.buildSdncRequestHeader(SDNCSvcAction.DEACTIVATE, "sdncReqId");
138 assertEquals(GenericResourceApiSvcActionEnumeration.DEACTIVATE, requestHeader.getSvcAction());
139 assertEquals("sdncReqId", requestHeader.getSvcRequestId());
143 public void buildSdncRequestHeaderDeleteTest() {
144 GenericResourceApiSdncrequestheaderSdncRequestHeader requestHeader = genObjMapper.buildSdncRequestHeader(SDNCSvcAction.DELETE, "sdncReqId");
146 assertEquals(GenericResourceApiSvcActionEnumeration.DELETE, requestHeader.getSvcAction());
147 assertEquals("sdncReqId", requestHeader.getSvcRequestId());
151 public void buildSdncRequestHeaderChangeAssignTest() {
152 GenericResourceApiSdncrequestheaderSdncRequestHeader requestHeader = genObjMapper.buildSdncRequestHeader(SDNCSvcAction.CHANGE_ASSIGN, "sdncReqId");
154 assertEquals(GenericResourceApiSvcActionEnumeration.CHANGEASSIGN, requestHeader.getSvcAction());
155 assertEquals("sdncReqId", requestHeader.getSvcRequestId());
159 public void buildConfigurationInformationTest_excludesOnapModelInfo() {
160 Configuration configuration = new Configuration();
161 configuration.setConfigurationId("testConfigurationId");
162 configuration.setConfigurationType("VNR");
163 configuration.setConfigurationName("VNRCONF");
164 GenericResourceApiConfigurationinformationConfigurationInformation configurationInformation =genObjMapper.buildConfigurationInformation(configuration,false);
165 assertEquals(configuration.getConfigurationId(),configurationInformation.getConfigurationId());
166 assertEquals(configuration.getConfigurationType(),configurationInformation.getConfigurationType());
167 assertEquals(configuration.getConfigurationName(),configurationInformation.getConfigurationName());
168 assertNull(configurationInformation.getOnapModelInformation());
172 public void buildConfigurationInformationTest_includesOnapModelInfo() {
173 Configuration configuration = new Configuration();
174 configuration.setConfigurationId("testConfigurationId");
175 configuration.setConfigurationType("VNR");
176 configuration.setConfigurationName("VNRCONF");
177 ModelInfoConfiguration modelInfoConfiguration = new ModelInfoConfiguration();
178 modelInfoConfiguration.setModelVersionId("modelVersionId");
179 modelInfoConfiguration.setModelInvariantId("modelInvariantId");
180 modelInfoConfiguration.setModelCustomizationId("modelCustomizationId");
181 configuration.setModelInfoConfiguration(modelInfoConfiguration);
183 GenericResourceApiConfigurationinformationConfigurationInformation configurationInformation = genObjMapper.buildConfigurationInformation(configuration,true);
185 assertEquals(configuration.getConfigurationId(),configurationInformation.getConfigurationId());
186 assertEquals(configuration.getConfigurationType(),configurationInformation.getConfigurationType());
187 assertEquals(configuration.getConfigurationName(),configurationInformation.getConfigurationName());
188 assertNotNull(configurationInformation.getOnapModelInformation());
189 assertEquals(configuration.getModelInfoConfiguration().getModelVersionId(),configurationInformation.getOnapModelInformation().getModelUuid());
190 assertEquals(configuration.getModelInfoConfiguration().getModelInvariantId(),configurationInformation.getOnapModelInformation().getModelInvariantUuid());
191 assertEquals(configuration.getModelInfoConfiguration().getModelCustomizationId(),configurationInformation.getOnapModelInformation().getModelCustomizationUuid());
196 public void buildGcRequestInformationTest() {
197 GenericVnf vnf = new GenericVnf();
198 vnf.setVnfId("TestVnfId");
199 GenericResourceApiGcrequestinputGcRequestInput gcRequestInput = genObjMapper.buildGcRequestInformation(vnf,null);
200 assertNotNull(gcRequestInput);
201 assertEquals(vnf.getVnfId(),gcRequestInput.getVnfId());
202 assertNull(gcRequestInput.getInputParameters());
206 public void buildGcRequestInformationTest_withInputParams() {
207 GenericVnf vnf = new GenericVnf();
208 vnf.setVnfId("TestVnfId");
209 GenericResourceApiParam genericResourceApiParam =new GenericResourceApiParam();
210 genericResourceApiParam.addParamItem(new GenericResourceApiParamParam());
211 GenericResourceApiGcrequestinputGcRequestInput gcRequestInput = genObjMapper.buildGcRequestInformation(vnf,genericResourceApiParam);
212 assertNotNull(gcRequestInput);
213 assertEquals(vnf.getVnfId(),gcRequestInput.getVnfId());
214 assertNotNull(gcRequestInput.getInputParameters());
218 public void buildVnfInformationTest_withNullData() {
219 GenericVnf vnf = new GenericVnf();
220 vnf.setVnfId("TestVnfId");
221 ServiceInstance serviceInstance = new ServiceInstance();
222 serviceInstance.setServiceInstanceId("serviceInstanceId");
223 GenericResourceApiVnfinformationVnfInformation gcRequestInput = genObjMapper.buildVnfInformation(vnf,serviceInstance,true);
224 assertNotNull(gcRequestInput);
225 assertNull(vnf.getModelInfoGenericVnf());
226 assertNull(gcRequestInput.getOnapModelInformation());
227 assertEquals(vnf.getVnfId(),gcRequestInput.getVnfId());
228 assertNotNull(gcRequestInput.getVnfId());
232 public void buildNetworkInformationTest() {
234 L3Network network = new L3Network();
235 ModelInfoNetwork modelInfoNetwork = new ModelInfoNetwork();
236 modelInfoNetwork.setModelInvariantUUID("my-uuid");
237 modelInfoNetwork.setModelName("my-model-name");
238 modelInfoNetwork.setModelVersion("my-model-version");
239 modelInfoNetwork.setModelUUID("my-model-uuid");
240 modelInfoNetwork.setModelCustomizationUUID("my-customization-uuid");
241 network.setModelInfoNetwork(modelInfoNetwork);
242 network.setNetworkId("my-network-id");
243 network.setNetworkType("my-network-type");
244 network.setNetworkTechnology("my-network-technology");
246 GenericResourceApiNetworkinformationNetworkInformation networkInformation = new GenericResourceApiNetworkinformationNetworkInformation();
247 GenericResourceApiOnapmodelinformationOnapModelInformation onapModelInformation = new GenericResourceApiOnapmodelinformationOnapModelInformation();
248 networkInformation.setNetworkId("my-network-id");
249 networkInformation.setNetworkType("my-network-type");
250 networkInformation.networkTechnology("my-network-technology");
251 networkInformation.setFromPreload(null);
252 onapModelInformation.setModelInvariantUuid("my-uuid");
253 onapModelInformation.setModelName("my-model-name");
254 onapModelInformation.setModelVersion("my-model-version");
255 onapModelInformation.setModelUuid("my-model-uuid");
256 onapModelInformation.setModelCustomizationUuid("my-customization-uuid");
257 networkInformation.setOnapModelInformation(onapModelInformation);
259 assertThat(networkInformation, sameBeanAs(genObjMapper.buildNetworkInformation(network)));
264 public void buildNetworkInformationNoModelTest() {
266 L3Network network = new L3Network();
267 network.setNetworkId("my-network-id");
268 network.setNetworkType("my-network-type");
269 network.setNetworkTechnology("my-network-technology");
271 GenericResourceApiNetworkinformationNetworkInformation networkInformation = new GenericResourceApiNetworkinformationNetworkInformation();
272 networkInformation.setNetworkId("my-network-id");
273 networkInformation.setNetworkType("my-network-type");
274 networkInformation.networkTechnology("my-network-technology");
275 networkInformation.setFromPreload(null);
278 assertThat(networkInformation, sameBeanAs(genObjMapper.buildNetworkInformation(network)));