From 8b9f02e2e7434f572d04b6439c511b29f2d72ec4 Mon Sep 17 00:00:00 2001 From: Ben Alex Date: Tue, 13 Jul 2004 02:01:58 +0000 Subject: [PATCH] Expand test coverage. --- .../dao/DaoAuthenticationProviderTests.java | 30 +++++++++++++++++++ .../ui/AbstractIntegrationFilterTests.java | 17 +++++++++++ 2 files changed, 47 insertions(+) diff --git a/core/src/test/java/org/acegisecurity/providers/dao/DaoAuthenticationProviderTests.java b/core/src/test/java/org/acegisecurity/providers/dao/DaoAuthenticationProviderTests.java index 45c48cdb1e..70048e27a6 100644 --- a/core/src/test/java/org/acegisecurity/providers/dao/DaoAuthenticationProviderTests.java +++ b/core/src/test/java/org/acegisecurity/providers/dao/DaoAuthenticationProviderTests.java @@ -172,6 +172,32 @@ public class DaoAuthenticationProviderTests extends TestCase { assertEquals("ROLE_TWO", castResult.getAuthorities()[1].getAuthority()); } + public void testAuthenticatesASecondTime() { + UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken("marissa", + "koala"); + + DaoAuthenticationProvider provider = new DaoAuthenticationProvider(); + provider.setAuthenticationDao(new MockAuthenticationDaoUserMarissa()); + provider.setUserCache(new MockUserCache()); + + Authentication result = provider.authenticate(token); + + if (!(result instanceof UsernamePasswordAuthenticationToken)) { + fail( + "Should have returned instance of UsernamePasswordAuthenticationToken"); + } + + // Now try to authenticate with the previous result (with its UserDetails) + Authentication result2 = provider.authenticate(result); + + if (!(result2 instanceof UsernamePasswordAuthenticationToken)) { + fail( + "Should have returned instance of UsernamePasswordAuthenticationToken"); + } + + assertEquals(result.getCredentials(), result2.getCredentials()); + } + public void testAuthenticatesWhenASaltIsUsed() { UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken("marissa", "koala"); @@ -213,6 +239,10 @@ public class DaoAuthenticationProviderTests extends TestCase { provider.setUserCache(new EhCacheBasedUserCache()); assertEquals(EhCacheBasedUserCache.class, provider.getUserCache().getClass()); + + assertFalse(provider.isForcePrincipalAsString()); + provider.setForcePrincipalAsString(true); + assertTrue(provider.isForcePrincipalAsString()); } public void testStartupFailsIfNoAuthenticationDao() diff --git a/core/src/test/java/org/acegisecurity/ui/AbstractIntegrationFilterTests.java b/core/src/test/java/org/acegisecurity/ui/AbstractIntegrationFilterTests.java index 1b2bd3a72d..b055f98936 100644 --- a/core/src/test/java/org/acegisecurity/ui/AbstractIntegrationFilterTests.java +++ b/core/src/test/java/org/acegisecurity/ui/AbstractIntegrationFilterTests.java @@ -152,6 +152,23 @@ public class AbstractIntegrationFilterTests extends TestCase { } } + public void testSecureContextSettersGetters() throws Exception { + MockAbstractIntegrationFilterImpl filter = new MockAbstractIntegrationFilterImpl(null); + + // check the default + assertEquals(SecureContextImpl.class, filter.getSecureContext()); + + // check null causes exception + filter.setSecureContext(null); + + try { + filter.afterPropertiesSet(); + fail("Should have thrown IllegalArgumentException"); + } catch (IllegalArgumentException expected) { + assertTrue(true); + } + } + public void testSuccessWhenConcreteClassReturnsValidAuthenticationObject() throws Exception { PrincipalAcegiUserToken principal = new PrincipalAcegiUserToken("key",