private void verifyGetCredentialsFailsWithAuthenticationRequired( IndirectBasicAuthClient basicAuthClient, MockWebContext context) { try { basicAuthClient.getCredentials(context); fail("should throw HttpAction"); } catch (final HttpAction e) { assertEquals(401, context.getResponseStatus()); assertEquals("Basic realm=\"authentication required\"", context.getResponseHeaders().get(HttpConstants.AUTHENTICATE_HEADER)); } }
@Test public void testGetCredentials() { final FormClient formClient = getFormClient(); final MockWebContext context = MockWebContext.create(); TestsHelper.expectException(() -> formClient.getCredentials(context.addRequestParameter(formClient.getUsernameParameter(), USERNAME) .addRequestParameter(formClient.getPasswordParameter(), PASSWORD)), HttpAction.class, "Performing a 302 HTTP action"); assertEquals(302, context.getResponseStatus()); assertEquals(LOGIN_URL + "?" + formClient.getUsernameParameter() + "=" + USERNAME + "&" + FormClient.ERROR_PARAMETER + "=" + CredentialsException.class.getSimpleName(), context .getResponseHeaders().get(HttpConstants.LOCATION_HEADER)); }
@Test public void testGetCredentialsMissingPassword() { final FormClient formClient = getFormClient(); final MockWebContext context = MockWebContext.create(); TestsHelper.expectException(() -> formClient.getCredentials(context.addRequestParameter(formClient.getPasswordParameter(), PASSWORD)), HttpAction.class, "Performing a 302 HTTP action"); assertEquals(302, context.getResponseStatus()); assertEquals(LOGIN_URL + "?" + formClient.getUsernameParameter() + "=&" + FormClient.ERROR_PARAMETER + "=" + FormClient.MISSING_FIELD_ERROR, context.getResponseHeaders().get(HttpConstants.LOCATION_HEADER)); }
@Test public void testGetCredentialsMissingUsername() { final FormClient formClient = getFormClient(); final MockWebContext context = MockWebContext.create(); TestsHelper.expectException(() -> formClient.getCredentials(context.addRequestParameter(formClient.getUsernameParameter(), USERNAME)), HttpAction.class, "Performing a 302 HTTP action"); assertEquals(302, context.getResponseStatus()); assertEquals(LOGIN_URL + "?" + formClient.getUsernameParameter() + "=" + USERNAME + "&" + FormClient.ERROR_PARAMETER + "=" + FormClient.MISSING_FIELD_ERROR, context.getResponseHeaders() .get(HttpConstants.LOCATION_HEADER)); }