diff --git a/core/src/test/java/org/acegisecurity/GrantedAuthorityImplTests.java b/core/src/test/java/org/acegisecurity/GrantedAuthorityImplTests.java new file mode 100644 index 0000000000..cb27b6fc32 --- /dev/null +++ b/core/src/test/java/org/acegisecurity/GrantedAuthorityImplTests.java @@ -0,0 +1,90 @@ +/* Copyright 2004 Acegi Technology Pty Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.sf.acegisecurity; + +import junit.framework.TestCase; + + +/** + * Tests {@link GrantedAuthorityImpl} + * + * @author Ben Alex + * @version $Id$ + */ +public class GrantedAuthorityImplTests extends TestCase { + //~ Constructors =========================================================== + + public GrantedAuthorityImplTests() { + super(); + } + + public GrantedAuthorityImplTests(String arg0) { + super(arg0); + } + + //~ Methods ================================================================ + + public final void setUp() throws Exception { + super.setUp(); + } + + public static void main(String[] args) { + junit.textui.TestRunner.run(GrantedAuthorityImplTests.class); + } + + public void testObjectEquals() throws Exception { + GrantedAuthorityImpl auth1 = new GrantedAuthorityImpl("TEST"); + GrantedAuthorityImpl auth2 = new GrantedAuthorityImpl("TEST"); + assertEquals(auth1, auth2); + + String authString1 = "TEST"; + assertEquals(auth1, authString1); + + String authString2 = "NOT_EQUAL"; + assertTrue(!auth1.equals(authString2)); + + GrantedAuthorityImpl auth3 = new GrantedAuthorityImpl("NOT_EQUAL"); + assertTrue(!auth1.equals(auth3)); + + MockGrantedAuthorityImpl mock1 = new MockGrantedAuthorityImpl("TEST"); + assertEquals(auth1, mock1); + + MockGrantedAuthorityImpl mock2 = new MockGrantedAuthorityImpl( + "NOT_EQUAL"); + assertTrue(!auth1.equals(mock2)); + + Integer int1 = new Integer(222); + assertTrue(!auth1.equals(int1)); + } + + //~ Inner Classes ========================================================== + + private class MockGrantedAuthorityImpl implements GrantedAuthority { + private String role; + + public MockGrantedAuthorityImpl(String role) { + this.role = role; + } + + private MockGrantedAuthorityImpl() { + super(); + } + + public String getAuthority() { + return this.role; + } + } +} diff --git a/core/src/test/java/org/acegisecurity/adapters/PrincipalAcegiUserTokenTests.java b/core/src/test/java/org/acegisecurity/adapters/PrincipalAcegiUserTokenTests.java new file mode 100644 index 0000000000..08924b4335 --- /dev/null +++ b/core/src/test/java/org/acegisecurity/adapters/PrincipalAcegiUserTokenTests.java @@ -0,0 +1,105 @@ +/* Copyright 2004 Acegi Technology Pty Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.sf.acegisecurity.adapters; + +import junit.framework.TestCase; + +import net.sf.acegisecurity.GrantedAuthority; +import net.sf.acegisecurity.GrantedAuthorityImpl; + + +/** + * Tests {@link net.sf.acegisecurity.adapters.PrincipalAcegiUserToken} + * + * @author Ben Alex + * @version $Id$ + */ +public class PrincipalAcegiUserTokenTests extends TestCase { + //~ Constructors =========================================================== + + public PrincipalAcegiUserTokenTests() { + super(); + } + + public PrincipalAcegiUserTokenTests(String arg0) { + super(arg0); + } + + //~ Methods ================================================================ + + public final void setUp() throws Exception { + super.setUp(); + } + + public static void main(String[] args) { + junit.textui.TestRunner.run(PrincipalAcegiUserTokenTests.class); + } + + public void testGetters() throws Exception { + PrincipalAcegiUserToken token = new PrincipalAcegiUserToken("my_password", + "Test", "Password", + new GrantedAuthority[] {new GrantedAuthorityImpl("ROLE_ONE"), new GrantedAuthorityImpl( + "ROLE_TWO")}); + assertEquals("Test", token.getPrincipal()); + assertEquals("Password", token.getCredentials()); + assertEquals("my_password".hashCode(), token.getKeyHash()); + } + + public void testObjectsEquals() throws Exception { + PrincipalAcegiUserToken token1 = new PrincipalAcegiUserToken("my_password", + "Test", "Password", + new GrantedAuthority[] {new GrantedAuthorityImpl("ROLE_ONE"), new GrantedAuthorityImpl( + "ROLE_TWO")}); + PrincipalAcegiUserToken token2 = new PrincipalAcegiUserToken("my_password", + "Test", "Password", + new GrantedAuthority[] {new GrantedAuthorityImpl("ROLE_ONE"), new GrantedAuthorityImpl( + "ROLE_TWO")}); + System.out.println("Token 1:" + token1.toString() + " hash of pass " + + token1.getKeyHash()); + System.out.println("Token 2:" + token2.toString() + " hash of pass " + + token2.getKeyHash()); + assertEquals(token1, token2); + + PrincipalAcegiUserToken token3 = new PrincipalAcegiUserToken("my_password", + "Test", "Password_Changed", + new GrantedAuthority[] {new GrantedAuthorityImpl("ROLE_ONE"), new GrantedAuthorityImpl( + "ROLE_TWO")}); + assertTrue(!token1.equals(token3)); + + PrincipalAcegiUserToken token4 = new PrincipalAcegiUserToken("my_password", + "Test_Changed", "Password", + new GrantedAuthority[] {new GrantedAuthorityImpl("ROLE_ONE"), new GrantedAuthorityImpl( + "ROLE_TWO")}); + assertTrue(!token1.equals(token4)); + + PrincipalAcegiUserToken token5 = new PrincipalAcegiUserToken("password_changed", + "Test", "Password", + new GrantedAuthority[] {new GrantedAuthorityImpl("ROLE_ONE"), new GrantedAuthorityImpl( + "ROLE_TWO")}); + assertTrue(!token1.equals(token5)); + + PrincipalAcegiUserToken token6 = new PrincipalAcegiUserToken("my_password", + "Test", "Password", + new GrantedAuthority[] {new GrantedAuthorityImpl("ROLE_ONE"), new GrantedAuthorityImpl( + "ROLE_TWO_CHANGED")}); + assertTrue(!token1.equals(token6)); + + PrincipalAcegiUserToken token7 = new PrincipalAcegiUserToken("my_password", + "Test", "Password", + new GrantedAuthority[] {new GrantedAuthorityImpl("ROLE_ONE")}); + assertTrue(!token1.equals(token7)); + } +}