1 package org.onap.sdnc.apps.ms.gra.controllers;
3 import static org.junit.Assert.assertEquals;
4 import static org.junit.Assert.assertNotEquals;
5 import static org.junit.Assert.assertNull;
7 import java.io.IOException;
8 import java.nio.file.Files;
9 import java.nio.file.Paths;
10 import java.util.ArrayList;
11 import java.util.List;
13 import com.fasterxml.jackson.databind.ObjectMapper;
15 import org.junit.BeforeClass;
16 import org.junit.Test;
17 import org.junit.runner.RunWith;
18 import org.onap.sdnc.apps.ms.gra.GenericResourceMsApp;
19 import org.onap.sdnc.apps.ms.gra.controllers.ServiceDataHelper.ServiceDataTransaction;
20 import org.onap.sdnc.apps.ms.gra.data.*;
21 import org.onap.sdnc.apps.ms.gra.swagger.model.*;
22 import org.springframework.beans.factory.annotation.Autowired;
23 import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
24 import org.springframework.boot.test.context.SpringBootTest;
25 import org.springframework.http.MediaType;
26 import org.springframework.test.context.junit4.SpringRunner;
27 import org.springframework.test.web.servlet.MockMvc;
28 import org.springframework.test.web.servlet.MvcResult;
29 import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
30 import org.springframework.transaction.annotation.Transactional;
32 @RunWith(SpringRunner.class)
33 @SpringBootTest(classes={GenericResourceMsApp.class})
36 public class ConfigApiServicesControllerTest {
38 private final static String TEST_SVC_INSTANCE_ID = "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca";
39 private final static String TEST_VNF_ID = "fae319cc-68d6-496f-be1e-a09e133c71d4";
40 private final static String TEST_VF_MODULE_ID = "45841173-3729-4a1d-a811-a3bde399e22d";
41 private final static String CONFIG_SERVICES_URL = "/config/GENERIC-RESOURCE-API:services/";
42 private final static String CONFIG_SERVICES_SERVICE_URL = "/config/GENERIC-RESOURCE-API:services/service/";
43 private final static String CONFIG_CR_ARS_CR_AR_URL = "/config/GENERIC-RESOURCE-API:contrail-route-allotted-resources/contrail-route-allotted-resource/";
44 private final static String CONFIG_PM_CONFIGS_PM_CONFIG_URL = "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/";
50 ConfigServicesRepository configServicesRepository;
53 ConfigNetworksRepository configNetworksRepository;
56 ConfigVnfsRepository configVnfsRepository;
59 ConfigVfModulesRepository configVfModulesRepository;
62 ConfigContrailRouteAllottedResourcesRepository configContrailRouteAllottedResourcesRepository;
65 ConfigPortMirrorConfigurationsRepository configPortMirrorConfigurationsRepository;
68 ServiceDataHelper serviceDataHelper;
71 public static void setUp() throws Exception {
72 System.out.println("ConfigApiServicesControllerTest: Setting serviceLogicProperties, serviceLogicDirectory and sdnc.config.dir");
73 System.setProperty("serviceLogicProperties", "src/test/resources/svclogic.properties");
74 System.setProperty("serviceLogicDirectory", "src/test/resources/svclogic");
75 System.setProperty("sdnc.config.dir", "src/test/resources");
80 public void serviceDataLoadTest() throws Exception {
83 assertEquals(0, configServicesRepository.count());
84 assertEquals(0, configNetworksRepository.count());
85 assertEquals(0, configVnfsRepository.count());
86 assertEquals(0, configVfModulesRepository.count());
88 // Add service data - just service
89 loadServicesData("src/test/resources/service1-service.json");
90 assertEquals(1, configServicesRepository.count());
91 assertEquals(0, configNetworksRepository.count());
92 assertEquals(0, configVnfsRepository.count());
93 assertEquals(0, configVfModulesRepository.count());
97 assertEquals(0, configServicesRepository.count());
98 assertEquals(0, configNetworksRepository.count());
99 assertEquals(0, configVnfsRepository.count());
100 assertEquals(0, configVfModulesRepository.count());
102 // Add service data - service, vnf, vf-module
103 loadServicesData("src/test/resources/service1.json");
104 assertEquals(1, configServicesRepository.count());
105 assertEquals(0, configNetworksRepository.count());
106 assertEquals(1, configVnfsRepository.count());
107 assertEquals(1, configVfModulesRepository.count());
114 public void VnfDataLoadTest() throws Exception {
115 // Clear service data
117 assertEquals(0, configServicesRepository.count());
118 assertEquals(0, configNetworksRepository.count());
119 assertEquals(0, configVnfsRepository.count());
120 assertEquals(0, configVfModulesRepository.count());
123 loadVnfData("src/test/resources/vnf-data.json");
124 assertEquals(1, configServicesRepository.count());
125 assertEquals(0, configNetworksRepository.count());
126 assertEquals(1, configVnfsRepository.count());
127 assertEquals(1, configVfModulesRepository.count());
129 // Clear service data
131 assertEquals(0, configServicesRepository.count());
132 assertEquals(0, configNetworksRepository.count());
133 assertEquals(0, configVnfsRepository.count());
134 assertEquals(0, configVfModulesRepository.count());
139 public void configGENERICRESOURCEAPIservicesDelete() throws Exception {
145 loadServicesData( "src/test/resources/service1.json");
147 assertEquals(1, configServicesRepository.count());
148 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.delete(CONFIG_SERVICES_URL).contentType(MediaType.APPLICATION_JSON).content(""))
150 assertEquals(204, mvcResult.getResponse().getStatus());
151 assertEquals(0, configServicesRepository.count());
154 mvcResult = mvc.perform(MockMvcRequestBuilders.delete(CONFIG_SERVICES_URL).contentType(MediaType.APPLICATION_JSON).content(""))
156 assertEquals(204, mvcResult.getResponse().getStatus());
161 public void configGENERICRESOURCEAPIservicesGet() throws Exception {
166 loadServicesData("src/test/resources/service1.json");
167 assert(configServicesRepository.count() > 0);
169 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_URL).contentType(MediaType.APPLICATION_JSON).content(""))
171 assertEquals(200, mvcResult.getResponse().getStatus());
175 mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_URL).contentType(MediaType.APPLICATION_JSON).content(""))
177 assertEquals(404, mvcResult.getResponse().getStatus());
181 public void configGENERICRESOURCEAPIservicesPost() throws Exception {
185 String content = readFileContent("src/test/resources/service1.json");
188 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.post(CONFIG_SERVICES_URL).contentType(MediaType.APPLICATION_JSON).content(content))
190 assertEquals(201, mvcResult.getResponse().getStatus());
191 assertEquals(1, configServicesRepository.count());
193 // Test with existing data - should return 409
194 mvcResult = mvc.perform(MockMvcRequestBuilders.post(CONFIG_SERVICES_URL).contentType(MediaType.APPLICATION_JSON).content(content))
196 assertEquals(409, mvcResult.getResponse().getStatus());
197 assertEquals(1, configServicesRepository.count());
205 public void configGENERICRESOURCEAPIservicesPut() throws Exception {
209 String content = readFileContent("src/test/resources/service1.json");
212 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_SERVICES_URL).contentType(MediaType.APPLICATION_JSON).content(content))
214 assertEquals(201, mvcResult.getResponse().getStatus());
215 assertEquals(1, configServicesRepository.count());
217 // Test with existing data - should return 409
218 mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_SERVICES_URL).contentType(MediaType.APPLICATION_JSON).content(content))
220 assertEquals(204, mvcResult.getResponse().getStatus());
221 assertEquals(1, configServicesRepository.count());
229 public void configGENERICRESOURCEAPIservicesGENERICRESOURCEAPIserviceServiceInstanceIdDelete() throws Exception {
234 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.delete(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/").contentType(MediaType.APPLICATION_JSON).content(""))
236 assertEquals(204, mvcResult.getResponse().getStatus());
237 assertEquals(0, configServicesRepository.count());
240 loadServicesData("src/test/resources/service1.json");
241 assertEquals(1, configServicesRepository.count());
244 mvcResult = mvc.perform(MockMvcRequestBuilders.delete(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/").contentType(MediaType.APPLICATION_JSON).content(""))
246 assertEquals(204, mvcResult.getResponse().getStatus());
247 assertEquals(0, configServicesRepository.count());
252 public void configGENERICRESOURCEAPIservicesGENERICRESOURCEAPIserviceServiceInstanceIdGet() throws Exception {
257 loadServicesData("src/test/resources/service1.json");
258 assert(configServicesRepository.count() > 0);
260 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/").contentType(MediaType.APPLICATION_JSON).content(""))
262 assertEquals(200, mvcResult.getResponse().getStatus());
266 mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/").contentType(MediaType.APPLICATION_JSON).content(""))
268 assertEquals(404, mvcResult.getResponse().getStatus());
272 public void configGENERICRESOURCEAPIservicesGENERICRESOURCEAPIserviceServiceInstanceIdPost() throws Exception {
276 String content = readFileContent("src/test/resources/service1-serviceitem.json");
279 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.post(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/").contentType(MediaType.APPLICATION_JSON).content(content))
281 assertEquals(201, mvcResult.getResponse().getStatus());
282 assertEquals(1, configServicesRepository.count());
284 // Test with existing data - should return 409
285 mvcResult = mvc.perform(MockMvcRequestBuilders.post(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/").contentType(MediaType.APPLICATION_JSON).content(content))
287 assertEquals(409, mvcResult.getResponse().getStatus());
288 assertEquals(1, configServicesRepository.count());
296 public void configGENERICRESOURCEAPIservicesGENERICRESOURCEAPIserviceServiceInstanceIdPut() throws Exception {
300 String content = readFileContent("src/test/resources/service1-serviceitem.json");
303 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/").contentType(MediaType.APPLICATION_JSON).content(content))
305 assertEquals(201, mvcResult.getResponse().getStatus());
306 assertEquals(1, configServicesRepository.count());
308 // Test with existing data - should return 409
309 mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/").contentType(MediaType.APPLICATION_JSON).content(content))
311 assertEquals(204, mvcResult.getResponse().getStatus());
312 assertEquals(1, configServicesRepository.count());
319 public void configGENERICRESOURCEAPIservicesGENERICRESOURCEAPIserviceServiceInstanceIdGENERICRESOURCEAPIserviceDataDelete() throws Exception {
324 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.delete(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/").contentType(MediaType.APPLICATION_JSON).content(""))
326 assertEquals(404, mvcResult.getResponse().getStatus());
327 assertEquals(0, configServicesRepository.count());
330 loadServicesData("src/test/resources/service1.json");
331 assertEquals(1, configServicesRepository.count());
334 mvcResult = mvc.perform(MockMvcRequestBuilders.delete(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/").contentType(MediaType.APPLICATION_JSON).content(""))
336 assertEquals(204, mvcResult.getResponse().getStatus());
337 assertEquals(1, configServicesRepository.count());
338 List<ConfigServices> services = configServicesRepository.findBySvcInstanceId(TEST_SVC_INSTANCE_ID);
339 assertEquals(1, services.size());
340 assertEquals(null, services.get(0).getSvcData());
346 public void configGENERICRESOURCEAPIservicesGENERICRESOURCEAPIserviceServiceInstanceIdGENERICRESOURCEAPIserviceDataGet() throws Exception {
351 loadServicesData("src/test/resources/service1.json");
352 assert(configServicesRepository.count() > 0);
354 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/").contentType(MediaType.APPLICATION_JSON).content(""))
356 assertEquals(200, mvcResult.getResponse().getStatus());
360 mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/").contentType(MediaType.APPLICATION_JSON).content(""))
362 assertEquals(404, mvcResult.getResponse().getStatus());
366 public void configGENERICRESOURCEAPIservicesGENERICRESOURCEAPIserviceServiceInstanceIdGENERICRESOURCEAPIserviceDataPost() throws Exception {
370 String content = readFileContent("src/test/resources/service1-servicedata.json");
373 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.post(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/").contentType(MediaType.APPLICATION_JSON).content(content))
375 assertEquals(404, mvcResult.getResponse().getStatus());
376 assertEquals(0, configServicesRepository.count());
378 // Test with empty service data
379 ConfigServices service = new ConfigServices();
380 service.setSvcInstanceId(TEST_SVC_INSTANCE_ID);
381 configServicesRepository.save(service);
382 assertEquals(1, configServicesRepository.count());
383 mvcResult = mvc.perform(MockMvcRequestBuilders.post(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/").contentType(MediaType.APPLICATION_JSON).content(content))
385 assertEquals(201, mvcResult.getResponse().getStatus());
386 assertEquals(1, configServicesRepository.count());
387 List<ConfigServices> updatedService = configServicesRepository.findBySvcInstanceId(TEST_SVC_INSTANCE_ID);
388 assertEquals(1, updatedService.size());
389 assertNotEquals(null, updatedService.get(0).getSvcData());
391 // Test with existing data - should return 409
392 mvcResult = mvc.perform(MockMvcRequestBuilders.post(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/").contentType(MediaType.APPLICATION_JSON).content(content))
394 assertEquals(409, mvcResult.getResponse().getStatus());
401 public void configGENERICRESOURCEAPIservicesGENERICRESOURCEAPIserviceServiceInstanceIdGENERICRESOURCEAPIserviceDataPut() throws Exception {
405 String content = readFileContent("src/test/resources/service1-servicedata.json");
408 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/").contentType(MediaType.APPLICATION_JSON).content(content))
410 assertEquals(404, mvcResult.getResponse().getStatus());
411 assertEquals(0, configServicesRepository.count());
413 // Test with empty service data
414 ConfigServices service = new ConfigServices();
415 service.setSvcInstanceId(TEST_SVC_INSTANCE_ID);
416 configServicesRepository.save(service);
417 mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/").contentType(MediaType.APPLICATION_JSON).content(content))
419 assertEquals(201, mvcResult.getResponse().getStatus());
420 assertEquals(1, configServicesRepository.count());
421 List<ConfigServices> updatedService = configServicesRepository.findBySvcInstanceId(TEST_SVC_INSTANCE_ID);
422 assertEquals(1, updatedService.size());
423 assertNotEquals(null, updatedService.get(0).getSvcData());
425 // Test with existing data - should return 204
426 mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/").contentType(MediaType.APPLICATION_JSON).content(content))
428 assertEquals(204, mvcResult.getResponse().getStatus());
435 public void configGENERICRESOURCEAPIservicesGENERICRESOURCEAPIserviceServiceInstanceIdGENERICRESOURCEAPIserviceStatusDelete() throws Exception {
440 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.delete(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-status/").contentType(MediaType.APPLICATION_JSON).content(""))
442 assertEquals(404, mvcResult.getResponse().getStatus());
443 assertEquals(0, configServicesRepository.count());
446 loadServicesData("src/test/resources/service1.json");
447 assertEquals(1, configServicesRepository.count());
450 mvcResult = mvc.perform(MockMvcRequestBuilders.delete(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-status/").contentType(MediaType.APPLICATION_JSON).content(""))
452 assertEquals(204, mvcResult.getResponse().getStatus());
453 assertEquals(1, configServicesRepository.count());
454 List<ConfigServices> services = configServicesRepository.findBySvcInstanceId(TEST_SVC_INSTANCE_ID);
455 assertEquals(1, services.size());
456 assertEquals(null, services.get(0).getServiceStatus());
460 public void configGENERICRESOURCEAPIservicesGENERICRESOURCEAPIserviceServiceInstanceIdGENERICRESOURCEAPIserviceStatusGet() throws Exception {
465 loadServicesData("src/test/resources/service1.json");
466 assert(configServicesRepository.count() > 0);
468 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-status/").contentType(MediaType.APPLICATION_JSON).content(""))
470 assertEquals(200, mvcResult.getResponse().getStatus());
474 mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-status/").contentType(MediaType.APPLICATION_JSON).content(""))
476 assertEquals(404, mvcResult.getResponse().getStatus());
480 public void configGENERICRESOURCEAPIservicesGENERICRESOURCEAPIserviceServiceInstanceIdGENERICRESOURCEAPIserviceStatusPost() throws Exception {
484 String content = readFileContent("src/test/resources/service1-servicestatus.json");
487 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.post(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-status/").contentType(MediaType.APPLICATION_JSON).content(content))
489 assertEquals(404, mvcResult.getResponse().getStatus());
490 assertEquals(0, configServicesRepository.count());
492 // Test with empty service data
493 ConfigServices service = new ConfigServices();
494 service.setSvcInstanceId(TEST_SVC_INSTANCE_ID);
495 configServicesRepository.save(service);
496 mvcResult = mvc.perform(MockMvcRequestBuilders.post(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-status/").contentType(MediaType.APPLICATION_JSON).content(content))
498 assertEquals(201, mvcResult.getResponse().getStatus());
499 assertEquals(1, configServicesRepository.count());
500 List<ConfigServices> updatedService = configServicesRepository.findBySvcInstanceId(TEST_SVC_INSTANCE_ID);
501 assertEquals(1, updatedService.size());
502 assertNotEquals(null, updatedService.get(0).getServiceStatus());
504 // Test with existing data - should return 409
505 mvcResult = mvc.perform(MockMvcRequestBuilders.post(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-status/").contentType(MediaType.APPLICATION_JSON).content(content))
507 assertEquals(409, mvcResult.getResponse().getStatus());
514 public void configGENERICRESOURCEAPIservicesGENERICRESOURCEAPIserviceServiceInstanceIdGENERICRESOURCEAPIserviceStatusPut() throws Exception {
518 String content = readFileContent("src/test/resources/service1-servicestatus.json");
521 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-status/").contentType(MediaType.APPLICATION_JSON).content(content))
523 assertEquals(404, mvcResult.getResponse().getStatus());
524 assertEquals(0, configServicesRepository.count());
526 // Test with empty service status
527 ConfigServices service = new ConfigServices();
528 service.setSvcInstanceId(TEST_SVC_INSTANCE_ID);
529 configServicesRepository.save(service);
530 mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-status/").contentType(MediaType.APPLICATION_JSON).content(content))
532 assertEquals(201, mvcResult.getResponse().getStatus());
533 assertEquals(1, configServicesRepository.count());
534 List<ConfigServices> updatedService = configServicesRepository.findBySvcInstanceId(TEST_SVC_INSTANCE_ID);
535 assertEquals(1, updatedService.size());
536 assertNotEquals(null, updatedService.get(0).getServiceStatus());
538 // Test with existing data - should return 204
539 mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-status/").contentType(MediaType.APPLICATION_JSON).content(content))
541 assertEquals(204, mvcResult.getResponse().getStatus());
548 public void configGENERICRESOURCEAPIservicesServiceServiceInstanceIdServiceDataServiceTopologyGet() throws Exception {
553 loadServicesData("src/test/resources/service1.json");
554 assert(configServicesRepository.count() > 0);
556 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/service-topology/").contentType(MediaType.APPLICATION_JSON).content(""))
558 assertEquals(200, mvcResult.getResponse().getStatus());
562 mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/service-topology/").contentType(MediaType.APPLICATION_JSON).content(""))
564 assertEquals(404, mvcResult.getResponse().getStatus());
568 public void configGENERICRESOURCEAPIservicesServiceServiceInstanceIdServiceDataVnfsVnfVnfIdDelete() throws Exception {
573 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.delete("/config/GENERIC-RESOURCE-API:services/service/"+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/").contentType(MediaType.APPLICATION_JSON).content(""))
575 assertEquals(404, mvcResult.getResponse().getStatus());
576 assertEquals(0, configServicesRepository.count());
579 loadVnfData("src/test/resources/vnf-data.json");
580 assertEquals(1, configServicesRepository.count());
583 mvcResult = mvc.perform(MockMvcRequestBuilders.delete("/config/GENERIC-RESOURCE-API:services/service/"+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/").contentType(MediaType.APPLICATION_JSON).content(""))
585 assertEquals(204, mvcResult.getResponse().getStatus());
586 assertEquals(1, configServicesRepository.count());
588 // Test with bad data
591 createBadVnfData(true, true);
592 assertEquals(1, configServicesRepository.count());
593 mvcResult = mvc.perform(MockMvcRequestBuilders.delete("/config/GENERIC-RESOURCE-API:services/service/"+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/").contentType(MediaType.APPLICATION_JSON).content(""))
595 assertEquals(404, mvcResult.getResponse().getStatus());
598 createBadVnfData(false, false);
599 assertEquals(1, configServicesRepository.count());
600 mvcResult = mvc.perform(MockMvcRequestBuilders.delete("/config/GENERIC-RESOURCE-API:services/service/"+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/").contentType(MediaType.APPLICATION_JSON).content(""))
602 assertEquals(404, mvcResult.getResponse().getStatus());
605 createBadVnfData(false, true);
606 assertEquals(1, configServicesRepository.count());
607 mvcResult = mvc.perform(MockMvcRequestBuilders.delete("/config/GENERIC-RESOURCE-API:services/service/"+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/").contentType(MediaType.APPLICATION_JSON).content(""))
609 assertEquals(404, mvcResult.getResponse().getStatus());
613 public void configGENERICRESOURCEAPIservicesServiceServiceInstanceIdServiceDataVnfsVnfVnfIdGet() throws Exception {
618 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get("/config/GENERIC-RESOURCE-API:services/service/"+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/").contentType(MediaType.APPLICATION_JSON).content(""))
620 assertEquals(404, mvcResult.getResponse().getStatus());
621 assertEquals(0, configServicesRepository.count());
624 loadVnfData("src/test/resources/vnf-data.json");
625 assertEquals(1, configServicesRepository.count());
628 mvcResult = mvc.perform(MockMvcRequestBuilders.get("/config/GENERIC-RESOURCE-API:services/service/"+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/").contentType(MediaType.APPLICATION_JSON).content(""))
630 assertEquals(200, mvcResult.getResponse().getStatus());
633 createBadVnfData(false, false);
634 assertEquals(1, configServicesRepository.count());
635 mvcResult = mvc.perform(MockMvcRequestBuilders.get("/config/GENERIC-RESOURCE-API:services/service/"+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/").contentType(MediaType.APPLICATION_JSON).content(""))
637 assertEquals(404, mvcResult.getResponse().getStatus());
641 public void configGENERICRESOURCEAPIservicesServiceServiceInstanceIdServiceDataVnfsVnfVnfIdPut() throws Exception {
644 assertEquals(0, configServicesRepository.count());
645 assertEquals(0, configVnfsRepository.count());
646 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.put("/config/GENERIC-RESOURCE-API:services/service/"+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/").contentType(MediaType.APPLICATION_JSON).content(readFileContent("src/test/resources/vnf-data.json")))
648 assertEquals(201, mvcResult.getResponse().getStatus());
649 assertEquals(1, configVnfsRepository.count());
651 mvcResult = mvc.perform(MockMvcRequestBuilders.put("/config/GENERIC-RESOURCE-API:services/service/"+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/").contentType(MediaType.APPLICATION_JSON).content(readFileContent("src/test/resources/vnf-data.json")))
653 assertEquals(204, mvcResult.getResponse().getStatus());
654 assertEquals(1, configVnfsRepository.count());
658 public void configGENERICRESOURCEAPIservicesServiceServiceInstanceIdServiceDataVnfsVnfVnfIdVnfDataVnfTopologyGet() throws Exception {
663 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get("/config/GENERIC-RESOURCE-API:services/service/"+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/vnf-data/vnf-topology/").contentType(MediaType.APPLICATION_JSON).content(""))
665 assertEquals(404, mvcResult.getResponse().getStatus());
666 assertEquals(0, configServicesRepository.count());
669 loadVnfData("src/test/resources/vnf-data.json");
670 assertEquals(1, configServicesRepository.count());
673 mvcResult = mvc.perform(MockMvcRequestBuilders.get("/config/GENERIC-RESOURCE-API:services/service/"+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/vnf-data/vnf-topology/").contentType(MediaType.APPLICATION_JSON).content(""))
675 assertEquals(200, mvcResult.getResponse().getStatus());
678 createBadVnfData(false, false);
679 assertEquals(1, configServicesRepository.count());
680 mvcResult = mvc.perform(MockMvcRequestBuilders.get("/config/GENERIC-RESOURCE-API:services/service/"+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/vnf-data/vnf-topology/").contentType(MediaType.APPLICATION_JSON).content(""))
682 assertEquals(404, mvcResult.getResponse().getStatus());
686 public void configGENERICRESOURCEAPIservicesServiceServiceInstanceIdServiceDataVnfsVnfVnfIdVnfDataVnfLevelOperStatusPut() throws Exception {
689 assertEquals(0, configServicesRepository.count());
690 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.put("/config/GENERIC-RESOURCE-API:services/service/test-siid/service-data/vnfs/vnf/2a3bfc93-cd4c-4845-8919-434b2d999ada/vnf-data/vnf-level-oper-status/").contentType(MediaType.APPLICATION_JSON).content(readFileContent("src/test/resources/vnf-level-oper-status.json")))
692 assertEquals(201, mvcResult.getResponse().getStatus());
693 assertEquals(1, configServicesRepository.count());
695 mvcResult = mvc.perform(MockMvcRequestBuilders.put("/config/GENERIC-RESOURCE-API:services/service/test-siid/service-data/vnfs/vnf/2a3bfc93-cd4c-4845-8919-434b2d999ada/vnf-data/vnf-level-oper-status/").contentType(MediaType.APPLICATION_JSON).content(readFileContent("src/test/resources/vnf-level-oper-status.json")))
697 assertEquals(204, mvcResult.getResponse().getStatus());
698 assertEquals(1, configServicesRepository.count());
702 public void configGENERICRESOURCEAPIservicesServiceServiceInstanceIdServiceDataVnfsVnfVnfIdVnfDataVnfTopologyOnapModelInformationPut() throws Exception {
705 assertEquals(0, configServicesRepository.count());
706 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.put("/config/GENERIC-RESOURCE-API:services/service/test-siid/service-data/vnfs/vnf/2a3bfc93-cd4c-4845-8919-434b2d999ada/vnf-data/vnf-topology/onap-model-information/").contentType(MediaType.APPLICATION_JSON).content(readFileContent("src/test/resources/vnf-onap-model-info.json")))
708 assertEquals(201, mvcResult.getResponse().getStatus());
709 assertEquals(1, configServicesRepository.count());
711 mvcResult = mvc.perform(MockMvcRequestBuilders.put("/config/GENERIC-RESOURCE-API:services/service/test-siid/service-data/vnfs/vnf/2a3bfc93-cd4c-4845-8919-434b2d999ada/vnf-data/vnf-topology/onap-model-information/").contentType(MediaType.APPLICATION_JSON).content(readFileContent("src/test/resources/vnf-onap-model-info.json")))
713 assertEquals(204, mvcResult.getResponse().getStatus());
714 assertEquals(1, configServicesRepository.count());
718 public void configGENERICRESOURCEAPIservicesServiceServiceInstanceIdServiceDataVnfsVnfVnfIdVnfDataVnfTopologyVnfResourceAssignmentsVnfNetworksPut() throws Exception {
721 assertEquals(0, configServicesRepository.count());
722 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.put("/config/GENERIC-RESOURCE-API:services/service/test-siid/service-data/vnfs/vnf/2a3bfc93-cd4c-4845-8919-434b2d999ada/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/").contentType(MediaType.APPLICATION_JSON).content(readFileContent("src/test/resources/vnf-vnf-networks.json")))
724 assertEquals(201, mvcResult.getResponse().getStatus());
725 assertEquals(1, configServicesRepository.count());
727 mvcResult = mvc.perform(MockMvcRequestBuilders.put("/config/GENERIC-RESOURCE-API:services/service/test-siid/service-data/vnfs/vnf/2a3bfc93-cd4c-4845-8919-434b2d999ada/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/").contentType(MediaType.APPLICATION_JSON).content(readFileContent("src/test/resources/vnf-vnf-networks.json")))
729 assertEquals(204, mvcResult.getResponse().getStatus());
730 assertEquals(1, configServicesRepository.count());
734 public void configGENERICRESOURCEAPIservicesServiceServiceInstanceIdServiceDataVnfsVnfVnfIdVnfDataVnfTopologyVnfResourceAssignmentsVnfNetworksVnfNetworkNetworkRolePut() throws Exception {
737 assertEquals(0, configServicesRepository.count());
738 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.put("/config/GENERIC-RESOURCE-API:services/service/test-siid/service-data/vnfs/vnf/2a3bfc93-cd4c-4845-8919-434b2d999ada/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/vnf-network/test-network-role/").contentType(MediaType.APPLICATION_JSON).content(readFileContent("src/test/resources/vnf-vnf-networks-network-role.json")))
740 assertEquals(201, mvcResult.getResponse().getStatus());
741 assertEquals(1, configServicesRepository.count());
743 mvcResult = mvc.perform(MockMvcRequestBuilders.put("/config/GENERIC-RESOURCE-API:services/service/test-siid/service-data/vnfs/vnf/2a3bfc93-cd4c-4845-8919-434b2d999ada/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/vnf-network/test-network-role/").contentType(MediaType.APPLICATION_JSON).content(readFileContent("src/test/resources/vnf-vnf-networks-network-role.json")))
745 assertEquals(204, mvcResult.getResponse().getStatus());
746 assertEquals(1, configServicesRepository.count());
750 public void configGENERICRESOURCEAPIportMirrorConfigurationsPortMirrorConfigurationConfigurationIdPut() throws Exception {
752 configPortMirrorConfigurationsRepository.deleteAll();
754 String content = readFileContent("src/test/resources/port-mirror-configuration-item.json");
757 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_PM_CONFIGS_PM_CONFIG_URL+"pm-config-2/")
758 .contentType(MediaType.APPLICATION_JSON).content(content)).andReturn();
759 assertEquals(201, mvcResult.getResponse().getStatus());
761 // Test with existing port-mirror-configuration
763 loadPortMirrorConfigurationData("src/test/resources/port-mirror-configuration-1.json");
764 assertEquals(2, configPortMirrorConfigurationsRepository.count());
766 mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_PM_CONFIGS_PM_CONFIG_URL+"pm-config-2/")
767 .contentType(MediaType.APPLICATION_JSON).content(content)).andReturn();
768 assertEquals(204, mvcResult.getResponse().getStatus());
769 assertEquals(2, configPortMirrorConfigurationsRepository.count());
772 configPortMirrorConfigurationsRepository.deleteAll();
776 public void configGENERICRESOURCEAPIportMirrorConfigurationsPortMirrorConfigurationConfigurationIdDelete() throws Exception {
778 configPortMirrorConfigurationsRepository.deleteAll();
781 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.delete(CONFIG_PM_CONFIGS_PM_CONFIG_URL+"pm-config-1/")
782 .contentType(MediaType.APPLICATION_JSON).content("")).andReturn();
784 assertEquals(204, mvcResult.getResponse().getStatus());
785 assertEquals(0, configPortMirrorConfigurationsRepository.count());
788 loadPortMirrorConfigurationData("src/test/resources/port-mirror-configuration-1.json");
789 assertEquals(1, configPortMirrorConfigurationsRepository.count());
792 mvcResult = mvc.perform(MockMvcRequestBuilders.delete(CONFIG_PM_CONFIGS_PM_CONFIG_URL+"pm-config-1/")
793 .contentType(MediaType.APPLICATION_JSON).content("")).andReturn();
795 assertEquals(204, mvcResult.getResponse().getStatus());
796 assertEquals(0, configPortMirrorConfigurationsRepository.count());
800 public void configGENERICRESOURCEAPIportMirrorConfigurationsPortMirrorConfigurationConfigurationIdGet() throws Exception {
802 configPortMirrorConfigurationsRepository.deleteAll();
805 loadPortMirrorConfigurationData("src/test/resources/port-mirror-configuration-1.json");
806 assert(configPortMirrorConfigurationsRepository.count() > 0);
808 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_PM_CONFIGS_PM_CONFIG_URL+"pm-config-1/")
809 .contentType(MediaType.APPLICATION_JSON).content("")).andReturn();
810 assertEquals(200, mvcResult.getResponse().getStatus());
812 // Test with bad allotted-resource-id in input
813 mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_PM_CONFIGS_PM_CONFIG_URL+"dummy/")
814 .contentType(MediaType.APPLICATION_JSON).content("")).andReturn();
816 assertEquals(404, mvcResult.getResponse().getStatus());
819 configPortMirrorConfigurationsRepository.deleteAll();
820 mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_PM_CONFIGS_PM_CONFIG_URL+"pm-config-1/")
821 .contentType(MediaType.APPLICATION_JSON).content("")).andReturn();
823 assertEquals(404, mvcResult.getResponse().getStatus());
827 public void configGENERICRESOURCEAPIportMirrorConfigurationsPortMirrorConfigurationConfigurationIdConfigurationDataPortMirrorConfigurationTopologyGet() throws Exception {
829 configPortMirrorConfigurationsRepository.deleteAll();
832 loadPortMirrorConfigurationData("src/test/resources/port-mirror-configuration-1.json");
833 assert(configPortMirrorConfigurationsRepository.count() > 0);
835 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_PM_CONFIGS_PM_CONFIG_URL+"pm-config-1/configuration-data/port-mirror-configuration-topology/")
836 .contentType(MediaType.APPLICATION_JSON).content("")).andReturn();
837 assertEquals(200, mvcResult.getResponse().getStatus());
839 // Test with dummy allotted-resource-id
840 mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_PM_CONFIGS_PM_CONFIG_URL+"dummy/configuration-data/port-mirror-configuration-topology/")
841 .contentType(MediaType.APPLICATION_JSON).content("")).andReturn();
842 assertEquals(404, mvcResult.getResponse().getStatus());
845 configPortMirrorConfigurationsRepository.deleteAll();
846 mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_PM_CONFIGS_PM_CONFIG_URL+"pm-config-1/configuration-data/port-mirror-configuration-topology/")
847 .contentType(MediaType.APPLICATION_JSON).content("")).andReturn();
848 assertEquals(404, mvcResult.getResponse().getStatus());
852 public void configGENERICRESOURCEAPIcontrailRouteAllottedResourcesContrailRouteAllottedResourceAllottedResourceIdPut() throws Exception {
854 configContrailRouteAllottedResourcesRepository.deleteAll();
856 String content = readFileContent("src/test/resources/allotted-resource-item.json");
859 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_CR_ARS_CR_AR_URL+"ar2/")
860 .contentType(MediaType.APPLICATION_JSON).content(content)).andReturn();
861 assertEquals(201, mvcResult.getResponse().getStatus());
863 // Test with existing allotted-resource
865 configContrailRouteAllottedResourcesRepository.deleteAll();
866 loadContrailRouteAllottedResourceData("src/test/resources/contrail-route-allotted-resource-1.json");
867 assertEquals(1, configContrailRouteAllottedResourcesRepository.count());
869 mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_CR_ARS_CR_AR_URL+"ar2/")
870 .contentType(MediaType.APPLICATION_JSON).content(content)).andReturn();
871 assertEquals(201, mvcResult.getResponse().getStatus());
872 assertEquals(2, configContrailRouteAllottedResourcesRepository.count());
875 configContrailRouteAllottedResourcesRepository.deleteAll();
879 public void configGENERICRESOURCEAPIcontrailRouteAllottedResourcesContrailRouteAllottedResourceAllottedResourceIdDelete() throws Exception {
881 configContrailRouteAllottedResourcesRepository.deleteAll();
884 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.delete(CONFIG_CR_ARS_CR_AR_URL+"ar1/")
885 .contentType(MediaType.APPLICATION_JSON).content("")).andReturn();
887 assertEquals(204, mvcResult.getResponse().getStatus());
888 assertEquals(0, configContrailRouteAllottedResourcesRepository.count());
891 loadContrailRouteAllottedResourceData("src/test/resources/contrail-route-allotted-resource-1.json");
892 assertEquals(1, configContrailRouteAllottedResourcesRepository.count());
895 mvcResult = mvc.perform(MockMvcRequestBuilders.delete(CONFIG_CR_ARS_CR_AR_URL+"ar1/")
896 .contentType(MediaType.APPLICATION_JSON).content("")).andReturn();
898 assertEquals(204, mvcResult.getResponse().getStatus());
899 assertEquals(0, configContrailRouteAllottedResourcesRepository.count());
903 public void configGENERICRESOURCEAPIcontrailRouteAllottedResourcesContrailRouteAllottedResourceAllottedResourceIdGet() throws Exception {
905 configContrailRouteAllottedResourcesRepository.deleteAll();
908 loadContrailRouteAllottedResourceData("src/test/resources/contrail-route-allotted-resource-1.json");
909 assert(configContrailRouteAllottedResourcesRepository.count() > 0);
911 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_CR_ARS_CR_AR_URL+"ar1/")
912 .contentType(MediaType.APPLICATION_JSON).content("")).andReturn();
913 assertEquals(200, mvcResult.getResponse().getStatus());
915 // Test with bad allotted-resource-id in input
916 mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_CR_ARS_CR_AR_URL+"dummy/")
917 .contentType(MediaType.APPLICATION_JSON).content("")).andReturn();
919 assertEquals(404, mvcResult.getResponse().getStatus());
922 configContrailRouteAllottedResourcesRepository.deleteAll();
923 mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_CR_ARS_CR_AR_URL+"ar1/")
924 .contentType(MediaType.APPLICATION_JSON).content("")).andReturn();
926 assertEquals(404, mvcResult.getResponse().getStatus());
930 public void configGENERICRESOURCEAPIcontrailRouteAllottedResourcesContrailRouteAllottedResourceAllottedResourceIdAllottedResourceDataContrailRouteTopologyGet() throws Exception {
932 configContrailRouteAllottedResourcesRepository.deleteAll();
935 loadContrailRouteAllottedResourceData("src/test/resources/contrail-route-allotted-resource-1.json");
936 assert(configContrailRouteAllottedResourcesRepository.count() > 0);
938 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_CR_ARS_CR_AR_URL+"ar1/allotted-resource-data/contrail-route-topology/")
939 .contentType(MediaType.APPLICATION_JSON).content("")).andReturn();
940 assertEquals(200, mvcResult.getResponse().getStatus());
942 // Test with dummy allotted-resource-id
943 mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_CR_ARS_CR_AR_URL+"dummy/allotted-resource-data/contrail-route-topology/").contentType(MediaType.APPLICATION_JSON).content("")).andReturn();
944 assertEquals(404, mvcResult.getResponse().getStatus());
947 configContrailRouteAllottedResourcesRepository.deleteAll();
948 mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_CR_ARS_CR_AR_URL+"ar1/allotted-resource-data/contrail-route-topology/").contentType(MediaType.APPLICATION_JSON).content("")).andReturn();
949 assertEquals(404, mvcResult.getResponse().getStatus());
953 public void configGENERICRESOURCEAPIservicesServiceServiceInstanceIdServiceDataVnfsVnfVnfIdVnfDataVfModulesVfModuleVfModuleIdPut() throws Exception {
957 String content = readFileContent("src/test/resources/service1-vfmodule-item.json");
960 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/vnf-data/vf-modules/vf-module/"+TEST_VF_MODULE_ID+"/")
961 .contentType(MediaType.APPLICATION_JSON).content(content)).andReturn();
962 assertEquals(400, mvcResult.getResponse().getStatus());
964 // Test with existing service and vnf
966 loadServicesData("src/test/resources/service1.json");
967 assertEquals(1, configServicesRepository.count());
969 mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/vnf-data/vf-modules/vf-module/"+TEST_VF_MODULE_ID+"/")
970 .contentType(MediaType.APPLICATION_JSON).content(content)).andReturn();
971 assertEquals(204, mvcResult.getResponse().getStatus());
972 assertEquals(1, configServicesRepository.count());
979 public void configGENERICRESOURCEAPIservicesServiceServiceInstanceIdServiceDataVnfsVnfVnfIdVnfDataVfModulesVfModuleVfModuleIdDelete() throws Exception {
984 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.delete(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/vnf-data/vf-modules/vf-module/269bda16-f40c-41a9-baef-e8905ab2b70e/")
985 .contentType(MediaType.APPLICATION_JSON).content("")).andReturn();
987 assertEquals(400, mvcResult.getResponse().getStatus());
988 assertEquals(0, configServicesRepository.count());
991 loadServicesData("src/test/resources/service1.json");
992 assertEquals(1, configServicesRepository.count());
995 mvcResult = mvc.perform(MockMvcRequestBuilders.delete(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/vnf-data/vf-modules/vf-module/269bda16-f40c-41a9-baef-e8905ab2b70e/")
996 .contentType(MediaType.APPLICATION_JSON).content("")).andReturn();
998 assertEquals(200, mvcResult.getResponse().getStatus());
1002 public void configGENERICRESOURCEAPIservicesServiceServiceInstanceIdServiceDataVnfsVnfVnfIdVnfDataVfModulesVfModuleVfModuleIdGet() throws Exception {
1004 clearServicesData();
1007 loadServicesData("src/test/resources/service1.json");
1008 assert(configServicesRepository.count() > 0);
1010 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/vnf-data/vf-modules/vf-module/269bda16-f40c-41a9-baef-e8905ab2b70e/")
1011 .contentType(MediaType.APPLICATION_JSON).content("")).andReturn();
1013 assertEquals(200, mvcResult.getResponse().getStatus());
1015 // Test with bad vf-module-id in input
1016 mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/vnf-data/vf-modules/vf-module/dummyid/")
1017 .contentType(MediaType.APPLICATION_JSON).content("")).andReturn();
1019 assertEquals(404, mvcResult.getResponse().getStatus());
1021 // Test with no data
1022 clearServicesData();
1023 mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/vnf-data/vf-modules/vf-module/269bda16-f40c-41a9-baef-e8905ab2b70e/")
1024 .contentType(MediaType.APPLICATION_JSON).content("")).andReturn();
1026 assertEquals(404, mvcResult.getResponse().getStatus());
1030 public void configGENERICRESOURCEAPIservicesServiceServiceInstanceIdServiceDataVnfsVnfVnfIdVnfDataVfModulesVfModuleVfModuleIdVfModuleDataVfModuleTopologyGet() throws Exception {
1032 clearServicesData();
1035 loadServicesData("src/test/resources/service1.json");
1036 assert(configServicesRepository.count() > 0);
1038 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/vnf-data/vf-modules/vf-module/269bda16-f40c-41a9-baef-e8905ab2b70e/vf-module-data/vf-module-topology/").contentType(MediaType.APPLICATION_JSON)
1039 .content("")).andReturn();
1040 assertEquals(200, mvcResult.getResponse().getStatus());
1042 // Test with existing service and vnf but with dummy vf-module-id in input
1043 clearServicesData();
1044 mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/vnf-data/vf-modules/vf-module/dummy/vf-module-data/vf-module-topology/").contentType(MediaType.APPLICATION_JSON)
1045 .content("")).andReturn();
1046 assertEquals(404, mvcResult.getResponse().getStatus());
1048 // Test with no data
1049 clearServicesData();
1050 mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/vnf-data/vf-modules/vf-module/269bda16-f40c-41a9-baef-e8905ab2b70e/vf-module-data/vf-module-topology/").contentType(MediaType.APPLICATION_JSON)
1051 .content("")).andReturn();
1052 assertEquals(404, mvcResult.getResponse().getStatus());
1055 private String readFileContent(String path) throws IOException {
1056 String content = new String(Files.readAllBytes(Paths.get(path)));
1060 private void deleteData(String url) throws Exception {
1061 mvc.perform(MockMvcRequestBuilders.delete(url).contentType(MediaType.APPLICATION_JSON).content(""))
1065 private void clearServicesData() {
1066 configServicesRepository.deleteAll();
1067 configNetworksRepository.deleteAll();
1068 configVnfsRepository.deleteAll();
1069 configVfModulesRepository.deleteAll();
1072 private void loadServicesData(String path) throws IOException {
1073 ObjectMapper objectMapper = new ObjectMapper();
1074 String content = readFileContent(path);
1075 GenericResourceApiServiceModelInfrastructure services = objectMapper.readValue(content, GenericResourceApiServiceModelInfrastructure.class);
1077 for (GenericResourceApiServicemodelinfrastructureService service : services.getService()) {
1078 ConfigServices newService = new ConfigServices();
1079 newService.setSvcInstanceId(service.getServiceInstanceId());
1080 newService.setServiceStatus(service.getServiceStatus());
1081 serviceDataHelper.saveService(newService, service.getServiceData());
1085 private void loadServicesData(String path, ServiceDataTransaction transaction) throws IOException {
1086 ObjectMapper objectMapper = new ObjectMapper();
1087 String content = readFileContent(path);
1088 GenericResourceApiServiceModelInfrastructure services = objectMapper.readValue(content, GenericResourceApiServiceModelInfrastructure.class);
1090 for (GenericResourceApiServicemodelinfrastructureService service : services.getService()) {
1091 ConfigServices newService = new ConfigServices();
1092 newService.setSvcInstanceId(service.getServiceInstanceId());
1093 newService.setServiceStatus(service.getServiceStatus());
1094 serviceDataHelper.saveService(newService, service.getServiceData(), transaction);
1096 transaction.commit();
1099 private void loadVnfData(String path) throws IOException {
1100 ObjectMapper objectMapper = new ObjectMapper();
1101 String content = readFileContent(path);
1102 GenericResourceApiServicedataServicedataVnfsVnf vnfData = objectMapper.readValue(content, GenericResourceApiServicedataServicedataVnfsVnf.class);
1103 String svcInstanceId = TEST_SVC_INSTANCE_ID;
1104 ConfigServices newService = new ConfigServices(svcInstanceId);
1105 configServicesRepository.save(newService);
1106 serviceDataHelper.saveVnf(svcInstanceId, vnfData, null);
1109 private void loadVnfData(String path, ServiceDataTransaction transaction) throws IOException {
1110 ObjectMapper objectMapper = new ObjectMapper();
1111 String content = readFileContent(path);
1112 GenericResourceApiServicedataServicedataVnfsVnf vnfData = objectMapper.readValue(content, GenericResourceApiServicedataServicedataVnfsVnf.class);
1113 String svcInstanceId = TEST_SVC_INSTANCE_ID;
1114 ConfigServices newService = new ConfigServices(svcInstanceId);
1115 configServicesRepository.save(newService);
1116 serviceDataHelper.saveVnf(svcInstanceId, vnfData, transaction);
1117 if (transaction != null) {
1118 transaction.commit();
1122 private void createBadVnfData(boolean useNullSvc, boolean useNullVnfs) throws IOException {
1123 ObjectMapper objectMapper = new ObjectMapper();
1124 ConfigServices newService = new ConfigServices();
1125 GenericResourceApiServicedataServiceData svcData = useNullSvc ? null : new GenericResourceApiServicedataServiceData();
1126 GenericResourceApiServicedataServicedataVnfs vnfs = useNullVnfs ? null : new GenericResourceApiServicedataServicedataVnfs();
1128 // Overrides useNullSvc
1130 svcData = new GenericResourceApiServicedataServiceData();
1131 vnfs.setVnf(new ArrayList<>());
1132 svcData.setVnfs(vnfs);
1135 newService.setSvcInstanceId("test-siid");
1136 newService.setSvcData(objectMapper.writeValueAsString(svcData));
1137 configServicesRepository.save(newService);
1140 private void loadContrailRouteAllottedResourceData(String path) throws IOException {
1141 ObjectMapper objectMapper = new ObjectMapper();
1142 String content = readFileContent(path);
1143 GenericResourceApiContrailRouteAllottedResources allottedResources = objectMapper.readValue(content, GenericResourceApiContrailRouteAllottedResources.class);
1145 for (GenericResourceApiContrailrouteallottedresourcesContrailRouteAllottedResource allottedResource : allottedResources.getContrailRouteAllottedResource()) {
1146 ConfigContrailRouteAllottedResources newContrailRouteAllottedResource = new ConfigContrailRouteAllottedResources();
1147 newContrailRouteAllottedResource.setAllottedResourceId(allottedResource.getAllottedResourceId());
1148 newContrailRouteAllottedResource.setArData(objectMapper.writeValueAsString(allottedResource.getAllottedResourceData()));
1149 newContrailRouteAllottedResource.setAllottedResourceStatus(allottedResource.getAllottedResourceStatus());
1150 configContrailRouteAllottedResourcesRepository.save(newContrailRouteAllottedResource);
1154 private void loadPortMirrorConfigurationData(String path) throws IOException {
1155 ObjectMapper objectMapper = new ObjectMapper();
1156 String content = readFileContent(path);
1157 GenericResourceApiPortMirrorConfigurations pmConfigurations = objectMapper.readValue(content, GenericResourceApiPortMirrorConfigurations.class);
1159 for (GenericResourceApiPortmirrorconfigurationsPortMirrorConfiguration pmConfig : pmConfigurations.getPortMirrorConfiguration()) {
1160 ConfigPortMirrorConfigurations newPmConfig = new ConfigPortMirrorConfigurations();
1161 newPmConfig.setConfigureationId(pmConfig.getConfigurationId());
1162 newPmConfig.setPmcData(objectMapper.writeValueAsString(pmConfig.getConfigurationData()));
1163 newPmConfig.setPortMirrorConfigurationStatus(pmConfig.getConfigurationStatus());
1164 configPortMirrorConfigurationsRepository.save(newPmConfig);