@Test public void testAuthentication() { final DirectDigestAuthClient client = new DirectDigestAuthClient(new SimpleTestDigestAuthenticator()); client.setRealm(REALM); final MockWebContext context = MockWebContext.create(); context.addRequestHeader(AUTHORIZATION_HEADER, DIGEST_AUTHORIZATION_HEADER_VALUE); context.setRequestMethod(HTTP_METHOD.GET.name()); final DigestCredentials credentials = client.getCredentials(context); final CommonProfile profile = client.getUserProfile(credentials, context); String ha1 = CredentialUtil.encryptMD5(USERNAME + ":" + REALM + ":" +PASSWORD); String serverDigest1 = credentials.calculateServerDigest(true, ha1); String serverDigest2 = credentials.calculateServerDigest(false, PASSWORD); assertEquals(DIGEST_RESPONSE, serverDigest1); assertEquals(DIGEST_RESPONSE, serverDigest2); assertEquals(USERNAME, profile.getId()); } }
@Test public void testRetrievePostParameterNotSupported() { final MockWebContext context = MockWebContext.create().setRequestMethod(HTTP_METHOD.POST.name()) .addRequestParameter(GOOD_PARAMETER, VALUE); TestsHelper.expectException(() -> getExtractor.extract(context), CredentialsException.class, "POST requests not supported"); }
@Test public void testRetrieveGetParameterOk() { final MockWebContext context = MockWebContext.create().setRequestMethod(HTTP_METHOD.GET.name()) .addRequestParameter(GOOD_PARAMETER, VALUE); final TokenCredentials credentials = getExtractor.extract(context); assertEquals(VALUE, credentials.getToken()); }
@Test public void testMissingProfileCreator() { final DirectDigestAuthClient digestAuthClient = new DirectDigestAuthClient(new SimpleTestTokenAuthenticator(), null); TestsHelper.expectException(() -> digestAuthClient.getUserProfile(new DigestCredentials(TOKEN, HTTP_METHOD.POST.name(), null, null, null, null, null, null, null), MockWebContext.create()), TechnicalException.class, "profileCreator cannot be null"); }
@Test public void testAuthentication() { final ParameterClient client = new ParameterClient(PARAMETER_NAME, new SimpleTestTokenAuthenticator()); client.setSupportGetRequest(SUPPORT_GET); client.setSupportPostRequest(SUPPORT_POST); final MockWebContext context = MockWebContext.create(); context.addRequestParameter(PARAMETER_NAME, VALUE); context.setRequestMethod(HttpConstants.HTTP_METHOD.GET.name()); final TokenCredentials credentials = client.getCredentials(context); final CommonProfile profile = client.getUserProfile(credentials, context); assertEquals(VALUE, profile.getId()); } }
@Test public void testRetrieveNoGetParameter() { final MockWebContext context = MockWebContext.create().setRequestMethod(HTTP_METHOD.GET.name()); final TokenCredentials credentials = getExtractor.extract(context); assertNull(credentials); }
@Test public void testRetrieveGetParameterNotSupported() { final MockWebContext context = MockWebContext.create().setRequestMethod(HTTP_METHOD.GET.name()) .addRequestParameter(GOOD_PARAMETER, VALUE); TestsHelper.expectException(() -> postExtractor.extract(context), CredentialsException.class, "GET requests not supported"); }
@Test public void testRetrievePostParameterOk() { final MockWebContext context = MockWebContext.create().setRequestMethod(HTTP_METHOD.POST.name()) .addRequestParameter(GOOD_PARAMETER, VALUE); final TokenCredentials credentials = postExtractor.extract(context); assertEquals(VALUE, credentials.getToken()); }
@Test public void testRetrieveNoPostParameter() { final MockWebContext context = MockWebContext.create().setRequestMethod(HTTP_METHOD.POST.name()); final TokenCredentials credentials = postExtractor.extract(context); assertNull(credentials); } }