From e3dd12021b31a1881b353912c1ef98eaef5cb832 Mon Sep 17 00:00:00 2001 From: Luke Taylor Date: Mon, 1 Dec 2008 15:49:13 +0000 Subject: [PATCH] Added extra calls to exercise CachingUserDetailsService --- ...cUserServiceBeanDefinitionParserTests.java | 46 ++++++++++--------- 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/core/src/test/java/org/springframework/security/config/JdbcUserServiceBeanDefinitionParserTests.java b/core/src/test/java/org/springframework/security/config/JdbcUserServiceBeanDefinitionParserTests.java index cc6cfd952d..667c8397ea 100644 --- a/core/src/test/java/org/springframework/security/config/JdbcUserServiceBeanDefinitionParserTests.java +++ b/core/src/test/java/org/springframework/security/config/JdbcUserServiceBeanDefinitionParserTests.java @@ -20,7 +20,7 @@ import org.springframework.security.util.InMemoryXmlApplicationContext; * @version $Id$ */ public class JdbcUserServiceBeanDefinitionParserTests { - private static String USER_CACHE_XML = ""; + private static String USER_CACHE_XML = ""; private static String DATA_SOURCE = " " + @@ -32,7 +32,7 @@ public class JdbcUserServiceBeanDefinitionParserTests { " "; private InMemoryXmlApplicationContext appContext; - + @After public void closeAppContext() { if (appContext != null) { @@ -44,7 +44,7 @@ public class JdbcUserServiceBeanDefinitionParserTests { public void validUsernameIsFound() { setContext("" + DATA_SOURCE); JdbcUserDetailsManager mgr = (JdbcUserDetailsManager) appContext.getBean(BeanIds.USER_DETAILS_SERVICE); - assertTrue(mgr.loadUserByUsername("rod") != null); + assertNotNull(mgr.loadUserByUsername("rod")); } @Test @@ -55,12 +55,12 @@ public class JdbcUserServiceBeanDefinitionParserTests { @Test public void usernameAndAuthorityQueriesAreParsedCorrectly() throws Exception { - String userQuery = "select username, password, true from users where username = ?"; - String authoritiesQuery = "select username, authority from authorities where username = ? and 1 = 1"; + String userQuery = "select username, password, true from users where username = ?"; + String authoritiesQuery = "select username, authority from authorities where username = ? and 1 = 1"; setContext("" + DATA_SOURCE); + "data-source-ref='dataSource' " + + "users-by-username-query='"+ userQuery +"' " + + "authorities-by-username-query='" + authoritiesQuery + "'/>" + DATA_SOURCE); JdbcUserDetailsManager mgr = (JdbcUserDetailsManager) appContext.getBean("myUserService"); assertEquals(userQuery, FieldUtils.getFieldValue(mgr, "usersByUsernameQuery")); assertEquals(authoritiesQuery, FieldUtils.getFieldValue(mgr, "authoritiesByUsernameQuery")); @@ -70,22 +70,24 @@ public class JdbcUserServiceBeanDefinitionParserTests { @Test public void groupQueryIsParsedCorrectly() throws Exception { setContext("" + DATA_SOURCE); + "data-source-ref='dataSource' " + + "group-authorities-by-username-query='blah blah'/>" + DATA_SOURCE); JdbcUserDetailsManager mgr = (JdbcUserDetailsManager) appContext.getBean("myUserService"); assertEquals("blah blah", FieldUtils.getFieldValue(mgr, "groupAuthoritiesByUsernameQuery")); assertTrue((Boolean)FieldUtils.getFieldValue(mgr, "enableGroups")); - } - + } + @Test public void cacheRefIsparsedCorrectly() { - setContext("" - + DATA_SOURCE +USER_CACHE_XML); - CachingUserDetailsService cachingUserService = - (CachingUserDetailsService) appContext.getBean("myUserService" + AbstractUserDetailsServiceBeanDefinitionParser.CACHING_SUFFIX); + setContext("" + + DATA_SOURCE +USER_CACHE_XML); + CachingUserDetailsService cachingUserService = + (CachingUserDetailsService) appContext.getBean("myUserService" + AbstractUserDetailsServiceBeanDefinitionParser.CACHING_SUFFIX); assertSame(cachingUserService.getUserCache(), appContext.getBean("userCache")); - } - + assertNotNull(cachingUserService.loadUserByUsername("rod")); + assertNotNull(cachingUserService.loadUserByUsername("rod")); + } + @Test public void isSupportedByAuthenticationProviderElement() { setContext( @@ -106,17 +108,17 @@ public class JdbcUserServiceBeanDefinitionParserTests { DaoAuthenticationProvider provider = (DaoAuthenticationProvider) mgr.getProviders().get(0); assertSame(provider.getUserCache(), appContext.getBean("userCache")); provider.authenticate(new UsernamePasswordAuthenticationToken("rod","koala")); - assertNotNull("Cache should contain user after authentication", provider.getUserCache().getUserFromCache("rod")); + assertNotNull("Cache should contain user after authentication", provider.getUserCache().getUserFromCache("rod")); } - + @Test public void rolePrefixIsUsedWhenSet() { setContext("" + DATA_SOURCE); JdbcUserDetailsManager mgr = (JdbcUserDetailsManager) appContext.getBean("myUserService"); UserDetails rod = mgr.loadUserByUsername("rod"); assertTrue(AuthorityUtils.authorityArrayToSet(rod.getAuthorities()).contains("PREFIX_ROLE_SUPERVISOR")); - } - + } + private void setContext(String context) { appContext = new InMemoryXmlApplicationContext(context);