@ExceptionHandler(Exception.class) public ResponseEntity<OpenLmisResponse> handleException(Exception ex) { logger.error("something broke with following exception... ", ex); if (ex instanceof AccessDeniedException) { return error(messageService.message(FORBIDDEN_EXCEPTION), HttpStatus.FORBIDDEN); } return error(messageService.message(UNEXPECTED_EXCEPTION), HttpStatus.INTERNAL_SERVER_ERROR); }
@Before public void setUp() { initMocks(this); request = new MockHttpServletRequest(USER, USER); request.getSession().setAttribute(USER_ID, 1L); when(messageService.message(anyString())).thenReturn("the message"); }
@Test public void shouldCreateARnRTemplateForAGivenProgramWithSpecifiedColumns() throws Exception { final RnrColumnList rnrColumns = new RnrColumnList(); MockHttpServletRequest request = new MockHttpServletRequest(); when(rnrTemplateService.saveRnRTemplateForProgram((ProgramRnrTemplate) any())) .thenReturn(new HashMap<String, OpenLmisMessage>()); when(messageService.message("template.save.success")).thenReturn("dummy success"); ResponseEntity<OpenLmisResponse> responseEntity = rnrTemplateController.saveRnRTemplateForProgram(existingProgramId, rnrColumns, request); assertThat(responseEntity.getBody().getSuccessMsg(), is("dummy success")); }
@Test public void shouldReturnErrorMessagesForCorrespondingFields() throws Exception { RnrColumnList rnrColumns = new RnrColumnList(); MockHttpServletRequest request = new MockHttpServletRequest(); HashMap<String, OpenLmisMessage> errorMap = new HashMap<>(); OpenLmisMessage openLmisMessage = new OpenLmisMessage("code", "param1", "param2"); errorMap.put("key", openLmisMessage); when(rnrTemplateService.saveRnRTemplateForProgram((ProgramRnrTemplate) any())) .thenReturn(errorMap); when(messageService.message(openLmisMessage.getCode(), openLmisMessage.getParams())) .thenReturn("dummy message param1 param2"); ResponseEntity<OpenLmisResponse> responseEntity = rnrTemplateController.saveRnRTemplateForProgram(existingProgramId, rnrColumns, request); assertThat( (String) responseEntity.getBody().getData().get("key"), is("dummy message param1 param2")); }