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 configGENERICRESOURCEAPIservicesServiceServiceInstanceIdServiceDataVnfsVnfVnfIdDelete() throws Exception {
469 configServicesRepository.deleteAll();
472 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(""))
474 assertEquals(404, mvcResult.getResponse().getStatus());
475 assertEquals(0, configServicesRepository.count());
478 loadVnfData("src/test/resources/vnf-data.json");
479 assertEquals(1, configServicesRepository.count());
482 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(""))
484 assertEquals(204, mvcResult.getResponse().getStatus());
485 assertEquals(1, configServicesRepository.count());
487 configServicesRepository.deleteAll();
488 loadVnfData("src/test/resources/vnf-data.json");
489 assertEquals(1, configServicesRepository.count());
490 mvcResult = mvc.perform(MockMvcRequestBuilders.delete("/config/GENERIC-RESOURCE-API:services/service/test-siid/service-data/vnfs/vnf/2a3bfc93-cd4c/").contentType(MediaType.APPLICATION_JSON).content(""))
492 assertEquals(404, mvcResult.getResponse().getStatus());
494 configServicesRepository.deleteAll();
495 createBadVnfData(true, true);
496 assertEquals(1, configServicesRepository.count());
497 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(""))
499 assertEquals(404, mvcResult.getResponse().getStatus());
501 configServicesRepository.deleteAll();
502 createBadVnfData(false, false);
503 assertEquals(1, configServicesRepository.count());
504 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(""))
506 assertEquals(404, mvcResult.getResponse().getStatus());
508 configServicesRepository.deleteAll();
509 createBadVnfData(false, true);
510 assertEquals(1, configServicesRepository.count());
511 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(""))
513 assertEquals(404, mvcResult.getResponse().getStatus());
517 public void configGENERICRESOURCEAPIservicesServiceServiceInstanceIdServiceDataVnfsVnfVnfIdGet() throws Exception {
519 configServicesRepository.deleteAll();
522 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(""))
524 assertEquals(404, mvcResult.getResponse().getStatus());
525 assertEquals(0, configServicesRepository.count());
528 loadVnfData("src/test/resources/vnf-data.json");
529 assertEquals(1, configServicesRepository.count());
532 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(""))
534 assertEquals(200, mvcResult.getResponse().getStatus());
536 configServicesRepository.deleteAll();
537 createBadVnfData(false, false);
538 assertEquals(1, configServicesRepository.count());
539 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(""))
541 assertEquals(404, mvcResult.getResponse().getStatus());
545 public void configGENERICRESOURCEAPIservicesServiceServiceInstanceIdServiceDataVnfsVnfVnfIdPut() throws Exception {
547 configServicesRepository.deleteAll();
548 assertEquals(0, configServicesRepository.count());
549 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")))
551 assertEquals(201, mvcResult.getResponse().getStatus());
552 assertEquals(1, configServicesRepository.count());
554 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")))
556 assertEquals(204, mvcResult.getResponse().getStatus());
557 assertEquals(1, configServicesRepository.count());
561 public void configGENERICRESOURCEAPIservicesServiceServiceInstanceIdServiceDataVnfsVnfVnfIdVnfDataVnfTopologyGet() throws Exception {
563 configServicesRepository.deleteAll();
566 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(""))
568 assertEquals(404, mvcResult.getResponse().getStatus());
569 assertEquals(0, configServicesRepository.count());
572 loadVnfData("src/test/resources/vnf-data.json");
573 assertEquals(1, configServicesRepository.count());
576 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(""))
578 assertEquals(200, mvcResult.getResponse().getStatus());
580 configServicesRepository.deleteAll();
581 createBadVnfData(false, false);
582 assertEquals(1, configServicesRepository.count());
583 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(""))
585 assertEquals(404, mvcResult.getResponse().getStatus());
589 public void configGENERICRESOURCEAPIservicesServiceServiceInstanceIdServiceDataVnfsVnfVnfIdVnfDataVnfLevelOperStatusPut() throws Exception {
591 configServicesRepository.deleteAll();
592 assertEquals(0, configServicesRepository.count());
593 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")))
595 assertEquals(201, mvcResult.getResponse().getStatus());
596 assertEquals(1, configServicesRepository.count());
598 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")))
600 assertEquals(204, mvcResult.getResponse().getStatus());
601 assertEquals(1, configServicesRepository.count());
605 public void configGENERICRESOURCEAPIservicesServiceServiceInstanceIdServiceDataVnfsVnfVnfIdVnfDataVnfTopologyOnapModelInformationPut() throws Exception {
607 configServicesRepository.deleteAll();
608 assertEquals(0, configServicesRepository.count());
609 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")))
611 assertEquals(201, mvcResult.getResponse().getStatus());
612 assertEquals(1, configServicesRepository.count());
614 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")))
616 assertEquals(204, mvcResult.getResponse().getStatus());
617 assertEquals(1, configServicesRepository.count());
621 public void configGENERICRESOURCEAPIservicesServiceServiceInstanceIdServiceDataVnfsVnfVnfIdVnfDataVnfTopologyVnfResourceAssignmentsVnfNetworksPut() throws Exception {
623 configServicesRepository.deleteAll();
624 assertEquals(0, configServicesRepository.count());
625 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")))
627 assertEquals(201, mvcResult.getResponse().getStatus());
628 assertEquals(1, configServicesRepository.count());
630 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")))
632 assertEquals(204, mvcResult.getResponse().getStatus());
633 assertEquals(1, configServicesRepository.count());
637 public void configGENERICRESOURCEAPIservicesServiceServiceInstanceIdServiceDataVnfsVnfVnfIdVnfDataVnfTopologyVnfResourceAssignmentsVnfNetworksVnfNetworkNetworkRolePut() throws Exception {
639 configServicesRepository.deleteAll();
640 assertEquals(0, configServicesRepository.count());
641 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")))
643 assertEquals(201, mvcResult.getResponse().getStatus());
644 assertEquals(1, configServicesRepository.count());
646 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")))
648 assertEquals(204, mvcResult.getResponse().getStatus());
649 assertEquals(1, configServicesRepository.count());
652 private String readFileContent(String path) throws IOException {
653 String content = new String(Files.readAllBytes(Paths.get(path)));
657 private void deleteData(String url) throws Exception {
658 mvc.perform(MockMvcRequestBuilders.delete(url).contentType(MediaType.APPLICATION_JSON).content(""))
662 private void loadServicesData(String path) throws IOException {
663 ObjectMapper objectMapper = new ObjectMapper();
664 String content = readFileContent(path);
665 GenericResourceApiServiceModelInfrastructure services = objectMapper.readValue(content, GenericResourceApiServiceModelInfrastructure.class);
667 for (GenericResourceApiServicemodelinfrastructureService service : services.getService()) {
668 ConfigServices newService = new ConfigServices();
669 newService.setSvcInstanceId(service.getServiceInstanceId());
670 newService.setSvcData(objectMapper.writeValueAsString(service.getServiceData()));
671 newService.setServiceStatus(service.getServiceStatus());
672 configServicesRepository.save(newService);
676 private void loadVnfData(String path) throws IOException {
677 ObjectMapper objectMapper = new ObjectMapper();
678 String content = readFileContent(path);
679 GenericResourceApiServicedataServiceData svcData = new GenericResourceApiServicedataServiceData();
680 GenericResourceApiServicedataServicedataVnfsVnf vnfData = objectMapper.readValue(content, GenericResourceApiServicedataServicedataVnfsVnf.class);
681 svcData.setVnfs(new GenericResourceApiServicedataServicedataVnfs());
682 svcData.getVnfs().setVnf(new ArrayList<>());
683 svcData.getVnfs().addVnfItem(vnfData);
684 ConfigServices newService = new ConfigServices();
685 newService.setSvcData(objectMapper.writeValueAsString(svcData));
686 newService.setSvcInstanceId("test-siid");
687 configServicesRepository.save(newService);
690 private void createBadVnfData(boolean useNullSvc, boolean useNullVnfs) throws IOException {
691 ObjectMapper objectMapper = new ObjectMapper();
692 ConfigServices newService = new ConfigServices();
693 GenericResourceApiServicedataServiceData svcData = useNullSvc ? null : new GenericResourceApiServicedataServiceData();
694 GenericResourceApiServicedataServicedataVnfs vnfs = useNullVnfs ? null : new GenericResourceApiServicedataServicedataVnfs();
696 // Overrides useNullSvc
698 svcData = new GenericResourceApiServicedataServiceData();
699 vnfs.setVnf(new ArrayList<>());
700 svcData.setVnfs(vnfs);
703 newService.setSvcInstanceId("test-siid");
704 newService.setSvcData(objectMapper.writeValueAsString(svcData));
705 configServicesRepository.save(newService);