@Test public void testGetBadCredentials() { final DirectFormClient formClient = getFormClient(); final MockWebContext context = MockWebContext.create(); assertNull(formClient.getCredentials(context.addRequestParameter(formClient.getUsernameParameter(), USERNAME) .addRequestParameter(formClient.getPasswordParameter(), PASSWORD))); }
@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 testGetRightCredentials() { final FormClient formClient = getFormClient(); final UsernamePasswordCredentials credentials = formClient.getCredentials(MockWebContext.create() .addRequestParameter(formClient.getUsernameParameter(), USERNAME) .addRequestParameter(formClient.getPasswordParameter(), USERNAME)); assertEquals(USERNAME, credentials.getUsername()); assertEquals(USERNAME, credentials.getPassword()); }
@Test public void testGetGoodCredentials() { final DirectFormClient formClient = getFormClient(); final UsernamePasswordCredentials credentials = formClient.getCredentials(MockWebContext.create() .addRequestParameter(formClient.getUsernameParameter(), USERNAME) .addRequestParameter(formClient.getPasswordParameter(), USERNAME)); assertEquals(USERNAME, credentials.getUsername()); assertEquals(USERNAME, credentials.getPassword()); }
@Test public void testGoodRmeValue() { final RememberMeAuthorizationGenerator ag = new RememberMeAuthorizationGenerator<>(); final MockWebContext context = MockWebContext.create().addRequestParameter("rme", "true"); ag.generate(context, profile); assertTrue(profile.isRemembered()); }
@Test public void testGetCredentialsMissingUsername() { final DirectFormClient formClient = getFormClient(); final MockWebContext context = MockWebContext.create(); assertNull(formClient.getCredentials(context.addRequestParameter(formClient.getUsernameParameter(), USERNAME))); }
@Test public void testBadRmeValue() { final RememberMeAuthorizationGenerator ag = new RememberMeAuthorizationGenerator<>(); final MockWebContext context = MockWebContext.create().addRequestParameter("rme", "no"); ag.generate(context, profile); assertFalse(profile.isRemembered()); }
@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 testGetCredentialsMissingPassword() { final DirectFormClient formClient = getFormClient(); final MockWebContext context = MockWebContext.create(); assertNull(formClient.getCredentials(context.addRequestParameter(formClient.getPasswordParameter(), PASSWORD))); }
@Test public void testGoodSpecialRmeValue() { final RememberMeAuthorizationGenerator ag = new RememberMeAuthorizationGenerator<>("r", "y"); final MockWebContext context = MockWebContext.create().addRequestParameter("r", "y"); ag.generate(context, profile); assertTrue(profile.isRemembered()); }
@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 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 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 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)); }
@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()); } }