@Test public void getName_PrincipalIdInClaimsGiven_ShouldReturnPrincipalIdFromClaims() { CustomAuthorizerPrincipal principal = mock(CustomAuthorizerPrincipal.class); CustomAuthorizerClaims claims = mock(CustomAuthorizerClaims.class); when(claims.getPrincipalId()).thenReturn("somePrincipalId"); when(principal.getClaims()).thenReturn(claims); when(principal.getName()).thenCallRealMethod(); assertEquals("somePrincipalId", principal.getName()); } }
@Test public void testCognitoCustomAuthorizerPrincipal() { Map<String, Object> authorizerDate = new HashMap<>(); authorizerDate.put("principalId", "123"); authorizerDate.put("custom:value", "blub"); Principal principal = testPrincipal(authorizerDate); assertTrue(principal instanceof CustomAuthorizerPrincipal); CustomAuthorizerPrincipal cognitoCustomPrincipal = (CustomAuthorizerPrincipal) principal; assertEquals("123", cognitoCustomPrincipal.getName()); assertEquals("123", cognitoCustomPrincipal.getClaims().getPrincipalId()); assertEquals("blub", cognitoCustomPrincipal.getClaims().getAllClaims().get("custom:value")); }
@Test public void createPrincipal_PrincipalIdWithAdditionalClaimsGiven_ShouldCreatePrincipal() { Map<String, Object> claims = new HashMap<>(); claims.put("principalId", "principalId"); claims.put("someOtherClaim", "someOtherClaimValue"); GatewayRequest request = createRequestMock(claims); CustomAuthorizerPrincipal principal = (CustomAuthorizerPrincipal) createSecurityContextFactory(request) .createPrincipal(); assertEquals("principalId", principal.getName()); assertEquals("principalId", principal.getClaims().getPrincipalId()); assertEquals("principalId", principal.getClaims().getAllClaims().get("principalId")); assertEquals("someOtherClaimValue", principal.getClaims().getAllClaims().get("someOtherClaim")); }
@Test public void createPrincipal_PrincipalIdGiven_ShouldCreatePrincipal() { GatewayRequest request = createRequestMock("principalId"); CustomAuthorizerPrincipal principal = (CustomAuthorizerPrincipal) createSecurityContextFactory(request) .createPrincipal(); assertEquals("principalId", principal.getName()); assertEquals("principalId", principal.getClaims().getPrincipalId()); assertEquals("principalId", principal.getClaims().getAllClaims().get("principalId")); }