| 
					
				 | 
			
			
				@@ -16,6 +16,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 package org.springframework.security.web.authentication.www; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import static org.junit.Assert.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import static org.mockito.Mockito.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.io.IOException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.Map; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -37,11 +38,11 @@ import org.springframework.mock.web.MockHttpServletRequest; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.mock.web.MockHttpServletResponse; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.security.core.authority.AuthorityUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.security.core.context.SecurityContextHolder; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.security.core.userdetails.User; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.security.core.userdetails.UserDetails; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.security.core.userdetails.UserDetailsService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.security.core.userdetails.UsernameNotFoundException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.security.core.userdetails.cache.NullUserCache; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import org.springframework.security.core.userdetails.memory.InMemoryDaoImpl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import org.springframework.security.core.userdetails.memory.UserMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import org.springframework.security.core.userdetails.memory.UserMapEditor; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.util.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -109,26 +110,27 @@ public class DigestAuthenticationFilterTests { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @After 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public void clearContext() throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void clearContext() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         SecurityContextHolder.clearContext(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Before 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public void setUp() throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void setUp() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         SecurityContextHolder.clearContext(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // Create User Details Service 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        InMemoryDaoImpl dao = new InMemoryDaoImpl(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        UserMapEditor editor = new UserMapEditor(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        editor.setAsText("rod,ok=koala,ROLE_ONE,ROLE_TWO,enabled\r\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        dao.setUserMap((UserMap) editor.getValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        UserDetailsService uds = new UserDetailsService() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return new User("rod,ok", "koala", AuthorityUtils.createAuthorityList("ROLE_ONE","ROLE_TWO")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         DigestAuthenticationEntryPoint ep = new DigestAuthenticationEntryPoint(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ep.setRealmName(REALM); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ep.setKey(KEY); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         filter = new DigestAuthenticationFilter(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        filter.setUserDetailsService(dao); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        filter.setUserDetailsService(uds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         filter.setAuthenticationEntryPoint(ep); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         request = new MockHttpServletRequest("GET", REQUEST_URI); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -169,7 +171,7 @@ public class DigestAuthenticationFilterTests { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void testGettersSetters() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         DigestAuthenticationFilter filter = new DigestAuthenticationFilter(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        filter.setUserDetailsService(new InMemoryDaoImpl()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        filter.setUserDetailsService(mock(UserDetailsService.class)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         assertTrue(filter.getUserDetailsService() != null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         filter.setAuthenticationEntryPoint(new DigestAuthenticationEntryPoint()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -329,7 +331,7 @@ public class DigestAuthenticationFilterTests { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Test(expected=IllegalArgumentException.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void startupDetectsMissingAuthenticationEntryPoint() throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         DigestAuthenticationFilter filter = new DigestAuthenticationFilter(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        filter.setUserDetailsService(new InMemoryDaoImpl()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        filter.setUserDetailsService(mock(UserDetailsService.class)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         filter.afterPropertiesSet(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |