本文整理汇总了Java中uk.gov.ons.ctp.common.error.CTPException类的典型用法代码示例。如果您正苦于以下问题:Java CTPException类的具体用法?Java CTPException怎么用?Java CTPException使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
CTPException类属于uk.gov.ons.ctp.common.error包,在下文中一共展示了CTPException类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: testProcessActionRequestHappyPathSMS
import uk.gov.ons.ctp.common.error.CTPException; //导入依赖的package包/类
/**
* To test the happy path when processing an ActionRequest for SMS. Note emailAddress is at null.
*
* @throws CTPException when notifyService.process does
* @throws NotificationClientException when censusNotificationClient does
*/
@Test
public void testProcessActionRequestHappyPathSMS() throws CTPException, NotificationClientException {
Mockito.when(notificationClient.sendSms(any(String.class), any(String.class),
any(HashMap.class),any(String.class))).thenReturn(buildSendSmsResponse());
Mockito.when(notificationClient.getNotificationById(any(String.class))).thenReturn(buildNotificationForSMS());
ActionFeedback result = notifyService.process(ObjectBuilder.buildActionRequest(ACTION_ID, FORENAME, SURNAME,
PHONENUMBER, null, true));
assertEquals(ACTION_ID, result.getActionId());
assertEquals(NOTIFY_SMS_SENT, result.getSituation());
assertEquals(Outcome.REQUEST_COMPLETED, result.getOutcome());
HashMap<String, String> personalisation = new HashMap<>();
personalisation.put(IAC_KEY, IAC_AS_DISPLAYED_IN_SMS);
verify(notificationClient, times(1)).sendSms(any(String.class), eq(PHONENUMBER),
eq(personalisation), any(String.class));
verify(notificationClient, times(1)).getNotificationById(eq(NOTIFICATION_ID));
}
示例2: testProcessActionRequestErrorPathSMS
import uk.gov.ons.ctp.common.error.CTPException; //导入依赖的package包/类
/**
* To test the error path when processing an ActionRequest for SMS. Note emailAddress is at null.
*
* @throws CTPException when notifyService.process does
* @throws NotificationClientException when censusNotificationClient does
*/
@Test
public void testProcessActionRequestErrorPathSMS() throws CTPException, NotificationClientException {
Mockito.when(notificationClient.sendSms(any(String.class), any(String.class),
any(HashMap.class),any(String.class))).thenThrow(new NotificationClientException(new Exception()));
try {
notifyService.process(ObjectBuilder.buildActionRequest(ACTION_ID, FORENAME, SURNAME,
INVALID_PHONENUMBER, null, true));
fail();
} catch (NotificationClientException e) {
assertEquals(EXCEPTION_MSG, e.getMessage());
}
HashMap<String, String> personalisation = new HashMap<>();
personalisation.put(IAC_KEY, IAC_AS_DISPLAYED_IN_SMS);
verify(notificationClient, times(1)).sendSms(any(String.class), eq(INVALID_PHONENUMBER),
eq(personalisation), any(String.class));
verify(notificationClient, never()).getNotificationById(any(String.class));
}
示例3: testProcessActionRequestHappyPathEmail
import uk.gov.ons.ctp.common.error.CTPException; //导入依赖的package包/类
/**
* To test the happy path when processing an ActionRequest for Email. Note phonenumber is at null.
*
* @throws CTPException when notifyService.process does
* @throws NotificationClientException when censusNotificationClient does
*/
@Test
public void testProcessActionRequestHappyPathEmail() throws CTPException, NotificationClientException {
Mockito.when(notificationClient.sendEmail(any(String.class), any(String.class),
any(HashMap.class),any(String.class))).thenReturn(buildSendEmailResponse());
Mockito.when(notificationClient.getNotificationById(any(String.class))).thenReturn(buildNotificationForEmail());
ActionFeedback result = notifyService.process(ObjectBuilder.buildActionRequest(ACTION_ID, FORENAME, SURNAME,
null, EMAIL_ADDRESS, true));
assertEquals(ACTION_ID, result.getActionId());
assertEquals(NOTIFY_EMAIL_SENT, result.getSituation());
assertEquals(Outcome.REQUEST_COMPLETED, result.getOutcome());
HashMap<String, String> personalisation = new HashMap<>();
personalisation.put(REPORTING_UNIT_REF_KEY, SAMPLE_UNIT_REF);
personalisation.put(SURVEY_NAME_KEY, SURVEY_NAME);
personalisation.put(SURVEY_ID_KEY, SURVEY_REF);
personalisation.put(FIRSTNAME_KEY, FORENAME);
personalisation.put(LASTNAME_KEY, SURNAME);
personalisation.put(RU_NAME_KEY, RU_NAME);
personalisation.put(TRADING_STYLE_KEY, TRADING_STYLE);
personalisation.put(RETURN_BY_DATE_KEY, RETURN_BY_DATE);
verify(notificationClient, times(1)).sendEmail(any(String.class), eq(EMAIL_ADDRESS),
eq(personalisation), any(String.class));
verify(notificationClient, times(1)).getNotificationById(eq(NOTIFICATION_ID));
}
示例4: getStatusMessageFoundWithoutNotificationId
import uk.gov.ons.ctp.common.error.CTPException; //导入依赖的package包/类
/**
* Scenario where message is found in the database but notificationId has not yet been populated
*
* @throws Exception when getJson does
*/
@Test
public void getStatusMessageFoundWithoutNotificationId() throws Exception {
Message message = Message.builder().build();
when(resilienceService.findMessageById(UUID.fromString(EXISTING_MSG_ID))).thenReturn(message);
ResultActions actions = mockMvc.perform(getJson(String.format("/messages/%s", EXISTING_MSG_ID)));
actions.andExpect(status().isNotFound())
.andExpect(handler().handlerType(StatusEndpoint.class))
.andExpect(handler().methodName(GET_STATUS))
.andExpect(jsonPath("$.error.code", is(CTPException.Fault.RESOURCE_NOT_FOUND.name())))
.andExpect(jsonPath("$.error.message",
is(String.format(ERRORMSG_NOTIFICATION_NOTDEFINED, EXISTING_MSG_ID))))
.andExpect(jsonPath("$.error.timestamp", isA(String.class)));
}
示例5: getStatusMessageFoundNotificationNull
import uk.gov.ons.ctp.common.error.CTPException; //导入依赖的package包/类
/**
* Scenario where message is found in the database but notification retrieved from GOV.UK Notify is null
*
* @throws Exception when getJson does
*/
@Test
public void getStatusMessageFoundNotificationNull() throws Exception {
UUID notificationId = UUID.fromString(NOTIFICATION_ID);
Message message = Message.builder().notificationId(notificationId).build();
when(resilienceService.findMessageById(UUID.fromString(EXISTING_MSG_ID))).thenReturn(message);
when(notifyService.findNotificationById(eq(notificationId))).thenReturn(null);
ResultActions actions = mockMvc.perform(getJson(String.format("/messages/%s", EXISTING_MSG_ID)));
actions.andExpect(status().isNotFound())
.andExpect(handler().handlerType(StatusEndpoint.class))
.andExpect(handler().methodName(GET_STATUS))
.andExpect(jsonPath("$.error.code", is(CTPException.Fault.RESOURCE_NOT_FOUND.name())))
.andExpect(jsonPath("$.error.message",
is(String.format(ERRORMSG_NOTIFICATION_NOTFOUND, EXISTING_MSG_ID))))
.andExpect(jsonPath("$.error.timestamp", isA(String.class)));
}
示例6: getStatusMessageFoundNotificationException
import uk.gov.ons.ctp.common.error.CTPException; //导入依赖的package包/类
/**
* Scenario where message is found in the database but notification retrieval from GOV.UK Notify throws Exception
*
* @throws Exception when getJson does
*/
@Test
public void getStatusMessageFoundNotificationException() throws Exception {
UUID notificationId = UUID.fromString(NOTIFICATION_ID);
Message message = Message.builder().notificationId(notificationId).build();
when(resilienceService.findMessageById(UUID.fromString(EXISTING_MSG_ID))).thenReturn(message);
when(notifyService.findNotificationById(eq(notificationId))).thenThrow(
new NotificationClientException(new Exception()));
ResultActions actions = mockMvc.perform(getJson(String.format("/messages/%s", EXISTING_MSG_ID)));
actions.andExpect(status().is5xxServerError())
.andExpect(handler().handlerType(StatusEndpoint.class))
.andExpect(handler().methodName(GET_STATUS))
.andExpect(jsonPath("$.error.code", is(CTPException.Fault.SYSTEM_ERROR.name())))
.andExpect(jsonPath("$.error.message",
is(String.format(ERRORMSG_NOTIFICATION_ISSUE, GENERAL_EXCEPTION, GENERAL_EXCEPTION))))
.andExpect(jsonPath("$.error.timestamp", isA(String.class)));
}
示例7: updateAction
import uk.gov.ons.ctp.common.error.CTPException; //导入依赖的package包/类
/**
* PUT to update the specified Action.
*
* @param actionId Action Id of the Action to update
* @param actionDTO Incoming ActionDTO with details to update
* @return ActionDTO Returns the updated Action details
* @throws CTPException if update operation fails
*/
@RequestMapping(value = "/{actionid}", method = RequestMethod.PUT, consumes = "application/json")
public ActionDTO updateAction(@PathVariable("actionid") final BigInteger actionId,
@RequestBody final ActionDTO actionDTO, BindingResult bindingResult)
throws CTPException {
log.info("Updating Action with {} {}", actionId, actionDTO);
if (bindingResult.hasErrors()) {
throw new InvalidRequestException("Binding errors for update action: ", bindingResult);
}
actionDTO.setActionId(actionId);
Action action = actionService.updateAction(mapperFacade.map(actionDTO, Action.class));
if (action == null) {
throw new CTPException(CTPException.Fault.RESOURCE_NOT_FOUND, "Action not updated for id %s", actionId);
}
return mapperFacade.map(action, ActionDTO.class);
}
示例8: cancelActions
import uk.gov.ons.ctp.common.error.CTPException; //导入依赖的package包/类
/**
* PUT to cancel all the Actions for a specified caseId.
*
* @param caseId Case Id of the actions to cancel
* @return List<ActionDTO> Returns a list of cancelled Actions
* @throws CTPException if update operation fails
*/
@RequestMapping(value = "/case/{caseid}/cancel", method = RequestMethod.PUT, consumes = "application/json")
public ResponseEntity<?> cancelActions(@PathVariable("caseid") final int caseId)
throws CTPException {
log.info("Cancelling Actions for {}", caseId);
ActionCase caze = actionCaseService.findActionCase(caseId);
if (caze == null) {
throw new CTPException(CTPException.Fault.RESOURCE_NOT_FOUND, "Case not found for caseId %s", caseId);
}
List<Action> actions = actionService.cancelActions(caseId);
List<ActionDTO> results = mapperFacade.mapAsList(actions, ActionDTO.class);
return CollectionUtils.isEmpty(results) ?
ResponseEntity.noContent().build() : ResponseEntity.ok(results);
}
示例9: executeActionPlan
import uk.gov.ons.ctp.common.error.CTPException; //导入依赖的package包/类
/**
* To create a new Action Plan Job having received an action plan id and some json
* @param actionPlanId the given action plan id.
* @param actionPlanJobDTO the ActionPlanJobDTO representation of the provided json
* @return the created ActionPlanJobDTO
* @throws CTPException summats went wrong
*/
@RequestMapping(value = "/{actionplanid}/jobs", method = RequestMethod.POST, consumes = "application/json")
public final ResponseEntity<?> executeActionPlan(@PathVariable("actionplanid") final Integer actionPlanId,
final @RequestBody @Valid ActionPlanJobDTO actionPlanJobDTO, BindingResult bindingResult) throws CTPException {
log.info("Entering executeActionPlan with {}", actionPlanId);
if (bindingResult.hasErrors()) {
throw new InvalidRequestException("Binding errors for execute action plan: ", bindingResult);
}
if (actionPlanJobDTO == null) {
throw new CTPException(CTPException.Fault.VALIDATION_FAILED, "Provided json is incorrect.");
}
ActionPlanJob job = mapperFacade.map(actionPlanJobDTO, ActionPlanJob.class);
job.setActionPlanId(actionPlanId);
Optional<ActionPlanJob> actionPlanJob = actionPlanJobService.createAndExecuteActionPlanJob(job);
return ResponseEntity.created(URI.create("TODO")).body(
mapperFacade.map(actionPlanJob.orElseThrow(() -> new CTPException(CTPException.Fault.RESOURCE_NOT_FOUND,
"ActionPlan not found for id %s", actionPlanId)), ActionPlanJobDTO.class));
}
示例10: updateActionPlanByActionPlanId
import uk.gov.ons.ctp.common.error.CTPException; //导入依赖的package包/类
/**
* This method returns the associated action plan after it has been updated. Note that only the description and
* the lastGoodRunDatetime can be updated.
*
* @param actionPlanId This is the action plan id
* @param requestObject The object created by ActionPlanDTOMessageBodyReader from the json found in the request body
* @return ActionPlanDTO This returns the updated action plan.
* @throws CTPException if the json provided is incorrect or if the action plan id does not exist.
*/
@RequestMapping(value = "/{actionplanid}", method = RequestMethod.PUT, consumes = "application/json")
public final ActionPlanDTO updateActionPlanByActionPlanId(@PathVariable("actionplanid") final Integer actionPlanId,
@RequestBody final ActionPlanDTO requestObject,
BindingResult bindingResult) throws CTPException {
log.info("UpdateActionPlanByActionPlanId with actionplanid {} - actionPlan {}", actionPlanId, requestObject);
if (bindingResult.hasErrors()) {
throw new InvalidRequestException("Binding errors for update action plan: ", bindingResult);
}
ActionPlan actionPlan = actionPlanService.updateActionPlan(actionPlanId,
mapperFacade.map(requestObject, ActionPlan.class));
if (actionPlan == null) {
throw new CTPException(CTPException.Fault.RESOURCE_NOT_FOUND, "ActionPlan not found for id %s", actionPlanId);
}
return mapperFacade.map(actionPlan, ActionPlanDTO.class);
}
示例11: returnActionRulesForActionPlanId
import uk.gov.ons.ctp.common.error.CTPException; //导入依赖的package包/类
/**
* Returns all action rules for the given action plan id.
* @param actionPlanId the action plan id
* @return Returns all action rules for the given action plan id.
* @throws CTPException summats went wrong
*/
@RequestMapping(value = "/{actionplanid}/rules", method = RequestMethod.GET)
public final ResponseEntity<?> returnActionRulesForActionPlanId(
@PathVariable("actionplanid") final Integer actionPlanId)
throws CTPException {
log.info("Entering returnActionRulesForActionPlanId with {}", actionPlanId);
ActionPlan actionPlan = actionPlanService.findActionPlan(actionPlanId);
if (actionPlan == null) {
throw new CTPException(CTPException.Fault.RESOURCE_NOT_FOUND, "ActionPlan not found for id %s", actionPlanId);
}
List<ActionRule> actionRules = actionPlanService.findActionRulesForActionPlan(actionPlanId);
List<ActionRuleDTO> actionRuleDTOs = mapperFacade.mapAsList(actionRules, ActionRuleDTO.class);
return CollectionUtils.isEmpty(actionRuleDTOs) ?
ResponseEntity.noContent().build() : ResponseEntity.ok(actionRuleDTOs);
}
示例12: storeTemplate
import uk.gov.ons.ctp.common.error.CTPException; //导入依赖的package包/类
@Override
public TemplateExpression storeTemplate(String templateName, InputStream fileContents) throws CTPException {
String stringValue = getStringFromInputStream(fileContents);
if (StringUtils.isEmpty(stringValue)) {
log.error(EXCEPTION_STORE_TEMPLATE);
throw new CTPException(CTPException.Fault.SYSTEM_ERROR, EXCEPTION_STORE_TEMPLATE);
}
TemplateExpression template = new TemplateExpression();
template.setContent(stringValue);
template.setName(templateName);
template.setDateModified(new Date());
template = repository.save(template);
configuration.clearTemplateCache();
return template;
}
示例13: export
import uk.gov.ons.ctp.common.error.CTPException; //导入依赖的package包/类
/**
* To export a specific ActionRequest
*
* @param actionId the actionId of the specific ActionRequest
* @return 201 if successful
* @throws CTPException if specific ActionRequest not found
*/
@RequestMapping(value = "/{actionId}", method = RequestMethod.POST)
public ResponseEntity<?> export(@PathVariable("actionId") final BigInteger actionId) throws CTPException {
log.debug("Entering export with actionId {}", actionId);
ActionRequestInstruction actionRequest = actionRequestService.retrieveActionRequest(actionId);
if (actionRequest == null) {
throw new CTPException(CTPException.Fault.RESOURCE_NOT_FOUND,
String.format("%s %d", ACTION_REQUEST_NOT_FOUND, actionId));
}
ExportMessage message = new ExportMessage();
transformationService.processActionRequest(message, actionRequest);
if (message.isEmpty()) {
throw new CTPException(CTPException.Fault.SYSTEM_ERROR,
String.format("%s %d", ACTION_REQUEST_TRANSFORM_ERROR, actionId));
}
message.getOutputStreams().forEach((fileName, stream) -> {
sftpService.sendMessage(fileName, message.getActionRequestIds(fileName), stream);
});
ActionRequestInstructionDTO actionRequestDTO = mapperFacade.map(actionRequest, ActionRequestInstructionDTO.class);
return ResponseEntity.created(URI.create("TODO")).body(actionRequestDTO);
}
示例14: findCategory
import uk.gov.ons.ctp.common.error.CTPException; //导入依赖的package包/类
/**
* the GET endpoint to retrieve the category with categoryType
*
* @param categoryType the categoryType
* @return the list of categories
*/
@RequestMapping(value = "/{categoryName}", method = RequestMethod.GET)
public CategoryDTO findCategory(@PathVariable("categoryName") final String categoryType) throws CTPException {
log.info("Entering findCategory with categoryName {}", categoryType);
Category category = null;
Optional<CategoryDTO.CategoryType> catTypeEnum = CategoryDTO.CategoryType.fromString(categoryType);
if (catTypeEnum.isPresent()) {
category = categoryService.findCategory(catTypeEnum.get());
}
if (category == null) {
throw new CTPException(CTPException.Fault.RESOURCE_NOT_FOUND,
String.format("%s categoryName %s", ERRORMSG_CATEGORYNOTFOUND, categoryType));
}
return mapperFacade.map(category, CategoryDTO.class);
}
示例15: findCaseByIac
import uk.gov.ons.ctp.common.error.CTPException; //导入依赖的package包/类
/**
* the GET endpoint to find a Case by IAC
*
* @param iac to find by
* @return the case found
* @throws CTPException something went wrong
*/
@RequestMapping(value = "/iac/{iac}", method = RequestMethod.GET)
public CaseDTO findCaseByIac(@PathVariable("iac") final String iac) throws CTPException {
log.info("Entering findCaseByIac with {}", iac);
Case caseObj = caseService.findCaseByIac(iac);
if (caseObj == null) {
throw new CTPException(CTPException.Fault.RESOURCE_NOT_FOUND,
String.format("%s iac id %s", ERRORMSG_CASENOTFOUND, iac));
}
createNewEventForIACAuthenticated(caseObj);
return mapperFacade.map(caseObj, CaseDTO.class);
}