@Test public void testNoSeparator() { provider.setHeaderName("Groups"); final Set<Principal> principals = provider.getPrincipals(credentials); assertTrue("Empty set expected when no separator name configured", principals.isEmpty()); }
@Test public void testInvalidCredentials() { provider.setHeaderName("Groups"); provider.setSeparator(","); final Set<Principal> principals = provider.getPrincipals(mock(Credentials.class)); assertTrue( "Empty set expected when incorrect type of credentials supplied", principals.isEmpty()); }
@Test public void testNoRequest() { provider.setHeaderName("Groups"); provider.setSeparator(","); when(credentials.getRequest()).thenReturn(null); final Set<Principal> principals = provider.getPrincipals(credentials); assertTrue("Empty set expected when no request supplied", principals.isEmpty()); }
@Test public void testPrincipalEqualsDifferentClass() { when(request.getHeader("Groups")).thenReturn("a"); provider.setHeaderName("Groups"); provider.setSeparator(","); final Set<Principal> principals = provider.getPrincipals(credentials); final Principal principal = principals.iterator().next(); assertNotEquals( "Principals should not be equal if not the same class", principal, mock(Principal.class)); }
@Test public void testNoHeaderName() { final Set<Principal> principals = provider.getPrincipals(credentials); assertTrue("Empty set expected when no header name configured", principals.isEmpty()); }
@Test public void testShouldTrimPrincipalNames() { when(request.getHeader("Groups")).thenReturn(" a ,b"); provider.setHeaderName("Groups"); provider.setSeparator(","); final Set<Principal> principals = provider.getPrincipals(credentials); assertEquals(2, principals.size()); assertTrue( "The principals should contain 'a'", principals.contains(new HttpHeaderPrincipal("a"))); assertTrue( "The principals should contain 'b'", principals.contains(new HttpHeaderPrincipal("b"))); }