diff options
Diffstat (limited to 'vid-app-common')
-rw-r--r-- | vid-app-common/src/main/java/org/onap/vid/controller/AaiController.java | 5 | ||||
-rw-r--r-- | vid-app-common/src/test/java/org/onap/vid/controller/AaiControllerTest.java | 35 |
2 files changed, 37 insertions, 3 deletions
diff --git a/vid-app-common/src/main/java/org/onap/vid/controller/AaiController.java b/vid-app-common/src/main/java/org/onap/vid/controller/AaiController.java index ca40b7d0c..4a4f3d300 100644 --- a/vid-app-common/src/main/java/org/onap/vid/controller/AaiController.java +++ b/vid-app-common/src/main/java/org/onap/vid/controller/AaiController.java @@ -401,13 +401,12 @@ public class AaiController extends RestrictedBaseController { @RequestMapping(value = "/aai_get_pnfs/pnf/{pnf_id}", method = RequestMethod.GET) public ResponseEntity getSpecificPnf(@PathVariable("pnf_id") String pnfId) { - AaiResponse<Pnf> resp; ResponseEntity<Pnf> re; try { - resp = aaiService.getSpecificPnf(pnfId); + AaiResponse<Pnf> resp = aaiService.getSpecificPnf(pnfId); re = new ResponseEntity<>(resp.getT(), HttpStatus.valueOf(resp.getHttpCode())); } catch (Exception e) { - return new ResponseEntity<String>(e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR); + return new ResponseEntity<>(e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR); } return re; } diff --git a/vid-app-common/src/test/java/org/onap/vid/controller/AaiControllerTest.java b/vid-app-common/src/test/java/org/onap/vid/controller/AaiControllerTest.java index 2f0d1cd0c..35e098c1b 100644 --- a/vid-app-common/src/test/java/org/onap/vid/controller/AaiControllerTest.java +++ b/vid-app-common/src/test/java/org/onap/vid/controller/AaiControllerTest.java @@ -45,6 +45,7 @@ import org.onap.vid.aai.AaiResponseTranslator.PortMirroringConfigDataError; import org.onap.vid.aai.AaiResponseTranslator.PortMirroringConfigDataOk; import org.onap.vid.aai.model.AaiGetAicZone.AicZones; import org.onap.vid.aai.model.AaiGetAicZone.Zone; +import org.onap.vid.aai.model.AaiGetPnfs.Pnf; import org.onap.vid.aai.model.PortDetailsTranslator.PortDetails; import org.onap.vid.aai.model.PortDetailsTranslator.PortDetailsError; import org.onap.vid.aai.model.PortDetailsTranslator.PortDetailsOk; @@ -164,5 +165,39 @@ public class AaiControllerTest { .andExpect(status().isInternalServerError()) .andExpect(content().string(expectedErrorMessage)); } + + @Test + public void getSpecificPnf_shouldReturnPnfObjectForPnfId() throws Exception { + String pnfId = "MyPnfId"; + Pnf pnf = createPnf(pnfId); + AaiResponse<Pnf> aaiResponse = new AaiResponse<>(pnf, "", HttpStatus.OK.value()); + given(aaiService.getSpecificPnf(pnfId)).willReturn(aaiResponse); + + mockMvc.perform(get("/aai_get_pnfs/pnf/{pnf_id}", pnfId) + .contentType(MediaType.APPLICATION_JSON) + .accept(MediaType.APPLICATION_JSON)) + .andExpect(status().isOk()) + .andExpect(content().json(objectMapper.writeValueAsString(pnf))); + } + + @Test + public void getSpecificPnf_shouldHandleAAIServiceException() throws Exception { + String pnfId = "MyPnfId"; + String expectedErrorMessage = "AAI Service Error"; + given(aaiService.getSpecificPnf(pnfId)).willThrow(new RuntimeException(expectedErrorMessage)); + + mockMvc.perform(get("/aai_get_pnfs/pnf/{pnf_id}", pnfId) + .contentType(MediaType.APPLICATION_JSON) + .accept(MediaType.APPLICATION_JSON)) + .andExpect(status().isInternalServerError()) + .andExpect(content().string(expectedErrorMessage)); + } + + private Pnf createPnf(String pnfId) { + Pnf pnf = new Pnf(); + pnf.setPnfId(pnfId); + pnf.setPnfName("TestPnf"); + return pnf; + } } |