⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 casauthenticationprovidertests.java

📁 acegi构造安全的java系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        cap.setTicketValidator(new MockTicketValidator(true));        try {            cap.afterPropertiesSet();            fail("Should have thrown IllegalArgumentException");        } catch (IllegalArgumentException expected) {            assertEquals("A casAuthoritiesPopulator must be set", expected.getMessage());        }    }    public void testDetectsMissingKey() throws Exception {        CasAuthenticationProvider cap = new CasAuthenticationProvider();        cap.setCasAuthoritiesPopulator(new MockAuthoritiesPopulator());        cap.setCasProxyDecider(new MockProxyDecider());        cap.setStatelessTicketCache(new MockStatelessTicketCache());        cap.setTicketValidator(new MockTicketValidator(true));        try {            cap.afterPropertiesSet();            fail("Should have thrown IllegalArgumentException");        } catch (IllegalArgumentException expected) {            assertEquals("A Key is required so CasAuthenticationProvider can identify tokens it previously authenticated",                expected.getMessage());        }    }    public void testDetectsMissingProxyDecider() throws Exception {        CasAuthenticationProvider cap = new CasAuthenticationProvider();        cap.setCasAuthoritiesPopulator(new MockAuthoritiesPopulator());        cap.setKey("qwerty");        cap.setStatelessTicketCache(new MockStatelessTicketCache());        cap.setTicketValidator(new MockTicketValidator(true));        try {            cap.afterPropertiesSet();            fail("Should have thrown IllegalArgumentException");        } catch (IllegalArgumentException expected) {            assertEquals("A casProxyDecider must be set", expected.getMessage());        }    }    public void testDetectsMissingStatelessTicketCache()        throws Exception {        CasAuthenticationProvider cap = new CasAuthenticationProvider();        // set this explicitly to null to test failure        cap.setStatelessTicketCache(null);        cap.setCasAuthoritiesPopulator(new MockAuthoritiesPopulator());        cap.setCasProxyDecider(new MockProxyDecider());        cap.setKey("qwerty");        cap.setTicketValidator(new MockTicketValidator(true));        try {            cap.afterPropertiesSet();            fail("Should have thrown IllegalArgumentException");        } catch (IllegalArgumentException expected) {            assertEquals("A statelessTicketCache must be set", expected.getMessage());        }    }    public void testDetectsMissingTicketValidator() throws Exception {        CasAuthenticationProvider cap = new CasAuthenticationProvider();        cap.setCasAuthoritiesPopulator(new MockAuthoritiesPopulator());        cap.setCasProxyDecider(new MockProxyDecider(true));        cap.setKey("qwerty");        cap.setStatelessTicketCache(new MockStatelessTicketCache());        try {            cap.afterPropertiesSet();            fail("Should have thrown IllegalArgumentException");        } catch (IllegalArgumentException expected) {            assertEquals("A ticketValidator must be set", expected.getMessage());        }    }    public void testGettersSetters() throws Exception {        CasAuthenticationProvider cap = new CasAuthenticationProvider();        cap.setCasAuthoritiesPopulator(new MockAuthoritiesPopulator());        cap.setCasProxyDecider(new MockProxyDecider());        cap.setKey("qwerty");        cap.setStatelessTicketCache(new MockStatelessTicketCache());        cap.setTicketValidator(new MockTicketValidator(true));        cap.afterPropertiesSet();        assertTrue(cap.getCasAuthoritiesPopulator() != null);        assertTrue(cap.getCasProxyDecider() != null);        assertEquals("qwerty", cap.getKey());        assertTrue(cap.getStatelessTicketCache() != null);        assertTrue(cap.getTicketValidator() != null);    }    public void testIgnoresClassesItDoesNotSupport() throws Exception {        CasAuthenticationProvider cap = new CasAuthenticationProvider();        cap.setCasAuthoritiesPopulator(new MockAuthoritiesPopulator());        cap.setCasProxyDecider(new MockProxyDecider());        cap.setKey("qwerty");        cap.setStatelessTicketCache(new MockStatelessTicketCache());        cap.setTicketValidator(new MockTicketValidator(true));        cap.afterPropertiesSet();        TestingAuthenticationToken token = new TestingAuthenticationToken("user", "password",                new GrantedAuthority[] {new GrantedAuthorityImpl("ROLE_A")});        assertFalse(cap.supports(TestingAuthenticationToken.class));        // Try it anyway        assertEquals(null, cap.authenticate(token));    }    public void testIgnoresUsernamePasswordAuthenticationTokensWithoutCasIdentifiersAsPrincipal()        throws Exception {        CasAuthenticationProvider cap = new CasAuthenticationProvider();        cap.setCasAuthoritiesPopulator(new MockAuthoritiesPopulator());        cap.setCasProxyDecider(new MockProxyDecider());        cap.setKey("qwerty");        cap.setStatelessTicketCache(new MockStatelessTicketCache());        cap.setTicketValidator(new MockTicketValidator(true));        cap.afterPropertiesSet();        UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken("some_normal_user",                "password", new GrantedAuthority[] {new GrantedAuthorityImpl("ROLE_A")});        assertEquals(null, cap.authenticate(token));    }    public void testSupports() {        CasAuthenticationProvider cap = new CasAuthenticationProvider();        assertTrue(cap.supports(UsernamePasswordAuthenticationToken.class));        assertTrue(cap.supports(CasAuthenticationToken.class));    }    //~ Inner Classes ==================================================================================================    private class MockAuthoritiesPopulator implements CasAuthoritiesPopulator {        public UserDetails getUserDetails(String casUserId)            throws AuthenticationException {            return makeUserDetailsFromAuthoritiesPopulator();        }    }    private class MockProxyDecider implements CasProxyDecider {        private boolean acceptProxy;        public MockProxyDecider(boolean acceptProxy) {            this.acceptProxy = acceptProxy;        }        private MockProxyDecider() {            super();        }        public void confirmProxyListTrusted(List proxyList)            throws ProxyUntrustedException {            if (acceptProxy) {                return;            } else {                throw new ProxyUntrustedException("As requested from mock");            }        }    }    private class MockStatelessTicketCache implements StatelessTicketCache {        private Map cache = new HashMap();        public CasAuthenticationToken getByTicketId(String serviceTicket) {            return (CasAuthenticationToken) cache.get(serviceTicket);        }        public void putTicketInCache(CasAuthenticationToken token) {            cache.put(token.getCredentials().toString(), token);        }        public void removeTicketFromCache(CasAuthenticationToken token) {            throw new UnsupportedOperationException("mock method not implemented");        }        public void removeTicketFromCache(String serviceTicket) {            throw new UnsupportedOperationException("mock method not implemented");        }    }    private class MockTicketValidator extends AbstractTicketValidator {        private boolean returnTicket;        public MockTicketValidator(boolean returnTicket) {            this.returnTicket = returnTicket;        }        private MockTicketValidator() {            super();        }        public TicketResponse confirmTicketValid(String serviceTicket)            throws AuthenticationException {            if (returnTicket) {                List list = new Vector();                list.add("https://localhost/portal/j_acegi_cas_security_check");                return new TicketResponse("marissa", list, "PGTIOU-0-R0zlgrl4pdAQwBvJWO3vnNpevwqStbSGcq3vKB2SqSFFRnjPHt");            }            throw new BadCredentialsException("As requested from mock");        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -