Skip to content

v2.1.0 release (#20) #40

v2.1.0 release (#20)

v2.1.0 release (#20) #40

GitHub Actions / Integration Tests succeeded Aug 22, 2024 in 1s

213 passed, 0 failed and 0 skipped

Tests passed successfully

✅ results.trx

213 tests were completed in 190s with 213 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
CdrAuthServer.IntegrationTests.JARM.US44264_CdrAuthServer_JARM_Authorise 1✅ 111ms
CdrAuthServer.IntegrationTests.JARM.US44264_CdrAuthServer_JARM_DCR 44✅ 9s
CdrAuthServer.IntegrationTests.JARM.US44264_CdrAuthServer_JARM_OIDC 2✅ 63ms
CdrAuthServer.IntegrationTests.JARM.US44264_CdrAuthServer_JARM_PAR 27✅ 2s
CdrAuthServer.IntegrationTests.US12678_CdrAuthServer_Authorisation 3✅ 1s
CdrAuthServer.IntegrationTests.US12962_CdrAuthServer_OIDC_Configuration 2✅ 162ms
CdrAuthServer.IntegrationTests.US12962_CDRAuthServer_OIDC_JWKS 2✅ 58ms
CdrAuthServer.IntegrationTests.US12963_CdrAuthServer_Token 42✅ 30s
CdrAuthServer.IntegrationTests.US12965_CdrAuthServer_UserInfo 19✅ 1s
CdrAuthServer.IntegrationTests.US12966_CdrAuthServer_Introspection 13✅ 18s
CdrAuthServer.IntegrationTests.US12968_CdrAuthServer_PAR 14✅ 102s
CdrAuthServer.IntegrationTests.US15221_US12969_US15584_CdrAuthServer_Registration_POST 7✅ 2s
CdrAuthServer.IntegrationTests.US15221_US12969_US15585_CdrAuthServer_Registration_PUT 4✅ 1s
CdrAuthServer.IntegrationTests.US15221_US12969_US15586_CdrAuthServer_Registration_GET 3✅ 275ms
CdrAuthServer.IntegrationTests.US15221_US12969_US15587_CdrAuthServer_Registration_DELETE 2✅ 532ms
CdrAuthServer.IntegrationTests.US17652_CdrAuthServer_ArrangementRevocation 12✅ 6s
CdrAuthServer.IntegrationTests.US18469_CdrAuthServer_TokenRevocation 16✅ 4s

✅ CdrAuthServer.IntegrationTests.JARM.US44264_CdrAuthServer_JARM_Authorise

✅ AC01_MDH_JARM_AC01_HappyPath_JARM_Response_Mode_jwt

✅ CdrAuthServer.IntegrationTests.JARM.US44264_CdrAuthServer_JARM_DCR

✅ AC01_MDHJWKS_HF_AC1_POST_With_ShouldRespondWith_201Created(responseType: "code id_token", grantTypes: "authorization_code,client_credentials", authorizationSignedResponseAlg: null)
✅ AC02_MDHJWKS_ACF_AC20_POST_With_AuthSigningAlgES256_ShouldRespondWith_201Created(responseType: "code", grantTypes: "authorization_code", authorizationSignedResponseAlg: "ES256")
✅ AC03_MDHJWKS_ACF_AC21_POST_With_AuthSigningAlgPS256_ShouldRespondWith_201Created(responseType: "code", grantTypes: "authorization_code", authorizationSignedResponseAlg: "PS256")
✅ AC05_MDHJWKS_ACF_AC24_POST_With_InvalidAuthSigningAlg_ShouldRespondWith_400BadRequest(responseType: "code", grantTypes: "authorization_code", authorizationSignedResponseAlg: "")
✅ AC05_MDHJWKS_ACF_AC24_POST_With_InvalidAuthSigningAlg_ShouldRespondWith_400BadRequest(responseType: "code", grantTypes: "authorization_code", authorizationSignedResponseAlg: "***NULL***")
✅ AC05_MDHJWKS_ACF_AC24_POST_With_InvalidAuthSigningAlg_ShouldRespondWith_400BadRequest(responseType: "code", grantTypes: "authorization_code", authorizationSignedResponseAlg: "Foo")
✅ AC05_MDHJWKS_ACF_AC24_POST_With_InvalidAuthSigningAlg_ShouldRespondWith_400BadRequest(responseType: "code", grantTypes: "authorization_code", authorizationSignedResponseAlg: "none")
✅ AC05_MDHJWKS_ACF_AC24_POST_With_InvalidAuthSigningAlg_ShouldRespondWith_400BadRequest(responseType: "code", grantTypes: "authorization_code", authorizationSignedResponseAlg: "RS256")
✅ AC06_MDHJWKS_AC2_POST_With_SoftwareIDAlreadyRegistered_ShouldRespondWith_400BadRequest(responseType: "code id_token", grantTypes: "authorization_code,client_credentials", authorizationSignedResponseAlg: null)
✅ AC06_MDHJWKS_AC2_POST_With_SoftwareIDAlreadyRegistered_ShouldRespondWith_400BadRequest(responseType: "code", grantTypes: "authorization_code", authorizationSignedResponseAlg: "PS256")
✅ AC09_MDHJWKS_AC8_GET_ShouldRespondWith_200OK(responseType: "code id_token", grantTypes: "authorization_code,client_credentials", authorizationSignedResponseAlg: null)
✅ AC10_MDHJWKS_AC28_GET_ShouldRespondWith_200OK(responseType: "code", grantTypes: "authorization_code", authorizationSignedResponseAlg: "PS256")
✅ AC11_MDHJWKS_AC9_GET_With_ExpiredBearerToken_ShouldRespondWith_401Unauthorized(responseType: "code id_token", grantTypes: "authorization_code,client_credentials", authorizationSignedResponseAlg: null)
✅ AC11_MDHJWKS_AC9_GET_With_ExpiredBearerToken_ShouldRespondWith_401Unauthorized(responseType: "code", grantTypes: "authorization_code", authorizationSignedResponseAlg: "PS256")
✅ AC13_MDHJWKS_HF_AC11_PUT_With_ShouldRespondWith_200OK(responseType: "code id_token", grantTypes: "authorization_code,client_credentials", authorizationSignedResponseAlg: null)
✅ AC14_MDHJWKS_ACF_AC31_PUT_With_ShouldRespondWith_200OK(responseType: "code", grantTypes: "authorization_code", authorizationSignedResponseAlg: "PS256")
✅ AC15_MDHJWKS_AC12_PUT_With_InvalidRegistrationProperty_RedirectUri_ShouldRespondWith_400BadRequest(responseType: "code id_token", grantTypes: "authorization_code,client_credentials", authorizationSignedResponseAlg: null)
✅ AC15_MDHJWKS_AC12_PUT_With_InvalidRegistrationProperty_RedirectUri_ShouldRespondWith_400BadRequest(responseType: "code", grantTypes: "authorization_code", authorizationSignedResponseAlg: "PS256")
✅ AC16_MDHJWKS_AC13_PUT_With_ExpiredBearerToken_ShouldRespondWith_401Unauthorized(responseType: "code id_token", grantTypes: "authorization_code,client_credentials", authorizationSignedResponseAlg: null)
✅ AC16_MDHJWKS_AC13_PUT_With_ExpiredBearerToken_ShouldRespondWith_401Unauthorized(responseType: "code", grantTypes: "authorization_code", authorizationSignedResponseAlg: "PS256")
✅ AC18_MDHJWKS_AC15_DELETE_ShouldRespondWith_204NoContent(responseType: "code id_token", grantTypes: "authorization_code,client_credentials", authorizationSignedResponseAlg: null)
✅ AC18_MDHJWKS_AC15_DELETE_ShouldRespondWith_204NoContent(responseType: "code", grantTypes: "authorization_code", authorizationSignedResponseAlg: "PS256")
✅ AC19_MDHJWKS_AC17_DELETE_WithExpiredBearerToken_ShouldRespondWith_401Unauthorized(responseType: "code id_token", grantTypes: "authorization_code,client_credentials", authorizationSignedResponseAlg: null)
✅ AC19_MDHJWKS_AC17_DELETE_WithExpiredBearerToken_ShouldRespondWith_401Unauthorized(responseType: "code", grantTypes: "authorization_code", authorizationSignedResponseAlg: "PS256")
✅ AC20_MDHJWKS_ACF_AC32_Happy_Path_POST_to_register_endpoint_JARM_Encryption(authorizationSignedResponseAlg: "ES256", authorizationEncryptedResponseAlg: "RSA-OAEP-256", authorizationEncryptedResponseEnc: "A128CBC-HS256")
✅ AC20_MDHJWKS_ACF_AC32_Happy_Path_POST_to_register_endpoint_JARM_Encryption(authorizationSignedResponseAlg: "ES256", authorizationEncryptedResponseAlg: "RSA-OAEP-256", authorizationEncryptedResponseEnc: "A256GCM")
✅ AC20_MDHJWKS_ACF_AC32_Happy_Path_POST_to_register_endpoint_JARM_Encryption(authorizationSignedResponseAlg: "ES256", authorizationEncryptedResponseAlg: "RSA-OAEP", authorizationEncryptedResponseEnc: "A128CBC-HS256")
✅ AC20_MDHJWKS_ACF_AC32_Happy_Path_POST_to_register_endpoint_JARM_Encryption(authorizationSignedResponseAlg: "ES256", authorizationEncryptedResponseAlg: "RSA-OAEP", authorizationEncryptedResponseEnc: "A256GCM")
✅ AC20_MDHJWKS_ACF_AC32_Happy_Path_POST_to_register_endpoint_JARM_Encryption(authorizationSignedResponseAlg: "PS256", authorizationEncryptedResponseAlg: "RSA-OAEP-256", authorizationEncryptedResponseEnc: "A128CBC-HS256")
✅ AC20_MDHJWKS_ACF_AC32_Happy_Path_POST_to_register_endpoint_JARM_Encryption(authorizationSignedResponseAlg: "PS256", authorizationEncryptedResponseAlg: "RSA-OAEP-256", authorizationEncryptedResponseEnc: "A256GCM")
✅ AC20_MDHJWKS_ACF_AC32_Happy_Path_POST_to_register_endpoint_JARM_Encryption(authorizationSignedResponseAlg: "PS256", authorizationEncryptedResponseAlg: "RSA-OAEP", authorizationEncryptedResponseEnc: "A128CBC-HS256")
✅ AC20_MDHJWKS_ACF_AC32_Happy_Path_POST_to_register_endpoint_JARM_Encryption(authorizationSignedResponseAlg: "PS256", authorizationEncryptedResponseAlg: "RSA-OAEP", authorizationEncryptedResponseEnc: "A256GCM")
✅ AC23_MDHJWKS_ACF_AC35_Happy_Path_POST_to_register_endpoint_JARM_Encryption_alg_specified_without_enc(authorizationSignedResponseAlg: "ES256", authorizationEncryptedResponseAlg: "RSA-OAEP-256")
✅ AC23_MDHJWKS_ACF_AC35_Happy_Path_POST_to_register_endpoint_JARM_Encryption_alg_specified_without_enc(authorizationSignedResponseAlg: "ES256", authorizationEncryptedResponseAlg: "RSA-OAEP")
✅ AC23_MDHJWKS_ACF_AC35_Happy_Path_POST_to_register_endpoint_JARM_Encryption_alg_specified_without_enc(authorizationSignedResponseAlg: "PS256", authorizationEncryptedResponseAlg: "RSA-OAEP-256")
✅ AC23_MDHJWKS_ACF_AC35_Happy_Path_POST_to_register_endpoint_JARM_Encryption_alg_specified_without_enc(authorizationSignedResponseAlg: "PS256", authorizationEncryptedResponseAlg: "RSA-OAEP")
✅ AC25_MDHJWKS_ACF_AC37_Happy_Path_ACF_only_DCR_without_id_token_encryption(responseType: "code", grantTypes: "authorization_code", idTokenSignedResponseAlg: "PS256", idTokenEncryptedResponseAlg: null, idTokenEncryptedResponseEnc: null, expectedIdTokenEncryptedResponseAlg: null, expectedIdTokenEncryptedResponseEnc: null)
✅ AC26_MDHJWKS_ACF_AC38_Happy_Path_ACF_only_DCR_with_id_token_encryption
✅ AC32_MDHJWKS_HF_AC44_Happy_Path_HF_only_DCR_with_id_token_encryption
✅ AC38_MDHJWKS_ACF_HF_AC50_Happy_Path_ACF_HF_DCR_with_id_token_encryption
✅ AC43_MDHJWKS_ACF_HF_AC55_With_InvalidGrantType_ShouldRespondWith_400BadRequest(responseType: "code id_token", grantTypes: "foo")
✅ AC43_MDHJWKS_ACF_HF_AC55_With_InvalidGrantType_ShouldRespondWith_400BadRequest(responseType: "code", grantTypes: "foo")
✅ AC44_MDHJWKS_HF_AC56_POST_With_AuthorizationSignedResponseAlg_NotProvided_ShouldRespondWith_201Created(responseType: "code id_token", grantTypes: "authorization_code,client_credentials", authorizationSignedResponseAlg: "none", expected_authorization_signed_response_alg: null)
✅ AC44_MDHJWKS_HF_AC56_POST_With_AuthorizationSignedResponseAlg_NotProvided_ShouldRespondWith_201Created(responseType: "code id_token", grantTypes: "authorization_code,client_credentials", authorizationSignedResponseAlg: null, expected_authorization_signed_response_alg: null)

✅ CdrAuthServer.IntegrationTests.JARM.US44264_CdrAuthServer_JARM_OIDC

✅ AC01_MDH_OIDC_AC01_Get_ShouldRespondWith_200OK_OIDC_Configuration
✅ AC02_MDHE_OIDC_AC01_Get_ShouldRespondWith_200OK_OIDC_Configuration

✅ CdrAuthServer.IntegrationTests.JARM.US44264_CdrAuthServer_JARM_PAR

✅ AC01_MDHPAR_AC01_HappyPath_ShouldRespondWith_201Created(responseType: Code, responseMode: Jwt)
✅ AC01_MDHPAR_AC01_HappyPath_ShouldRespondWith_201Created(responseType: CodeIdToken, responseMode: FormPost)
✅ AC01_MDHPAR_AC01_HappyPath_ShouldRespondWith_201Created(responseType: CodeIdToken, responseMode: Fragment)
✅ AC05_MDHPAR_AC08_WithUnknownClientId_ShouldRespondWith_400BadRequest
✅ AC06_MDHPAR_AC09_WithInvalidClientAssertion_ShouldRespondWith_400BadRequest
✅ AC07_MDHPAR_AC10_WithInvalidClientAssertion_ShouldRespondWith_400BadRequest
✅ AC09_MDHPAR_AC12_HF_WithInvalidResponseMode_ShouldRespondWith_400BadRequest(responseMode: FormPostJwt)
✅ AC09_MDHPAR_AC12_HF_WithInvalidResponseMode_ShouldRespondWith_400BadRequest(responseMode: FragmentJwt)
✅ AC09_MDHPAR_AC12_HF_WithInvalidResponseMode_ShouldRespondWith_400BadRequest(responseMode: QueryJwt)
✅ AC09_MDHPAR_AC12_HF_WithInvalidResponseMode_ShouldRespondWith_400BadRequest(responseMode: TestOnlyFoo)
✅ AC10_MDHPAR_AC13_ACF_WithInvalidResponseMode_ShouldRespondWith_400BadRequest(responseMode: FormPost)
✅ AC10_MDHPAR_AC13_ACF_WithInvalidResponseMode_ShouldRespondWith_400BadRequest(responseMode: Fragment)
✅ AC10_MDHPAR_AC13_ACF_WithUnsupportedResponseMode_ShouldRespondWith_400BadRequest(responseMode: FormPostJwt)
✅ AC10_MDHPAR_AC13_ACF_WithUnsupportedResponseMode_ShouldRespondWith_400BadRequest(responseMode: FragmentJwt)
✅ AC10_MDHPAR_AC13_ACF_WithUnsupportedResponseMode_ShouldRespondWith_400BadRequest(responseMode: null)
✅ AC10_MDHPAR_AC13_ACF_WithUnsupportedResponseMode_ShouldRespondWith_400BadRequest(responseMode: Query)
✅ AC10_MDHPAR_AC13_ACF_WithUnsupportedResponseMode_ShouldRespondWith_400BadRequest(responseMode: QueryJwt)
✅ AC10_MDHPAR_AC13_ACF_WithUnsupportedResponseMode_ShouldRespondWith_400BadRequest(responseMode: TestOnlyFoo)
✅ AC13_MDHPAR_AC15_WithInvalidResponseType_ShouldRespondWith_400BadRequest(responseType: TestOnlyCodeFoo)
✅ AC13_MDHPAR_AC15_WithInvalidResponseType_ShouldRespondWith_400BadRequest(responseType: TestOnlyCodeIdTokenFooo)
✅ AC13_MDHPAR_AC15_WithInvalidResponseType_ShouldRespondWith_400BadRequest(responseType: TestOnlyCodeIdTokenToken)
✅ AC13_MDHPAR_AC15_WithInvalidResponseType_ShouldRespondWith_400BadRequest(responseType: TestOnlyCodeToken)
✅ AC13_MDHPAR_AC15_WithInvalidResponseType_ShouldRespondWith_400BadRequest(responseType: TestOnlyFoo)
✅ AC13_MDHPAR_AC15_WithInvalidResponseType_ShouldRespondWith_400BadRequest(responseType: TestOnlyIdTokenToken)
✅ AC13_MDHPAR_AC15_WithInvalidResponseType_ShouldRespondWith_400BadRequest(responseType: TestOnlyToken)
✅ AC15_MDHPAR_AC16_WithMissingResponseType_ShouldRespondWith_400BadRequest
✅ AC16_MDHPAR_AC17_HF_WithInvalidResponseMode_ShouldRespondWith_400BadRequest(responseMode: Jwt)

✅ CdrAuthServer.IntegrationTests.US12678_CdrAuthServer_Authorisation

✅ AC01_Get_WithValidRequest_ShouldRespondWith_302Redirect_RedirectToRedirectURI_IdToken
✅ AC02_InactiveOrRemovedSoftwareProduct_ShouldReturn_AdrStatusNotActiveException(status: INACTIVE, entityType: SOFTWAREPRODUCT)
✅ AC02_InactiveOrRemovedSoftwareProduct_ShouldReturn_AdrStatusNotActiveException(status: REMOVED, entityType: SOFTWAREPRODUCT)

✅ CdrAuthServer.IntegrationTests.US12962_CdrAuthServer_OIDC_Configuration

✅ AC01_FromMDH_Get_ShouldRespondWith_200OK_OIDC_Configuration
✅ AC01_Get_ShouldRespondWith_200OK_OIDC_Configuration

✅ CdrAuthServer.IntegrationTests.US12962_CDRAuthServer_OIDC_JWKS

✅ AC01_FromMDH_Get_ShouldRespondWith_200OK_OIDC_JWKS
✅ AC01_Get_ShouldRespondWith_200OK_OIDC_JWKS

✅ CdrAuthServer.IntegrationTests.US12963_CdrAuthServer_Token

✅ AC01_Auth_Code_Flow_Post_ShouldRespondWith_200OK_IDToken_AccessToken_RefreshToken
✅ AC01_Hybrid_Flow_Post_ShouldRespondWith_200OK_IDToken_AccessToken_RefreshToken
✅ AC01_Post_WithoutClientId_ShouldRespondWith_200OK_IDToken_AccessToken_RefreshToken
✅ AC02_Put_ShouldRespondWith_405MethodNotSupportedOr404NotFound
✅ AC03_Post_WithInvalidClientAndIssuer_ShouldRespondWith_400BadRequest_ClientNotFoundResponse
✅ AC03_Post_WithInvalidRequest_ClientAssertion_ShouldRespondWith_400BadRequest_InvalidClientErrorResponse
✅ AC03_Post_WithInvalidRequest_ClientAssertionType_ShouldRespondWith_400BadRequest_InvalidClientErrorResponse(clientAssertionType: "foo")
✅ AC03_Post_WithInvalidRequest_ClientAssertionType_ShouldRespondWith_400BadRequest_InvalidClientErrorResponse(clientAssertionType: null)
✅ AC03_Post_WithInvalidRequest_GrantType_ShouldRespondWith_400BadRequest_InvalidRequestErrorResponse(grantType: "foo")
✅ AC03_Post_WithInvalidRequest_GrantType_ShouldRespondWith_400BadRequest_InvalidRequestErrorResponse(grantType: null)
✅ AC03_Post_WithMissingIssuer_ShouldRespondWith_400BadRequest_MissingIssClaimResponse
✅ AC03_Post_WithValidRequest_ClientAssertion_Success
✅ AC03_Post_WithValidRequest_ClientAssertionType_Success
✅ AC03_Post_WithValidRequest_ClientId_Success
✅ AC03_Post_WithValidRequest_GrantType_Success
✅ AC04_Post_WithInvalidClientAssertion_ShouldRespondWith_400BadRequest_InvalidClientErrorResponse(testType: exp_backdated)
✅ AC04_Post_WithInvalidClientAssertion_ShouldRespondWith_400BadRequest_InvalidClientErrorResponse(testType: omit_aud)
✅ AC04_Post_WithInvalidClientAssertion_ShouldRespondWith_400BadRequest_InvalidClientErrorResponse(testType: omit_exp)
✅ AC04_Post_WithInvalidClientAssertion_ShouldRespondWith_400BadRequest_InvalidClientErrorResponse(testType: omit_iss)
✅ AC04_Post_WithInvalidClientAssertion_ShouldRespondWith_400BadRequest_InvalidClientErrorResponse(testType: omit_jti)
✅ AC04_Post_WithValidClientAssertion_Success
✅ AC05_Post_WithExpiredAuthCode_ShouldRespondWith_400BadRequest_InvalidGrant
✅ AC05_Post_WithValidAuthCode_Success
✅ AC06_Post_WithMissingAuthCode_ShouldRespondWith_400BadRequest_InvalidGrant
✅ AC07_Post_WithInvalidAuthCode_ShouldRespondWith_400BadRequest_InvalidGrantResponse
✅ AC08_Post_WithShareDuration_ShouldRespondWith_200OK_IDToken_AccessToken_RefreshToken(shareDuration: 3600)
✅ AC09_Post_WithRefreshToken_AndSameScope_ShouldRespondWith_200OK_AccessToken_RefreshToken
✅ AC10_Post_WithRefreshToken_AndInvalidScope_ShouldRespondWith_400BadRequest(initialScope: "openid bank:accounts.basic:read", requestedScope: "openid bank:accounts.basic:read bank:transactions:"···)
✅ AC10_Post_WithRefreshToken_AndInvalidScope_ShouldRespondWith_400BadRequest(initialScope: "openid bank:accounts.basic:read", requestedScope: "openid bank:accounts.basic:read bank:transactions:"···)
✅ AC10_Post_WithRefreshToken_AndValidScope_Success(initialScope: "openid bank:accounts.basic:read bank:transactions:"···, requestedScope: "openid bank:accounts.basic:read")
✅ AC10_Post_WithRefreshToken_AndValidScope_Success(initialScope: "openid bank:accounts.basic:read", requestedScope: "openid bank:accounts.basic:read")
✅ AC11_Post_WithInvalidRefreshToken_ShouldRespondWith_400BadRequest_InvalidFieldErrorResponse
✅ AC11_Post_WithMissingRefreshToken_ShouldRespondWith_400BadRequest_InvalidGrantErrorResponse
✅ ACX01_Authorise_WithSharingDuration_ShouldRespondWith_AccessTokenRefreshToken(sharingDuration: 0, expectsRefreshToken: False)
✅ ACX01_Authorise_WithSharingDuration_ShouldRespondWith_AccessTokenRefreshToken(sharingDuration: 10000, expectsRefreshToken: True)
✅ ACX01_Authorise_WithSharingDuration_ShouldRespondWith_AccessTokenRefreshToken(sharingDuration: null, expectsRefreshToken: False)
✅ ACX02_UseRefreshTokenMultipleTimes_ShouldRespondWith_AccessTokenRefreshToken(usageAttempts: 1)
✅ ACX02_UseRefreshTokenMultipleTimes_ShouldRespondWith_AccessTokenRefreshToken(usageAttempts: 2)
✅ ACX02_UseRefreshTokenMultipleTimes_ShouldRespondWith_AccessTokenRefreshToken(usageAttempts: 3)
✅ ACX03_UseExpiredRefreshToken_ShouldRespondWith_400BadRequest(expired: False)
✅ ACX03_UseExpiredRefreshToken_ShouldRespondWith_400BadRequest(expired: True)
✅ ACXXX_Post_InvalidClientEncryptionKey_ShouldRespondWith_400BadRequest_InvalidXXX

✅ CdrAuthServer.IntegrationTests.US12965_CdrAuthServer_UserInfo

✅ AC01_Get_ShouldRespondWith_200OK_UserInfo(tokenType: KamillaSmith, expectedName: "Kamilla Smith", expectedGivenName: "Kamilla", expectedFamilyName: "Smith")
✅ AC02_Post_ShouldRespondWith_200OK_UserInfo(tokenType: KamillaSmith, expectedName: "Kamilla Smith", expectedGivenName: "Kamilla", expectedFamilyName: "Smith")
✅ AC03_Get_WithADRParticipationNotActive_ShouldRespondWith_403Forbidden_ErrorResponse(status: "ACTIVE", statusDescription: "Active", expectedStatusCode: OK)
✅ AC03_Get_WithADRParticipationNotActive_ShouldRespondWith_403Forbidden_ErrorResponse(status: "INACTIVE", statusDescription: "Inactive", expectedStatusCode: Forbidden)
✅ AC03_Get_WithADRParticipationNotActive_ShouldRespondWith_403Forbidden_ErrorResponse(status: "REMOVED", statusDescription: "Removed", expectedStatusCode: Forbidden)
✅ AC03_Get_WithADRParticipationNotActive_ShouldRespondWith_403Forbidden_ErrorResponse(status: "REVOKED", statusDescription: "Revoked", expectedStatusCode: Forbidden)
✅ AC03_Get_WithADRParticipationNotActive_ShouldRespondWith_403Forbidden_ErrorResponse(status: "SURRENDERED", statusDescription: "Surrendered", expectedStatusCode: Forbidden)
✅ AC03_Get_WithADRParticipationNotActive_ShouldRespondWith_403Forbidden_ErrorResponse(status: "SUSPENDED", statusDescription: "Suspended", expectedStatusCode: Forbidden)
✅ AC05_Get_WithADRSoftwareProductNotActive_ShouldRespondWith_403Forbidden_ErrorResponse(status: "ACTIVE", statusDescription: "Active", expectedStatusCode: OK)
✅ AC05_Get_WithADRSoftwareProductNotActive_ShouldRespondWith_403Forbidden_ErrorResponse(status: "INACTIVE", statusDescription: "Inactive", expectedStatusCode: Forbidden)
✅ AC05_Get_WithADRSoftwareProductNotActive_ShouldRespondWith_403Forbidden_ErrorResponse(status: "REMOVED", statusDescription: "Removed", expectedStatusCode: Forbidden)
✅ AC06_Get_WithNoAccessToken_ShouldRespondWith_401Unauthorised_WWWAuthenticateHeader(tokenType: InvalidEmpty, expectedStatusCode: Unauthorized)
✅ AC06_Get_WithNoAccessToken_ShouldRespondWith_401Unauthorised_WWWAuthenticateHeader(tokenType: InvalidOmit, expectedStatusCode: Unauthorized)
✅ AC06_Get_WithNoAccessToken_ShouldRespondWith_401Unauthorised_WWWAuthenticateHeader(tokenType: KamillaSmith, expectedStatusCode: OK)
✅ AC07_Get_WithInvalidAccessToken_ShouldRespondWith_401Unauthorised_WWWAuthenticateHeader(tokenType: InvalidFoo, expectedStatusCode: Unauthorized)
✅ AC07_Get_WithInvalidAccessToken_ShouldRespondWith_401Unauthorised_WWWAuthenticateHeader(tokenType: KamillaSmith, expectedStatusCode: OK)
✅ AC08_Get_WithExpiredAccessToken_ShouldRespondWith_401Unauthorised_WWWAuthenticateHeader(expectedStatusCode: Unauthorized)
✅ AC09_Get_WithCurrentHolderOfKey_Success
✅ AC09_Get_WithDifferentHolderOfKey_ShouldRespondWith_401Unauthorised(certificateFilename: "Certificates/client-additional.pfx", certificatePassword: "#M0ckDataRecipient#")

✅ CdrAuthServer.IntegrationTests.US12966_CdrAuthServer_Introspection

✅ AC01_Post_ShouldRespondWith_200OK_IntrospectionInfo(tokenType: KamillaSmith)
✅ AC02_Post_WithInvalidRefreshToken_ShouldRespondWith_200OK_ActiveFalse(invalidRefreshToken: False, expectedActive: True)
✅ AC02_Post_WithInvalidRefreshToken_ShouldRespondWith_200OK_ActiveFalse(invalidRefreshToken: True, expectedActive: False)
✅ AC03_Post_WithMissingRefreshToken_ShouldRespondWith_200OK_ActiveFalse(missingRefreshToken: False, expectedActive: True)
✅ AC03_Post_WithMissingRefreshToken_ShouldRespondWith_200OK_ActiveFalse(missingRefreshToken: True, expectedActive: False)
✅ AC04_Post_WithExpiredRefreshToken_ShouldRespondWith_200OK_ActiveFalse(expired: False, expectedActive: True)
✅ AC04_Post_WithExpiredRefreshToken_ShouldRespondWith_200OK_ActiveFalse(expired: True, expectedActive: False)
✅ AC06_Post_WithInvalidClientId_ShouldRespondWith_400BadRequest_ErrorResponse(clientId: "foo")
✅ AC06_Post_WithValidClientId_Success
✅ AC07_Post_WithInvalidClientAssertionType_ShouldRespondWith_400BadRequest_ErrorResponse(clientAssertionType: "foo")
✅ AC07_Post_WithValidClientAssertionType_Success
✅ AC08_Post_WithInvalidClientAssertion_ShouldRespondWith_400BadRequest_ErrorResponse(clientAssertion: "foo")
✅ AC08_Post_WithNullClientAssertion_Success

✅ CdrAuthServer.IntegrationTests.US12968_CdrAuthServer_PAR

✅ AC01_Post_ShouldRespondWith_201Created_RequestUri
✅ AC02_Post_AuthorisationEndpoint_WithRequestUri_ShouldRespondWith_200OK_CdrArrangementId
✅ AC03_Post_AuthorisationEndpoint_WithRequestUri_After90Seconds_ShouldRespondWith_302Found_CallbackURI
✅ AC04_Post_WithCdrArrangementId_AmendingConsent_ShouldInvalidateRefreshTokenn
✅ AC04_Post_WithCdrArrangementId_ShouldRespondWith_201Created_RequestUri
✅ AC05_Post_AuthorisationEndpoint_WithRequestUri_ShouldRespondWith_200OK_CdrArrangementId
✅ AC06_Post_WithUnknownOrUnAssociatedCdrArrangementId_ShouldRespondWith_400BadRequest(cdrArrangementId: "foo")
✅ AC08_Post_WithInvalidClientId_ShouldRespondWith_400BadRequest(clientId: "foo")
✅ AC08_Post_WithValidClientId_Success_Created
✅ AC09_Post_WithInvalidClientAssertionType_ShouldRespondWith_400BadRequest(clientAssertionType: "foo")
✅ AC09_Post_WithValidClientAssertionType_Success
✅ AC10_Revocation_WithInvalidClientAssertion_ShouldRespondWith_400BadRequest(clientAssertion: "foo")
✅ AC11_Post_WitCurrentHolderOfKey_Success_Created
✅ AC11_Post_WithDifferentHolderOfKey_ShouldRespondWith_400BadRequest(jwtCertificateFilename: "Certificates/client-additional.pfx", jwtCertificatePassword: "#M0ckDataRecipient#")

✅ CdrAuthServer.IntegrationTests.US15221_US12969_US15584_CdrAuthServer_Registration_POST

✅ AC01_Post_WithUnregistedSoftwareProduct_MandatoryOnlyFields_ShouldRespondWith_201Created_CreatedProfile
✅ AC01_Post_WithUnregistedSoftwareProduct_ShouldRespondWith_201Created_CreatedProfile
✅ AC02_Post_WithRegistedSoftwareProduct_ShouldRespondWith_400BadRequest_DuplicateErrorResponse
✅ AC03_Post_WithValidButUnapprovedSSA_400BadRequest_UnapprovedSSAErrorResponse
✅ AC03_Post_WithValidSSA_Success_Created
✅ AC06_Post_WithInvalidSSAPayload_400BadRequest_InvalidSSAPayloadResponse
✅ AC07_Post_WithInvalidMetadata_400BadRequest_InvalidMetadataResponse

✅ CdrAuthServer.IntegrationTests.US15221_US12969_US15585_CdrAuthServer_Registration_PUT

✅ AC11_Put_WithValidSoftwareProduct_ShouldRespondWith_200OK_UpdatedProfile
✅ AC12_Put_WithInvalidSoftwareProduct_ShouldRespondWith_400BadRequest_InvalidErrorResponse
✅ AC13_Put_WithExpiredAccessToken_ShouldRespondWith_401UnAuthorized_ExpiredAccessTokenErrorResponse
✅ AC14_Put_WithInvalidOrUnregisteredClientID_ShouldRespondWith_401Unauthorised_InvalidErrorResponse(invalidClientId: "f00f00f0-f00f-f00f-f00f-f00f00f00f00")

✅ CdrAuthServer.IntegrationTests.US15221_US12969_US15586_CdrAuthServer_Registration_GET

✅ AC08_Get_WithValidClientId_ShouldRespondWith_200OK_Profile
✅ AC09_Get_WithExpiredAccessToken_ShouldRespondWith_401Unauthorized_ExpiredAccessTokenErrorResponse
✅ AC10_Get_WithInvalidClientId_ShouldRespondWith_401Unauthorized_WWWAuthenticateHeader

✅ CdrAuthServer.IntegrationTests.US15221_US12969_US15587_CdrAuthServer_Registration_DELETE

✅ AC15_Delete_WithValidClientId_ShouldRespondWith_204NoContent_ProfileIsDeleted
✅ AC17_Delete_WithExpiredAccessToken_ShouldRespondWith_401Unauthorized_ExpiredAccessTokenErrorResponse

✅ CdrAuthServer.IntegrationTests.US17652_CdrAuthServer_ArrangementRevocation

✅ AC01_Post_WithArrangementId_ShouldRespondWith_204NoContent_ArrangementRevoked
✅ AC02_GetAccounts_WithRevokedAccessToken_ShouldRespondWith_401Unauthorised(revokeArrangement: False, expectedStatusCode: OK)
✅ AC02_GetAccounts_WithRevokedAccessToken_ShouldRespondWith_401Unauthorised(revokeArrangement: True, expectedStatusCode: BadRequest)
✅ AC03_GetAccessToken_WithRevokedRefreshToken_ShouldRespondWith_401Unauthorised
✅ AC03_GetAccessToken_WithValidRefreshToken_Success
✅ AC04_POST_WithInvalidArrangementID_ShouldRespondWith_422UnprocessableEntity
✅ AC05_POST_WithNonAssociatedArrangementID_ShouldRespondWith_422UnprocessableEntity
✅ AC07_POST_WithInvalidClientId_ShouldRespondWith_400BadRequest
✅ AC08a_POST_WithInvalidClientAssertionType_ShouldRespondWith_400BadRequest
✅ AC08b_POST_WithInvalidClientAssertion_ShouldRespondWith_400BadRequest
✅ AC09_POST_WithCurrentHolderOfKey_Success_NoContent
✅ AC09_POST_WithDifferentHolderOfKey_ShouldRespondWith_400BadRequest(jwtCertificateFilename: "Certificates/client-additional.pfx", jwtCertificatePassword: "#M0ckDataRecipient#")

✅ CdrAuthServer.IntegrationTests.US18469_CdrAuthServer_TokenRevocation

✅ AC01_Post_WithAccessToken_ShouldRespondWith_200OK
✅ AC02_CallResourceAPI_WithRevokedAccessToken_ShouldRespondWith_401Unauthorised(revoke: False, expectedResourceAPIStatusCode: OK)
✅ AC02_CallResourceAPI_WithRevokedAccessToken_ShouldRespondWith_401Unauthorised(revoke: True, expectedResourceAPIStatusCode: BadRequest)
✅ AC03_Post_WithRefreshToken_ShouldRespondWith_200OK
✅ AC04_CallTokenAPI_WithRevokedRefreshToken_ShouldRespondWith_400BadRequest(revoke: False, expectedStatusCode: OK)
✅ AC04_CallTokenAPI_WithRevokedRefreshToken_ShouldRespondWith_400BadRequest(revoke: True, expectedStatusCode: BadRequest)
✅ AC05_Post_WithInvalidAccessToken_ShouldRespondWith_200OK(token: "foo", expectedStatusCode: OK)
✅ AC06_Post_WithInvalidRefreshToken_ShouldRespondWith_200OK(token: "foo", expectedStatusCode: OK)
✅ AC07_Post_WithInvalidAccessTokenTypeHint_ShouldRespondWith_200OK(tokenTypeHint: "foo", expectedStatusCode: OK)
✅ AC08_Post_WithInvalidRefreshTokenTypeHint_ShouldRespondWith_200OK(tokenTypeHint: "foo", expectedStatusCode: OK)
✅ AC09_Post_AccessTokenWithDifferentHolderOfKey_ShouldRespondWith_200OK(jwtCertificateFilename: "Certificates/client-additional.pfx", jwtCertificatePassword: "#M0ckDataRecipient#", expectedStatusCode: OK)
✅ AC10_Post_RefreshTokenWithDifferentHolderOfKey_ShouldRespondWith_200OK(jwtCertificateFilename: "Certificates/client-additional.pfx", jwtCertificatePassword: "#M0ckDataRecipient#", expectedStatusCode: OK)
✅ AC12_Post_AccessTokenWithInvalidClientId_ShouldRespondWith_400BadRequest
✅ AC13_Post_AccessTokenWithInvalidClientAssertionType_ShouldRespondWith_400BadRequest
✅ AC14_Post_AccessTokenWithInvalidClientAssertion_ShouldRespondWith_401Unauthorised
✅ AC15_Post_AccessTokenWithClientAssertionSignedWithInvalidCert_ShouldRespondWith_401Unauthorised