Skip to content
Snippets Groups Projects
Commit ebae124b authored by Benjamin Sousa's avatar Benjamin Sousa
Browse files

Add tests. Bump minor version.

parent 4f410bd7
No related branches found
No related tags found
1 merge request!22Add ability to consume Manifest groups as Authorities
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>edu.wisc.uwss</groupId> <groupId>edu.wisc.uwss</groupId>
<artifactId>uw-spring-security</artifactId> <artifactId>uw-spring-security</artifactId>
<version>1.5.2-SNAPSHOT</version> <version>1.6.0-SNAPSHOT</version>
<packaging>pom</packaging> <packaging>pom</packaging>
<name>UW Spring Security Parent</name> <name>UW Spring Security Parent</name>
<description>Parent project for module to integrate Spring Security with UW authentication mechanism.</description> <description>Parent project for module to integrate Spring Security with UW authentication mechanism.</description>
......
...@@ -9,6 +9,7 @@ import static org.junit.Assert.assertNull; ...@@ -9,6 +9,7 @@ import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertTrue;
import java.net.URL; import java.net.URL;
import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
...@@ -16,6 +17,7 @@ import javax.servlet.http.HttpServletRequest; ...@@ -16,6 +17,7 @@ import javax.servlet.http.HttpServletRequest;
import org.junit.Test; import org.junit.Test;
import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.security.core.GrantedAuthority;
import edu.wisc.uwss.UWUserDetails; import edu.wisc.uwss.UWUserDetails;
import edu.wisc.uwss.preauth.PreauthenticatedUserDetailsAttributeMapper.Default; import edu.wisc.uwss.preauth.PreauthenticatedUserDetailsAttributeMapper.Default;
...@@ -68,7 +70,32 @@ public class PreauthenticatedUserDetailsAttributeMapperTest { ...@@ -68,7 +70,32 @@ public class PreauthenticatedUserDetailsAttributeMapperTest {
assertEquals(1,result.getAuthorities().size()); assertEquals(1,result.getAuthorities().size());
assertEquals(manifestGroups.toString(),result.getAuthorities().toString()); assertEquals(manifestGroups.toString(),result.getAuthorities().toString());
} }
/**
* Verify that a user can have multiple Manifest groups in their {@link GrantedAuthority}s
*/
@Test
public void mapUser_multipleManifestGroups() {
MockHttpServletRequest request = new MockHttpServletRequest();
String uid = "somebody";
ArrayList<String> manifestGroups = new ArrayList<>();
manifestGroups.add("uw:domain:onegroup");
manifestGroups.add("uw:domain:anothergroup");
request.addHeader("uid", uid);
request.addHeader("ismemberof",manifestGroups);
UWUserDetails result = filter.mapUser(request);
assertEquals(uid, result.getUsername());
assertEquals(2,result.getAuthorities().size());
for (GrantedAuthority authority : result.getAuthorities()) {
assertTrue(manifestGroups.contains(authority.getAuthority()));
}
}
/** /**
* Verify behavior of {@link Default#toCustomLogoutUrl(String)} for * Verify behavior of {@link Default#toCustomLogoutUrl(String)} for
* null input. * null input.
......
...@@ -32,12 +32,13 @@ public class UWUserDetailsAuthenticationFilterTest { ...@@ -32,12 +32,13 @@ public class UWUserDetailsAuthenticationFilterTest {
public void getPreAuthenticatedPrincipal_control() { public void getPreAuthenticatedPrincipal_control() {
UWUserDetailsAuthenticationFilter filter = new UWUserDetailsAuthenticationFilter(); UWUserDetailsAuthenticationFilter filter = new UWUserDetailsAuthenticationFilter();
HttpServletRequest request = mock(HttpServletRequest.class); HttpServletRequest request = mock(HttpServletRequest.class);
when(request.getHeader("uid")).thenReturn("bbadger"); when(request.getHeader("uid")).thenReturn("bbadger");
when(request.getHeader("eppn")).thenReturn("bbadger@wisc.edu"); when(request.getHeader("eppn")).thenReturn("bbadger@wisc.edu");
when(request.getHeader("cn")).thenReturn("Bucky Badger"); when(request.getHeader("cn")).thenReturn("Bucky Badger");
when(request.getHeaders("wisceduudds")).thenReturn(Collections.enumeration(Arrays.asList("A061234"))); when(request.getHeaders("wisceduudds")).thenReturn(Collections.enumeration(Arrays.asList("A061234")));
when(request.getHeader("mail")).thenReturn("foo@foo.wisc.edu"); when(request.getHeader("mail")).thenReturn("foo@foo.wisc.edu");
when(request.getHeaders("ismemberof")).thenReturn(Collections.enumeration(Arrays.asList("somegroup")));
UWUserDetails userDetails = filter.getPreAuthenticatedPrincipal(request); UWUserDetails userDetails = filter.getPreAuthenticatedPrincipal(request);
assertEquals("bbadger", userDetails.getUsername()); assertEquals("bbadger", userDetails.getUsername());
assertEquals("bbadger@wisc.edu", userDetails.getEppn()); assertEquals("bbadger@wisc.edu", userDetails.getEppn());
...@@ -45,6 +46,7 @@ public class UWUserDetailsAuthenticationFilterTest { ...@@ -45,6 +46,7 @@ public class UWUserDetailsAuthenticationFilterTest {
assertEquals("foo@foo.wisc.edu", userDetails.getEmailAddress()); assertEquals("foo@foo.wisc.edu", userDetails.getEmailAddress());
assertEquals(1, userDetails.getUddsMembership().size()); assertEquals(1, userDetails.getUddsMembership().size());
assertEquals("A061234", userDetails.getUddsMembership().iterator().next()); assertEquals("A061234", userDetails.getUddsMembership().iterator().next());
assertEquals("somegroup", userDetails.getAuthorities().iterator().next().getAuthority());
} }
/** /**
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment