private MockWebContext getContextWithAuthorizationHeader(String value) { MockWebContext context = MockWebContext.create(); return context.addRequestHeader(HttpConstants.AUTHORIZATION_HEADER, value); } }
@Test public void testAuthenticationLowercase() { final DirectBasicAuthClient client = new DirectBasicAuthClient(new SimpleTestUsernamePasswordAuthenticator()); final MockWebContext context = MockWebContext.create(); final String header = USERNAME + ":" + USERNAME; context.addRequestHeader(HttpConstants.AUTHORIZATION_HEADER.toLowerCase(), "Basic " + Base64.getEncoder().encodeToString(header.getBytes(StandardCharsets.UTF_8))); final UsernamePasswordCredentials credentials = client.getCredentials(context); final CommonProfile profile = client.getUserProfile(credentials, context); assertEquals(USERNAME, profile.getId()); } }
@Test public void testAuthentication() { final DirectBasicAuthClient client = new DirectBasicAuthClient(new SimpleTestUsernamePasswordAuthenticator()); final MockWebContext context = MockWebContext.create(); final String header = USERNAME + ":" + USERNAME; context.addRequestHeader(HttpConstants.AUTHORIZATION_HEADER, "Basic " + Base64.getEncoder().encodeToString(header.getBytes(StandardCharsets.UTF_8))); final UsernamePasswordCredentials credentials = client.getCredentials(context); final CommonProfile profile = client.getUserProfile(credentials, context); assertEquals(USERNAME, profile.getId()); }
@Test public void testRetrieveDigestHeaderComponents() { final MockWebContext context = MockWebContext.create(); context.addRequestHeader(HttpConstants.AUTHORIZATION_HEADER, DIGEST_AUTHORIZATION_HEADER_VALUE); final DigestCredentials credentials = digestExtractor.extract(context); assertEquals(DIGEST_RESPONSE, credentials.getToken()); assertEquals(USERNAME, credentials.getUsername()); }
@Test public void testAuthentication() { final HeaderClient client = new HeaderClient(HEADER_NAME, PREFIX_HEADER, new SimpleTestTokenAuthenticator()); final MockWebContext context = MockWebContext.create(); context.addRequestHeader(HEADER_NAME, PREFIX_HEADER + VALUE); final TokenCredentials credentials = client.getCredentials(context); final CommonProfile profile = client.getUserProfile(credentials, context); assertEquals(VALUE, profile.getId()); } }
@Test public void testAuthentication() { final DirectBearerAuthClient client = new DirectBearerAuthClient(new SimpleTestTokenAuthenticator()); final MockWebContext context = MockWebContext.create(); context.addRequestHeader(HttpConstants.AUTHORIZATION_HEADER, HttpConstants.BEARER_HEADER_PREFIX + TOKEN); final TokenCredentials credentials = client.getCredentials(context); final CommonProfile profile = (CommonProfile) client.getUserProfile(credentials, context); assertEquals(TOKEN, profile.getId()); }
@Test public void testRetrieveIpFromHeaderUsingConstructor() { final MockWebContext context = MockWebContext.create().addRequestHeader(HEADER_NAME, GOOD_IP).setRemoteAddress(LOCALHOST); // test for varargs final IpExtractor ipExtractor = new IpExtractor("fooBar", HEADER_NAME, "barFoo"); final TokenCredentials credentials = ipExtractor.extract(context); assertEquals(GOOD_IP, credentials.getToken()); // test for edge case of 1 header final IpExtractor ipExtractor2 = new IpExtractor(HEADER_NAME); final TokenCredentials credentials2 = ipExtractor2.extract(context); assertEquals(GOOD_IP, credentials2.getToken()); }
@Test public void testRetrieveIpFromHeaderWithProxyIpCheck() { final MockWebContext context = MockWebContext.create().addRequestHeader(HEADER_NAME, GOOD_IP).setRemoteAddress(LOCALHOST); final IpExtractor ipExtractor = new IpExtractor(); ipExtractor.setProxyIp(LOCALHOST); // test for varargs ipExtractor.setAlternateIpHeaders("fooBar", HEADER_NAME, "barFoo"); final TokenCredentials credentials = ipExtractor.extract(context); assertEquals(GOOD_IP, credentials.getToken()); // test for edge case of 1 header ipExtractor.setAlternateIpHeaders(HEADER_NAME); final TokenCredentials credentials2 = ipExtractor.extract(context); assertEquals(GOOD_IP, credentials2.getToken()); }
@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()); } }