diff --git a/esignet-core/src/main/java/io/mosip/esignet/core/constants/Constants.java b/esignet-core/src/main/java/io/mosip/esignet/core/constants/Constants.java index 1413b8a5..13b24677 100644 --- a/esignet-core/src/main/java/io/mosip/esignet/core/constants/Constants.java +++ b/esignet-core/src/main/java/io/mosip/esignet/core/constants/Constants.java @@ -51,6 +51,5 @@ public class Constants { public static final String SERVER_NONCE_SEPARATOR = "~###~"; public static final String RESUMED = "RESUMED"; - public static final String RESUME_NOT_APPLICABLE = "RESUME_NOT_APPLICABLE"; public static final String VERIFIED_CLAIMS = "verified_claims"; } diff --git a/esignet-core/src/main/java/io/mosip/esignet/core/constants/ErrorConstants.java b/esignet-core/src/main/java/io/mosip/esignet/core/constants/ErrorConstants.java index a49c825e..b17741a0 100644 --- a/esignet-core/src/main/java/io/mosip/esignet/core/constants/ErrorConstants.java +++ b/esignet-core/src/main/java/io/mosip/esignet/core/constants/ErrorConstants.java @@ -92,4 +92,6 @@ public class ErrorConstants { public static final String INVALID_VERIFICATION = "invalid_verification"; public static final String INVALID_VERIFIED_CLAIMS = "invalid_verified_claims"; public static final String INVALID_PURPOSE="invalid_purpose"; + + public static final String RESUME_NOT_APPLICABLE = "resume_not_applicable"; } diff --git a/esignet-service/src/main/java/io/mosip/esignet/controllers/AuthorizationController.java b/esignet-service/src/main/java/io/mosip/esignet/controllers/AuthorizationController.java index 662d1211..9ea8ec19 100644 --- a/esignet-service/src/main/java/io/mosip/esignet/controllers/AuthorizationController.java +++ b/esignet-service/src/main/java/io/mosip/esignet/controllers/AuthorizationController.java @@ -182,7 +182,7 @@ public ResponseWrapper prepareSignupRedirect(@Valid @Req return responseWrapper; } - @PostMapping("/resume") + @PostMapping("/complete") public ResponseWrapper resumeHaltedTransaction(@Valid @RequestBody RequestWrapper requestWrapper) { ResponseWrapper responseWrapper = new ResponseWrapper<>(); try { diff --git a/esignet-service/src/test/java/io/mosip/esignet/controllers/AuthorizationControllerTest.java b/esignet-service/src/test/java/io/mosip/esignet/controllers/AuthorizationControllerTest.java index e923b6a9..362b5a00 100644 --- a/esignet-service/src/test/java/io/mosip/esignet/controllers/AuthorizationControllerTest.java +++ b/esignet-service/src/test/java/io/mosip/esignet/controllers/AuthorizationControllerTest.java @@ -1531,7 +1531,7 @@ public void resumeHaltedTransaction_withValidDetails_thenSuccessResponse() throw resumeResponse.setStatus("status"); when(authorizationService.resumeHaltedTransaction(resumeRequest)).thenReturn(resumeResponse); - mockMvc.perform(post("/authorization/resume") + mockMvc.perform(post("/authorization/complete") .content(objectMapper.writeValueAsString(wrapper)) .contentType(MediaType.APPLICATION_JSON)) .andExpect(status().isOk()) @@ -1550,7 +1550,7 @@ public void resumeHaltedTransaction_OnException_thenErrorResponse() throws Excep when(authorizationService.resumeHaltedTransaction(Mockito.any())).thenThrow(new InvalidTransactionException()); - mockMvc.perform(post("/authorization/resume") + mockMvc.perform(post("/authorization/complete") .content(objectMapper.writeValueAsString(wrapper)) .contentType(MediaType.APPLICATION_JSON)) .andExpect(status().isOk()) diff --git a/oidc-service-impl/src/main/java/io/mosip/esignet/services/AuthorizationServiceImpl.java b/oidc-service-impl/src/main/java/io/mosip/esignet/services/AuthorizationServiceImpl.java index 16a2acce..bbd816e7 100644 --- a/oidc-service-impl/src/main/java/io/mosip/esignet/services/AuthorizationServiceImpl.java +++ b/oidc-service-impl/src/main/java/io/mosip/esignet/services/AuthorizationServiceImpl.java @@ -335,10 +335,8 @@ public ResumeResponse resumeHaltedTransaction(ResumeRequest resumeRequest) { oidcTransaction), null); return resumeResponse; } - cacheUtilService.removeHaltedTransaction(resumeRequest.getTransactionId()); - resumeResponse.setStatus(Constants.RESUME_NOT_APPLICABLE); - return resumeResponse; + throw new EsignetException(ErrorConstants.RESUME_NOT_APPLICABLE); } //As pathFragment is included in the response header, we should sanitize the input to mitigate diff --git a/oidc-service-impl/src/test/java/io/mosip/esignet/services/AuthorizationServiceTest.java b/oidc-service-impl/src/test/java/io/mosip/esignet/services/AuthorizationServiceTest.java index 0dde9756..f1ff67ae 100644 --- a/oidc-service-impl/src/test/java/io/mosip/esignet/services/AuthorizationServiceTest.java +++ b/oidc-service-impl/src/test/java/io/mosip/esignet/services/AuthorizationServiceTest.java @@ -1314,16 +1314,19 @@ public void resumeHaltedTransaction_withInvalidTransactionId_thenFail() { } @Test - public void resumeHaltedTransaction_withResumeNotApplicable_thenPass() { + public void resumeHaltedTransaction_withStatusAsNotCompleted_thenFail() { String transactionId = "transactionId"; ResumeRequest resumeRequest = new ResumeRequest(); resumeRequest.setTransactionId(transactionId); resumeRequest.setWithError(true); OIDCTransaction oidcTransaction = new OIDCTransaction(); when(cacheUtilService.getHaltedTransaction(transactionId)).thenReturn(oidcTransaction); - when(cacheUtilService.getSharedIDVResult(transactionId)).thenReturn(null); - ResumeResponse result = authorizationServiceImpl.resumeHaltedTransaction(resumeRequest); - Assert.assertEquals(Constants.RESUME_NOT_APPLICABLE, result.getStatus()); + when(cacheUtilService.getSharedIDVResult(transactionId)).thenReturn("FAILED"); + try{ + authorizationServiceImpl.resumeHaltedTransaction(resumeRequest); + }catch (EsignetException ex){ + Assert.assertEquals(ErrorConstants.RESUME_NOT_APPLICABLE,ex.getErrorCode()); + } } @Test