From c2d1405f44454bb5406e043a1005e5bd08e1c25b Mon Sep 17 00:00:00 2001 From: Vishal Puri Date: Tue, 24 Apr 2007 06:35:15 +0000 Subject: [PATCH] SEC-357: Added testIfSwitchUserWithNullUsernameThrowsException --- .../SwitchUserProcessingFilterTests.java | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/core/src/test/java/org/acegisecurity/ui/switchuser/SwitchUserProcessingFilterTests.java b/core/src/test/java/org/acegisecurity/ui/switchuser/SwitchUserProcessingFilterTests.java index 401be5b987..8c56f951d7 100644 --- a/core/src/test/java/org/acegisecurity/ui/switchuser/SwitchUserProcessingFilterTests.java +++ b/core/src/test/java/org/acegisecurity/ui/switchuser/SwitchUserProcessingFilterTests.java @@ -179,6 +179,27 @@ public class SwitchUserProcessingFilterTests extends TestCase { Authentication result = filter.attemptSwitchUser(request); assertTrue(result != null); } + + public void testIfSwitchUserWithNullUsernameThrowsException() throws Exception { + // set current user + UsernamePasswordAuthenticationToken auth = new UsernamePasswordAuthenticationToken("dano", "hawaii50"); + SecurityContextHolder.getContext().setAuthentication(auth); + + MockHttpServletRequest request = new MockHttpServletRequest(); + String username = null; + request.addParameter(SwitchUserProcessingFilter.ACEGI_SECURITY_SWITCH_USERNAME_KEY, username); + + SwitchUserProcessingFilter filter = new SwitchUserProcessingFilter(); + filter.setUserDetailsService(new MockAuthenticationDaoUserJackLord()); + Authentication result = null ; + try { + result = filter.attemptSwitchUser(request); + fail("UsernameNotFoundException should have been thrown"); + } catch (UsernameNotFoundException e) { + + } + assertFalse(result != null); + } public void testBadConfigMissingAuthenticationDao() { SwitchUserProcessingFilter filter = new SwitchUserProcessingFilter();