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.data.ConfigServices;
20 import org.onap.sdnc.apps.ms.gra.data.ConfigServicesRepository;
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 CONFIG_SERVICES_URL = "/config/GENERIC-RESOURCE-API:services/";
39 private final static String CONFIG_SERVICES_SERVICE_URL = "/config/GENERIC-RESOURCE-API:services/service/";
45 ConfigServicesRepository configServicesRepository;
48 public static void setUp() throws Exception {
49 System.out.println("ConfigApiServicesControllerTest: Setting serviceLogicProperties, serviceLogicDirectory and sdnc.config.dir");
50 System.setProperty("serviceLogicProperties", "src/test/resources/svclogic.properties");
51 System.setProperty("serviceLogicDirectory", "src/test/resources/svclogic");
52 System.setProperty("sdnc.config.dir", "src/test/resources");
58 public void configGENERICRESOURCEAPIservicesDelete() throws Exception {
61 configServicesRepository.deleteAll();
64 loadServicesData( "src/test/resources/service1.json");
66 assertEquals(1, configServicesRepository.count());
67 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.delete(CONFIG_SERVICES_URL).contentType(MediaType.APPLICATION_JSON).content(""))
69 assertEquals(204, mvcResult.getResponse().getStatus());
70 assertEquals(0, configServicesRepository.count());
73 mvcResult = mvc.perform(MockMvcRequestBuilders.delete(CONFIG_SERVICES_URL).contentType(MediaType.APPLICATION_JSON).content(""))
75 assertEquals(204, mvcResult.getResponse().getStatus());
80 public void configGENERICRESOURCEAPIservicesGet() throws Exception {
82 configServicesRepository.deleteAll();
85 loadServicesData("src/test/resources/service1.json");
86 assert(configServicesRepository.count() > 0);
88 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_URL).contentType(MediaType.APPLICATION_JSON).content(""))
90 assertEquals(200, mvcResult.getResponse().getStatus());
93 configServicesRepository.deleteAll();
94 mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_URL).contentType(MediaType.APPLICATION_JSON).content(""))
96 assertEquals(404, mvcResult.getResponse().getStatus());
100 public void configGENERICRESOURCEAPIservicesPost() throws Exception {
102 configServicesRepository.deleteAll();
104 String content = readFileContent("src/test/resources/service1.json");
107 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.post(CONFIG_SERVICES_URL).contentType(MediaType.APPLICATION_JSON).content(content))
109 assertEquals(201, mvcResult.getResponse().getStatus());
110 assertEquals(1, configServicesRepository.count());
112 // Test with existing data - should return 409
113 mvcResult = mvc.perform(MockMvcRequestBuilders.post(CONFIG_SERVICES_URL).contentType(MediaType.APPLICATION_JSON).content(content))
115 assertEquals(409, mvcResult.getResponse().getStatus());
116 assertEquals(1, configServicesRepository.count());
119 configServicesRepository.deleteAll();
124 public void configGENERICRESOURCEAPIservicesPut() throws Exception {
126 configServicesRepository.deleteAll();
128 String content = readFileContent("src/test/resources/service1.json");
131 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_SERVICES_URL).contentType(MediaType.APPLICATION_JSON).content(content))
133 assertEquals(201, mvcResult.getResponse().getStatus());
134 assertEquals(1, configServicesRepository.count());
136 // Test with existing data - should return 409
137 mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_SERVICES_URL).contentType(MediaType.APPLICATION_JSON).content(content))
139 assertEquals(204, mvcResult.getResponse().getStatus());
140 assertEquals(1, configServicesRepository.count());
143 configServicesRepository.deleteAll();
148 public void configGENERICRESOURCEAPIservicesGENERICRESOURCEAPIserviceServiceInstanceIdDelete() throws Exception {
150 configServicesRepository.deleteAll();
153 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.delete(CONFIG_SERVICES_SERVICE_URL+"service1/").contentType(MediaType.APPLICATION_JSON).content(""))
155 assertEquals(204, mvcResult.getResponse().getStatus());
156 assertEquals(0, configServicesRepository.count());
159 loadServicesData("src/test/resources/service1.json");
160 assertEquals(1, configServicesRepository.count());
163 mvcResult = mvc.perform(MockMvcRequestBuilders.delete(CONFIG_SERVICES_SERVICE_URL+"service1/").contentType(MediaType.APPLICATION_JSON).content(""))
165 assertEquals(204, mvcResult.getResponse().getStatus());
166 assertEquals(0, configServicesRepository.count());
171 public void configGENERICRESOURCEAPIservicesGENERICRESOURCEAPIserviceServiceInstanceIdGet() throws Exception {
173 configServicesRepository.deleteAll();
176 loadServicesData("src/test/resources/service1.json");
177 assert(configServicesRepository.count() > 0);
179 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+"service1/").contentType(MediaType.APPLICATION_JSON).content(""))
181 assertEquals(200, mvcResult.getResponse().getStatus());
184 configServicesRepository.deleteAll();
185 mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+"service1/").contentType(MediaType.APPLICATION_JSON).content(""))
187 assertEquals(404, mvcResult.getResponse().getStatus());
191 public void configGENERICRESOURCEAPIservicesGENERICRESOURCEAPIserviceServiceInstanceIdPost() throws Exception {
193 configServicesRepository.deleteAll();
195 String content = readFileContent("src/test/resources/service1-serviceitem.json");
198 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.post(CONFIG_SERVICES_SERVICE_URL+"service1/").contentType(MediaType.APPLICATION_JSON).content(content))
200 assertEquals(201, mvcResult.getResponse().getStatus());
201 assertEquals(1, configServicesRepository.count());
203 // Test with existing data - should return 409
204 mvcResult = mvc.perform(MockMvcRequestBuilders.post(CONFIG_SERVICES_SERVICE_URL+"service1/").contentType(MediaType.APPLICATION_JSON).content(content))
206 assertEquals(409, mvcResult.getResponse().getStatus());
207 assertEquals(1, configServicesRepository.count());
210 configServicesRepository.deleteAll();
215 public void configGENERICRESOURCEAPIservicesGENERICRESOURCEAPIserviceServiceInstanceIdPut() throws Exception {
217 configServicesRepository.deleteAll();
219 String content = readFileContent("src/test/resources/service1-serviceitem.json");
222 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_SERVICES_SERVICE_URL+"service1/").contentType(MediaType.APPLICATION_JSON).content(content))
224 assertEquals(201, mvcResult.getResponse().getStatus());
225 assertEquals(1, configServicesRepository.count());
227 // Test with existing data - should return 409
228 mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_SERVICES_SERVICE_URL+"service1/").contentType(MediaType.APPLICATION_JSON).content(content))
230 assertEquals(204, mvcResult.getResponse().getStatus());
231 assertEquals(1, configServicesRepository.count());
234 configServicesRepository.deleteAll();
238 public void configGENERICRESOURCEAPIservicesGENERICRESOURCEAPIserviceServiceInstanceIdGENERICRESOURCEAPIserviceDataDelete() throws Exception {
240 configServicesRepository.deleteAll();
243 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.delete(CONFIG_SERVICES_SERVICE_URL+"service1/service-data/").contentType(MediaType.APPLICATION_JSON).content(""))
245 assertEquals(404, mvcResult.getResponse().getStatus());
246 assertEquals(0, configServicesRepository.count());
249 loadServicesData("src/test/resources/service1.json");
250 assertEquals(1, configServicesRepository.count());
253 mvcResult = mvc.perform(MockMvcRequestBuilders.delete(CONFIG_SERVICES_SERVICE_URL+"service1/service-data/").contentType(MediaType.APPLICATION_JSON).content(""))
255 assertEquals(204, mvcResult.getResponse().getStatus());
256 assertEquals(1, configServicesRepository.count());
257 List<ConfigServices> services = configServicesRepository.findBySvcInstanceId("service1");
258 assertEquals(1, services.size());
259 assertEquals(null, services.get(0).getSvcData());
265 public void configGENERICRESOURCEAPIservicesGENERICRESOURCEAPIserviceServiceInstanceIdGENERICRESOURCEAPIserviceDataGet() throws Exception {
267 configServicesRepository.deleteAll();
270 loadServicesData("src/test/resources/service1.json");
271 assert(configServicesRepository.count() > 0);
273 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+"service1/service-data/").contentType(MediaType.APPLICATION_JSON).content(""))
275 assertEquals(200, mvcResult.getResponse().getStatus());
278 configServicesRepository.deleteAll();
279 mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+"service1/service-data/").contentType(MediaType.APPLICATION_JSON).content(""))
281 assertEquals(404, mvcResult.getResponse().getStatus());
285 public void configGENERICRESOURCEAPIservicesGENERICRESOURCEAPIserviceServiceInstanceIdGENERICRESOURCEAPIserviceDataPost() throws Exception {
287 configServicesRepository.deleteAll();
289 String content = readFileContent("src/test/resources/service1-servicedata.json");
292 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.post(CONFIG_SERVICES_SERVICE_URL+"service1/service-data/").contentType(MediaType.APPLICATION_JSON).content(content))
294 assertEquals(404, mvcResult.getResponse().getStatus());
295 assertEquals(0, configServicesRepository.count());
297 // Test with empty service data
298 ConfigServices service = new ConfigServices();
299 service.setSvcInstanceId("service1");
300 configServicesRepository.save(service);
301 assertEquals(1, configServicesRepository.count());
302 mvcResult = mvc.perform(MockMvcRequestBuilders.post(CONFIG_SERVICES_SERVICE_URL+"service1/service-data/").contentType(MediaType.APPLICATION_JSON).content(content))
304 assertEquals(201, mvcResult.getResponse().getStatus());
305 assertEquals(1, configServicesRepository.count());
306 List<ConfigServices> updatedService = configServicesRepository.findBySvcInstanceId("service1");
307 assertEquals(1, updatedService.size());
308 assertNotEquals(null, updatedService.get(0).getSvcData());
310 // Test with existing data - should return 409
311 mvcResult = mvc.perform(MockMvcRequestBuilders.post(CONFIG_SERVICES_SERVICE_URL+"service1/service-data/").contentType(MediaType.APPLICATION_JSON).content(content))
313 assertEquals(409, mvcResult.getResponse().getStatus());
316 configServicesRepository.deleteAll();
320 public void configGENERICRESOURCEAPIservicesGENERICRESOURCEAPIserviceServiceInstanceIdGENERICRESOURCEAPIserviceDataPut() throws Exception {
322 configServicesRepository.deleteAll();
324 String content = readFileContent("src/test/resources/service1-servicedata.json");
327 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_SERVICES_SERVICE_URL+"service1/service-data/").contentType(MediaType.APPLICATION_JSON).content(content))
329 assertEquals(404, mvcResult.getResponse().getStatus());
330 assertEquals(0, configServicesRepository.count());
332 // Test with empty service data
333 ConfigServices service = new ConfigServices();
334 service.setSvcInstanceId("service1");
335 configServicesRepository.save(service);
336 mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_SERVICES_SERVICE_URL+"service1/service-data/").contentType(MediaType.APPLICATION_JSON).content(content))
338 assertEquals(201, mvcResult.getResponse().getStatus());
339 assertEquals(1, configServicesRepository.count());
340 List<ConfigServices> updatedService = configServicesRepository.findBySvcInstanceId("service1");
341 assertEquals(1, updatedService.size());
342 assertNotEquals(null, updatedService.get(0).getSvcData());
344 // Test with existing data - should return 204
345 mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_SERVICES_SERVICE_URL+"service1/service-data/").contentType(MediaType.APPLICATION_JSON).content(content))
347 assertEquals(204, mvcResult.getResponse().getStatus());
350 configServicesRepository.deleteAll();
354 public void configGENERICRESOURCEAPIservicesGENERICRESOURCEAPIserviceServiceInstanceIdGENERICRESOURCEAPIserviceStatusDelete() throws Exception {
356 configServicesRepository.deleteAll();
359 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.delete(CONFIG_SERVICES_SERVICE_URL+"service1/service-status/").contentType(MediaType.APPLICATION_JSON).content(""))
361 assertEquals(404, mvcResult.getResponse().getStatus());
362 assertEquals(0, configServicesRepository.count());
365 loadServicesData("src/test/resources/service1.json");
366 assertEquals(1, configServicesRepository.count());
369 mvcResult = mvc.perform(MockMvcRequestBuilders.delete(CONFIG_SERVICES_SERVICE_URL+"service1/service-status/").contentType(MediaType.APPLICATION_JSON).content(""))
371 assertEquals(204, mvcResult.getResponse().getStatus());
372 assertEquals(1, configServicesRepository.count());
373 List<ConfigServices> services = configServicesRepository.findBySvcInstanceId("service1");
374 assertEquals(1, services.size());
375 assertEquals(null, services.get(0).getServiceStatus());
379 public void configGENERICRESOURCEAPIservicesGENERICRESOURCEAPIserviceServiceInstanceIdGENERICRESOURCEAPIserviceStatusGet() throws Exception {
381 configServicesRepository.deleteAll();
384 loadServicesData("src/test/resources/service1.json");
385 assert(configServicesRepository.count() > 0);
387 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+"service1/service-status/").contentType(MediaType.APPLICATION_JSON).content(""))
389 assertEquals(200, mvcResult.getResponse().getStatus());
392 configServicesRepository.deleteAll();
393 mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+"service1/service-status/").contentType(MediaType.APPLICATION_JSON).content(""))
395 assertEquals(404, mvcResult.getResponse().getStatus());
399 public void configGENERICRESOURCEAPIservicesGENERICRESOURCEAPIserviceServiceInstanceIdGENERICRESOURCEAPIserviceStatusPost() throws Exception {
401 configServicesRepository.deleteAll();
403 String content = readFileContent("src/test/resources/service1-servicestatus.json");
406 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.post(CONFIG_SERVICES_SERVICE_URL+"service1/service-status/").contentType(MediaType.APPLICATION_JSON).content(content))
408 assertEquals(404, mvcResult.getResponse().getStatus());
409 assertEquals(0, configServicesRepository.count());
411 // Test with empty service data
412 ConfigServices service = new ConfigServices();
413 service.setSvcInstanceId("service1");
414 configServicesRepository.save(service);
415 mvcResult = mvc.perform(MockMvcRequestBuilders.post(CONFIG_SERVICES_SERVICE_URL+"service1/service-status/").contentType(MediaType.APPLICATION_JSON).content(content))
417 assertEquals(201, mvcResult.getResponse().getStatus());
418 assertEquals(1, configServicesRepository.count());
419 List<ConfigServices> updatedService = configServicesRepository.findBySvcInstanceId("service1");
420 assertEquals(1, updatedService.size());
421 assertNotEquals(null, updatedService.get(0).getServiceStatus());
423 // Test with existing data - should return 409
424 mvcResult = mvc.perform(MockMvcRequestBuilders.post(CONFIG_SERVICES_SERVICE_URL+"service1/service-status/").contentType(MediaType.APPLICATION_JSON).content(content))
426 assertEquals(409, mvcResult.getResponse().getStatus());
429 configServicesRepository.deleteAll();
433 public void configGENERICRESOURCEAPIservicesGENERICRESOURCEAPIserviceServiceInstanceIdGENERICRESOURCEAPIserviceStatusPut() throws Exception {
435 configServicesRepository.deleteAll();
437 String content = readFileContent("src/test/resources/service1-servicestatus.json");
440 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_SERVICES_SERVICE_URL+"service1/service-status/").contentType(MediaType.APPLICATION_JSON).content(content))
442 assertEquals(404, mvcResult.getResponse().getStatus());
443 assertEquals(0, configServicesRepository.count());
445 // Test with empty service status
446 ConfigServices service = new ConfigServices();
447 service.setSvcInstanceId("service1");
448 configServicesRepository.save(service);
449 mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_SERVICES_SERVICE_URL+"service1/service-status/").contentType(MediaType.APPLICATION_JSON).content(content))
451 assertEquals(201, mvcResult.getResponse().getStatus());
452 assertEquals(1, configServicesRepository.count());
453 List<ConfigServices> updatedService = configServicesRepository.findBySvcInstanceId("service1");
454 assertEquals(1, updatedService.size());
455 assertNotEquals(null, updatedService.get(0).getServiceStatus());
457 // Test with existing data - should return 204
458 mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_SERVICES_SERVICE_URL+"service1/service-status/").contentType(MediaType.APPLICATION_JSON).content(content))
460 assertEquals(204, mvcResult.getResponse().getStatus());
463 configServicesRepository.deleteAll();
467 public void configGENERICRESOURCEAPIservicesServiceServiceInstanceIdServiceDataServiceTopologyGet() throws Exception {
469 configServicesRepository.deleteAll();
472 loadServicesData("src/test/resources/service1.json");
473 assert(configServicesRepository.count() > 0);
475 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+"service1/service-data/service-topology/").contentType(MediaType.APPLICATION_JSON).content(""))
477 assertEquals(200, mvcResult.getResponse().getStatus());
480 configServicesRepository.deleteAll();
481 mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+"service1/service-data/service-topology/").contentType(MediaType.APPLICATION_JSON).content(""))
483 assertEquals(404, mvcResult.getResponse().getStatus());
487 public void configGENERICRESOURCEAPIservicesServiceServiceInstanceIdServiceDataVnfsVnfVnfIdDelete() throws Exception {
489 configServicesRepository.deleteAll();
492 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.delete("/config/GENERIC-RESOURCE-API:services/service/test-siid/service-data/vnfs/vnf/2a3bfc93-cd4c-4845-8919-434b2d999ada/").contentType(MediaType.APPLICATION_JSON).content(""))
494 assertEquals(404, mvcResult.getResponse().getStatus());
495 assertEquals(0, configServicesRepository.count());
498 loadVnfData("src/test/resources/vnf-data.json");
499 assertEquals(1, configServicesRepository.count());
502 mvcResult = mvc.perform(MockMvcRequestBuilders.delete("/config/GENERIC-RESOURCE-API:services/service/test-siid/service-data/vnfs/vnf/2a3bfc93-cd4c-4845-8919-434b2d999ada/").contentType(MediaType.APPLICATION_JSON).content(""))
504 assertEquals(204, mvcResult.getResponse().getStatus());
505 assertEquals(1, configServicesRepository.count());
507 configServicesRepository.deleteAll();
508 loadVnfData("src/test/resources/vnf-data.json");
509 assertEquals(1, configServicesRepository.count());
510 mvcResult = mvc.perform(MockMvcRequestBuilders.delete("/config/GENERIC-RESOURCE-API:services/service/test-siid/service-data/vnfs/vnf/2a3bfc93-cd4c/").contentType(MediaType.APPLICATION_JSON).content(""))
512 assertEquals(404, mvcResult.getResponse().getStatus());
514 configServicesRepository.deleteAll();
515 createBadVnfData(true, true);
516 assertEquals(1, configServicesRepository.count());
517 mvcResult = mvc.perform(MockMvcRequestBuilders.delete("/config/GENERIC-RESOURCE-API:services/service/test-siid/service-data/vnfs/vnf/2a3bfc93-cd4c-4845-8919-434b2d999ada/").contentType(MediaType.APPLICATION_JSON).content(""))
519 assertEquals(404, mvcResult.getResponse().getStatus());
521 configServicesRepository.deleteAll();
522 createBadVnfData(false, false);
523 assertEquals(1, configServicesRepository.count());
524 mvcResult = mvc.perform(MockMvcRequestBuilders.delete("/config/GENERIC-RESOURCE-API:services/service/test-siid/service-data/vnfs/vnf/2a3bfc93-cd4c-4845-8919-434b2d999ada/").contentType(MediaType.APPLICATION_JSON).content(""))
526 assertEquals(404, mvcResult.getResponse().getStatus());
528 configServicesRepository.deleteAll();
529 createBadVnfData(false, true);
530 assertEquals(1, configServicesRepository.count());
531 mvcResult = mvc.perform(MockMvcRequestBuilders.delete("/config/GENERIC-RESOURCE-API:services/service/test-siid/service-data/vnfs/vnf/2a3bfc93-cd4c-4845-8919-434b2d999ada/").contentType(MediaType.APPLICATION_JSON).content(""))
533 assertEquals(404, mvcResult.getResponse().getStatus());
537 public void configGENERICRESOURCEAPIservicesServiceServiceInstanceIdServiceDataVnfsVnfVnfIdGet() throws Exception {
539 configServicesRepository.deleteAll();
542 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get("/config/GENERIC-RESOURCE-API:services/service/test-siid/service-data/vnfs/vnf/2a3bfc93-cd4c-4845-8919-434b2d999ada/").contentType(MediaType.APPLICATION_JSON).content(""))
544 assertEquals(404, mvcResult.getResponse().getStatus());
545 assertEquals(0, configServicesRepository.count());
548 loadVnfData("src/test/resources/vnf-data.json");
549 assertEquals(1, configServicesRepository.count());
552 mvcResult = mvc.perform(MockMvcRequestBuilders.get("/config/GENERIC-RESOURCE-API:services/service/test-siid/service-data/vnfs/vnf/2a3bfc93-cd4c-4845-8919-434b2d999ada/").contentType(MediaType.APPLICATION_JSON).content(""))
554 assertEquals(200, mvcResult.getResponse().getStatus());
556 configServicesRepository.deleteAll();
557 createBadVnfData(false, false);
558 assertEquals(1, configServicesRepository.count());
559 mvcResult = mvc.perform(MockMvcRequestBuilders.get("/config/GENERIC-RESOURCE-API:services/service/test-siid/service-data/vnfs/vnf/2a3bfc93-cd4c-4845-8919-434b2d999ada/").contentType(MediaType.APPLICATION_JSON).content(""))
561 assertEquals(404, mvcResult.getResponse().getStatus());
565 public void configGENERICRESOURCEAPIservicesServiceServiceInstanceIdServiceDataVnfsVnfVnfIdPut() throws Exception {
567 configServicesRepository.deleteAll();
568 assertEquals(0, configServicesRepository.count());
569 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.put("/config/GENERIC-RESOURCE-API:services/service/test-siid/service-data/vnfs/vnf/2a3bfc93-cd4c-4845-8919-434b2d999ada/").contentType(MediaType.APPLICATION_JSON).content(readFileContent("src/test/resources/vnf-data.json")))
571 assertEquals(201, mvcResult.getResponse().getStatus());
572 assertEquals(1, configServicesRepository.count());
574 mvcResult = mvc.perform(MockMvcRequestBuilders.put("/config/GENERIC-RESOURCE-API:services/service/test-siid/service-data/vnfs/vnf/2a3bfc93-cd4c-4845-8919-434b2d999ada/").contentType(MediaType.APPLICATION_JSON).content(readFileContent("src/test/resources/vnf-data.json")))
576 assertEquals(204, mvcResult.getResponse().getStatus());
577 assertEquals(1, configServicesRepository.count());
581 public void configGENERICRESOURCEAPIservicesServiceServiceInstanceIdServiceDataVnfsVnfVnfIdVnfDataVnfTopologyGet() throws Exception {
583 configServicesRepository.deleteAll();
586 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get("/config/GENERIC-RESOURCE-API:services/service/test-siid/service-data/vnfs/vnf/2a3bfc93-cd4c-4845-8919-434b2d999ada/vnf-data/vnf-topology/").contentType(MediaType.APPLICATION_JSON).content(""))
588 assertEquals(404, mvcResult.getResponse().getStatus());
589 assertEquals(0, configServicesRepository.count());
592 loadVnfData("src/test/resources/vnf-data.json");
593 assertEquals(1, configServicesRepository.count());
596 mvcResult = mvc.perform(MockMvcRequestBuilders.get("/config/GENERIC-RESOURCE-API:services/service/test-siid/service-data/vnfs/vnf/2a3bfc93-cd4c-4845-8919-434b2d999ada/vnf-data/vnf-topology/").contentType(MediaType.APPLICATION_JSON).content(""))
598 assertEquals(200, mvcResult.getResponse().getStatus());
600 configServicesRepository.deleteAll();
601 createBadVnfData(false, false);
602 assertEquals(1, configServicesRepository.count());
603 mvcResult = mvc.perform(MockMvcRequestBuilders.get("/config/GENERIC-RESOURCE-API:services/service/test-siid/service-data/vnfs/vnf/2a3bfc93-cd4c-4845-8919-434b2d999ada/vnf-data/vnf-topology/").contentType(MediaType.APPLICATION_JSON).content(""))
605 assertEquals(404, mvcResult.getResponse().getStatus());
609 public void configGENERICRESOURCEAPIservicesServiceServiceInstanceIdServiceDataVnfsVnfVnfIdVnfDataVnfLevelOperStatusPut() throws Exception {
611 configServicesRepository.deleteAll();
612 assertEquals(0, configServicesRepository.count());
613 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")))
615 assertEquals(201, mvcResult.getResponse().getStatus());
616 assertEquals(1, configServicesRepository.count());
618 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")))
620 assertEquals(204, mvcResult.getResponse().getStatus());
621 assertEquals(1, configServicesRepository.count());
625 public void configGENERICRESOURCEAPIservicesServiceServiceInstanceIdServiceDataVnfsVnfVnfIdVnfDataVnfTopologyOnapModelInformationPut() throws Exception {
627 configServicesRepository.deleteAll();
628 assertEquals(0, configServicesRepository.count());
629 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")))
631 assertEquals(201, mvcResult.getResponse().getStatus());
632 assertEquals(1, configServicesRepository.count());
634 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")))
636 assertEquals(204, mvcResult.getResponse().getStatus());
637 assertEquals(1, configServicesRepository.count());
641 public void configGENERICRESOURCEAPIservicesServiceServiceInstanceIdServiceDataVnfsVnfVnfIdVnfDataVnfTopologyVnfResourceAssignmentsVnfNetworksPut() throws Exception {
643 configServicesRepository.deleteAll();
644 assertEquals(0, configServicesRepository.count());
645 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")))
647 assertEquals(201, mvcResult.getResponse().getStatus());
648 assertEquals(1, configServicesRepository.count());
650 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")))
652 assertEquals(204, mvcResult.getResponse().getStatus());
653 assertEquals(1, configServicesRepository.count());
657 public void configGENERICRESOURCEAPIservicesServiceServiceInstanceIdServiceDataVnfsVnfVnfIdVnfDataVnfTopologyVnfResourceAssignmentsVnfNetworksVnfNetworkNetworkRolePut() throws Exception {
659 configServicesRepository.deleteAll();
660 assertEquals(0, configServicesRepository.count());
661 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")))
663 assertEquals(201, mvcResult.getResponse().getStatus());
664 assertEquals(1, configServicesRepository.count());
666 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")))
668 assertEquals(204, mvcResult.getResponse().getStatus());
669 assertEquals(1, configServicesRepository.count());
672 private String readFileContent(String path) throws IOException {
673 String content = new String(Files.readAllBytes(Paths.get(path)));
677 private void deleteData(String url) throws Exception {
678 mvc.perform(MockMvcRequestBuilders.delete(url).contentType(MediaType.APPLICATION_JSON).content(""))
682 private void loadServicesData(String path) throws IOException {
683 ObjectMapper objectMapper = new ObjectMapper();
684 String content = readFileContent(path);
685 GenericResourceApiServiceModelInfrastructure services = objectMapper.readValue(content, GenericResourceApiServiceModelInfrastructure.class);
687 for (GenericResourceApiServicemodelinfrastructureService service : services.getService()) {
688 ConfigServices newService = new ConfigServices();
689 newService.setSvcInstanceId(service.getServiceInstanceId());
690 newService.setSvcData(objectMapper.writeValueAsString(service.getServiceData()));
691 newService.setServiceStatus(service.getServiceStatus());
692 configServicesRepository.save(newService);
696 private void loadVnfData(String path) throws IOException {
697 ObjectMapper objectMapper = new ObjectMapper();
698 String content = readFileContent(path);
699 GenericResourceApiServicedataServiceData svcData = new GenericResourceApiServicedataServiceData();
700 GenericResourceApiServicedataServicedataVnfsVnf vnfData = objectMapper.readValue(content, GenericResourceApiServicedataServicedataVnfsVnf.class);
701 svcData.setVnfs(new GenericResourceApiServicedataServicedataVnfs());
702 svcData.getVnfs().setVnf(new ArrayList<>());
703 svcData.getVnfs().addVnfItem(vnfData);
704 ConfigServices newService = new ConfigServices();
705 newService.setSvcData(objectMapper.writeValueAsString(svcData));
706 newService.setSvcInstanceId("test-siid");
707 configServicesRepository.save(newService);
710 private void createBadVnfData(boolean useNullSvc, boolean useNullVnfs) throws IOException {
711 ObjectMapper objectMapper = new ObjectMapper();
712 ConfigServices newService = new ConfigServices();
713 GenericResourceApiServicedataServiceData svcData = useNullSvc ? null : new GenericResourceApiServicedataServiceData();
714 GenericResourceApiServicedataServicedataVnfs vnfs = useNullVnfs ? null : new GenericResourceApiServicedataServicedataVnfs();
716 // Overrides useNullSvc
718 svcData = new GenericResourceApiServicedataServiceData();
719 vnfs.setVnf(new ArrayList<>());
720 svcData.setVnfs(vnfs);
723 newService.setSvcInstanceId("test-siid");
724 newService.setSvcData(objectMapper.writeValueAsString(svcData));
725 configServicesRepository.save(newService);