@Test
    public void testGetCredentialsUserProfile() {
        val ctx = new CallContext(context, new MockSessionStore());
        val credentials = (GaeUserCredentials) client.getCredentials(ctx).get();
        val user = credentials.getUser();
        assertEquals(EMAIL, user.getEmail());
        assertEquals(Pac4jConstants.EMPTY_STRING, user.getAuthDomain());
        val authnCredentials = client.validateCredentials(ctx, credentials).get();
        val profile = (GaeUserServiceProfile) client.getUserProfile(ctx, authnCredentials).get();
        LOGGER.debug("userProfile: {}", profile);
        assertEquals(EMAIL, profile.getId());
        assertEquals(GaeUserServiceProfile.class.getName() + Pac4jConstants.TYPED_ID_SEPARATOR + EMAIL, profile.getTypedId());
        assertTrue(ProfileHelper.isTypedIdOf(profile.getTypedId(), GaeUserServiceProfile.class));
        assertEquals("test", profile.getDisplayName());
        assertTrue(profile.getRoles().contains("GLOBAL_ADMIN"));
        assertEquals(2, profile.getAttributes().size());
    }
Tests the {@link GaeUserServiceClient}.

@author Jerome Leleu
@since 1.9.0
pac4j-gae/src/test/java/org/pac4j/gae/client/GaeUserServiceClientTests.java