Skip to content

Commit e4ed22f

Browse files
authored
Merge pull request #8350 from govuk-one-login/AUT-5449/ticf-cri-ExternalTICFCRIRequest
AUT-5449: TICFCRIStub should marshall to ExternalTICFCRIRequest
2 parents 2616b66 + 59e617a commit e4ed22f

2 files changed

Lines changed: 51 additions & 29 deletions

File tree

ticf-cri-stub/src/main/java/uk/gov/di/authentication/ticf/cri/stub/lambda/TICFCRIStubHandler.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyResponseEvent;
77
import org.apache.logging.log4j.LogManager;
88
import org.apache.logging.log4j.Logger;
9-
import uk.gov.di.authentication.entity.InternalTICFCRIRequest;
9+
import uk.gov.di.authentication.entity.ExternalTICFCRIRequest;
1010
import uk.gov.di.authentication.shared.serialization.Json;
1111
import uk.gov.di.authentication.shared.services.SerializationService;
1212
import uk.gov.di.authentication.ticf.cri.stub.lambda.entity.TICFCRIStubResponse;
@@ -25,17 +25,18 @@ public class TICFCRIStubHandler
2525
public APIGatewayProxyResponseEvent handleRequest(
2626
APIGatewayProxyRequestEvent input, Context context) {
2727
try {
28-
var request = objectMapper.readValue(input.getBody(), InternalTICFCRIRequest.class);
28+
var request = objectMapper.readValue(input.getBody(), ExternalTICFCRIRequest.class);
2929
LOG.info(
30-
"TICF Request - govukSigninJourneyId: {}, vtr: {}, authenticated: {}, accountState: {}, resetPasswordState: {}, resetMfaState: {}, mfaMethodType: {}",
30+
"TICF Request - govuk_signin_journey_id: {}, vtr: {}, authenticated: {}, initial_registration: {}, password_reset: {}, 2fa_reset: {}, 2fa_method: {}",
3131
request.govukSigninJourneyId(),
3232
request.vtr(),
3333
request.authenticated(),
34-
request.accountState(),
35-
request.resetPasswordState(),
36-
request.resetMfaState(),
37-
request.mfaMethodType());
34+
request.initialRegistration(),
35+
request.passwordReset(),
36+
request.mfaReset(),
37+
request.mfaMethod());
3838
} catch (Json.JsonException e) {
39+
LOG.error("Invalid ExternalTICFCRIRequest", e.getMessage());
3940
throw new RuntimeException(e);
4041
}
4142
String testInternalPairwiseId = "urn:fdc:gov.uk:2022:test";

ticf-cri-stub/src/test/java/uk/gov/di/authentication/ticf/cri/stub/lambda/TICFCRIStubHandlerTest.java

Lines changed: 43 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,26 @@ void shouldReturn200ForSuccessfulValidRequest() {
2525
TICFCRIStubHandler handler = new TICFCRIStubHandler();
2626
var event = new APIGatewayProxyRequestEvent();
2727
event.setBody(
28-
"{\"sub\":\"urn:fdc:gov.uk:2022:test\","
29-
+ "\"vtr\":[\"Cl.Cm\"],"
30-
+ "\"govuk_signin_journey_id\":\"44444444-4444-4444-4444-444444444444\","
31-
+ "\"authenticated\":\"Y\"}\n");
28+
"""
29+
{
30+
"sub":"urn:fdc:gov.uk:2022:test",
31+
"vtr":["Cl.Cm"],
32+
"govuk_signin_journey_id":"44444444-4444-4444-4444-444444444444",
33+
"authenticated":"Y",
34+
"initial_registration":"NEW",
35+
"password_reset":"NONE",
36+
"2fa_reset":"NONE"
37+
}
38+
""");
3239
var result = handler.handleRequest(event, context);
3340
String expectedResponse =
34-
"{\"intervention\":{\"interventionCode\":\"01\",\"interventionReason\":\"01\"},"
35-
+ "\"sub\":\"urn:fdc:gov.uk:2022:test\","
36-
+ "\"govuk_signin_journey_id\":\"44444444-4444-4444-4444-444444444444\","
37-
+ "\"ci\":[\"D03\",\"F01\"]}";
41+
"""
42+
{\
43+
"intervention":{"interventionCode":"01","interventionReason":"01"},\
44+
"sub":"urn:fdc:gov.uk:2022:test",\
45+
"govuk_signin_journey_id":"44444444-4444-4444-4444-444444444444",\
46+
"ci":["D03","F01"]}\
47+
""";
3848
assertEquals(result.getBody(), expectedResponse);
3949
assertEquals(200, result.getStatusCode());
4050
}
@@ -44,23 +54,34 @@ void shouldLogRequestFieldsExcludingInternalCommonSubjectIdentifier() {
4454
TICFCRIStubHandler handler = new TICFCRIStubHandler();
4555
var event = new APIGatewayProxyRequestEvent();
4656
event.setBody(
47-
"{\"internalCommonSubjectIdentifier\":\"urn:fdc:gov.uk:2022:test\","
48-
+ "\"vtr\":[\"Cl.Cm\"],"
49-
+ "\"govukSigninJourneyId\":\"44444444-4444-4444-4444-444444444444\","
50-
+ "\"authenticated\":true,"
51-
+ "\"accountState\":\"EXISTING\","
52-
+ "\"resetPasswordState\":\"NONE\","
53-
+ "\"resetMfaState\":\"NONE\"}");
57+
"""
58+
{
59+
"sub":"urn:fdc:gov.uk:2022:test",
60+
"vtr":["Cl.Cm"],
61+
"govuk_signin_journey_id":"44444444-4444-4444-4444-444444444444",
62+
"authenticated":"Y",
63+
"initial_registration":"EXISTING",
64+
"password_reset":"NONE",
65+
"2fa_reset":"NONE",
66+
"2fa_method":["SMS"]
67+
}
68+
""");
69+
5470
handler.handleRequest(event, context);
5571

5672
assertThat(logging.events(), hasItem(withMessageContaining("TICF Request")));
57-
assertThat(logging.events(), hasItem(withMessageContaining("govukSigninJourneyId:")));
58-
assertThat(logging.events(), hasItem(withMessageContaining("vtr:")));
59-
assertThat(logging.events(), hasItem(withMessageContaining("authenticated:")));
60-
assertThat(logging.events(), hasItem(withMessageContaining("accountState:")));
61-
assertThat(logging.events(), hasItem(withMessageContaining("resetPasswordState:")));
62-
assertThat(logging.events(), hasItem(withMessageContaining("resetMfaState:")));
63-
assertThat(logging.events(), hasItem(withMessageContaining("mfaMethodType:")));
73+
assertThat(
74+
logging.events(),
75+
hasItem(
76+
withMessageContaining(
77+
"govuk_signin_journey_id: 44444444-4444-4444-4444-444444444444")));
78+
assertThat(logging.events(), hasItem(withMessageContaining("vtr: [Cl.Cm]")));
79+
assertThat(logging.events(), hasItem(withMessageContaining("authenticated: Y")));
80+
assertThat(
81+
logging.events(), hasItem(withMessageContaining("initial_registration: EXISTING")));
82+
assertThat(logging.events(), hasItem(withMessageContaining("password_reset: NONE")));
83+
assertThat(logging.events(), hasItem(withMessageContaining("2fa_reset: NONE")));
84+
assertThat(logging.events(), hasItem(withMessageContaining("2fa_method:")));
6485
assertThat(
6586
logging.events(), not(hasItem(withMessageContaining("urn:fdc:gov.uk:2022:test"))));
6687
}

0 commit comments

Comments
 (0)