diff --git a/projects/cadcUtil/doc/uml/UserAuth.png b/projects/cadcUtil/doc/uml/UserAuth.png index 053d993747f04b238aa68e67445000713fca7e23..c36dfcc1fe9c2513edec0e715a4318b130ea89a2 100644 Binary files a/projects/cadcUtil/doc/uml/UserAuth.png and b/projects/cadcUtil/doc/uml/UserAuth.png differ diff --git a/projects/cadcUtil/src/ca/nrc/cadc/auth/model/Group.java b/projects/cadcUtil/src/ca/nrc/cadc/auth/model/Group.java index 41e2b98d1706e66387baab863ceecf23b0a23c31..30c155ceac2bcab7655029f42a0e9d4d013f308f 100644 --- a/projects/cadcUtil/src/ca/nrc/cadc/auth/model/Group.java +++ b/projects/cadcUtil/src/ca/nrc/cadc/auth/model/Group.java @@ -170,88 +170,11 @@ public class Group return false; } Group other = (Group) obj; - if (description == null) - { - if (other.description != null) - { - return false; - } - } - else if (!description.equals(other.description)) - { - return false; - } - if (groupRead == null) - { - if (other.groupRead != null) - { - return false; - } - } - else if (!groupRead.equals(other.groupRead)) - { - return false; - } - if (groupWrite == null) - { - if (other.groupWrite != null) - { - return false; - } - } - else if (!groupWrite.equals(other.groupWrite)) - { - return false; - } - if (groupID == null) - { - if (other.groupID != null) - { - return false; - } - } - else if (!groupID.equals(other.groupID)) - { - return false; - } - if (groupMembers == null) - { - if (other.groupMembers != null) - { - return false; - } - } - else if (!groupMembers.equals(other.groupMembers)) - { - return false; - } - if (!owner.equals(other.owner)) - { - return false; - } - if (properties == null) - { - if (other.properties != null) - { - return false; - } - } - else if (!properties.equals(other.properties)) - { - return false; - } - if (userMembers == null) - { - if (other.userMembers != null) - { - return false; - } - } - else if (!userMembers.equals(other.userMembers)) + if (!groupID.equals(other.groupID)) { return false; } - return (publicRead == other.publicRead); + return true; } @Override diff --git a/projects/cadcUtil/src/ca/nrc/cadc/auth/model/PosixDetails.java b/projects/cadcUtil/src/ca/nrc/cadc/auth/model/PosixDetails.java index dd8ea444040d0ca5f02939ee87f40c032bc5c18d..ba6cf69f504e5a914a79b4835278d326657bc0f8 100644 --- a/projects/cadcUtil/src/ca/nrc/cadc/auth/model/PosixDetails.java +++ b/projects/cadcUtil/src/ca/nrc/cadc/auth/model/PosixDetails.java @@ -139,21 +139,6 @@ public class PosixDetails { return false; } - if (loginShell == null) - { - if (other.loginShell != null) - { - return false; - } - } - else if (!loginShell.equals(other.loginShell)) - { - return false; - } - if (uid != other.uid) - { - return false; - } return true; } diff --git a/projects/cadcUtil/src/ca/nrc/cadc/auth/model/User.java b/projects/cadcUtil/src/ca/nrc/cadc/auth/model/User.java index f455ad983e0eeddebd973bce98dd0e76859d1094..74ab9ad64f170ed2a1de9333fbf9da82afb13f19 100644 --- a/projects/cadcUtil/src/ca/nrc/cadc/auth/model/User.java +++ b/projects/cadcUtil/src/ca/nrc/cadc/auth/model/User.java @@ -108,30 +108,7 @@ public class User<T extends Principal> { return false; } - if (userDetails == null) - { - if (other.userDetails != null) - { - return false; - } - } - else if (!userDetails.equals(other.userDetails)) - { - return false; - } - if (posixDetails == null) - { - if (other.posixDetails != null) - { - return false; - } - } - else if (!posixDetails.equals(other.posixDetails)) - { - return false; - } - return this.getPrincipals().equals(other.getPrincipals()); - + return true; } @Override diff --git a/projects/cadcUtil/test/src/ca/nrc/cadc/auth/model/GroupTest.java b/projects/cadcUtil/test/src/ca/nrc/cadc/auth/model/GroupTest.java index 2fb6f9cea6101e31b6de7d5ac60dd478a2ca2754..85c45dcbd9c25e8757a507b4ebb2049baf615bb2 100644 --- a/projects/cadcUtil/test/src/ca/nrc/cadc/auth/model/GroupTest.java +++ b/projects/cadcUtil/test/src/ca/nrc/cadc/auth/model/GroupTest.java @@ -64,53 +64,33 @@ public class GroupTest group2 = new Group("TestGroup", owner); assertEquals(group1.hashCode(), group2.hashCode()); - assertFalse(group1.equals(group2)); + assertEquals(group1,group2); group2.getUserMembers().add(user); assertEquals(group1.hashCode(), group2.hashCode()); - assertEquals(group1, group2); + assertEquals(group1,group2); group1.getGroupMembers().add(group2); assertEquals(group1.hashCode(), group2.hashCode()); - assertFalse(group1.equals(group2)); - - group2.getGroupMembers().add(group2); - assertEquals(group1.hashCode(), group2.hashCode()); - assertEquals(group1, group2); + assertEquals(group1,group2); group1.description = "Test group"; assertEquals(group1.hashCode(), group2.hashCode()); - assertFalse(group1.equals(group2)); - - group2.description = "Test group"; - assertEquals(group1.hashCode(), group2.hashCode()); - assertEquals(group1, group2); + assertEquals(group1,group2); // group read and write equality tests group1.groupRead = group2; assertEquals(group1.hashCode(), group2.hashCode()); - assertFalse(group1.equals(group2)); - - group2.groupRead = group2; - assertEquals(group1.hashCode(), group2.hashCode()); - assertEquals(group1, group2); + assertEquals(group1,group2); // group write equality tests group1.groupWrite = group2; assertEquals(group1.hashCode(), group2.hashCode()); - assertFalse(group1.equals(group2)); - - group2.groupWrite = group2; - assertEquals(group1.hashCode(), group2.hashCode()); - assertEquals(group1, group2); - + assertEquals(group1,group2); + group1.publicRead = true; assertEquals(group1.hashCode(), group2.hashCode()); - assertFalse(group1.equals(group2)); - - group2.publicRead = true; - assertEquals(group1.hashCode(), group2.hashCode()); - assertEquals(group1, group2); + assertEquals(group1,group2); group2 = new Group("NewTestGroup", owner); assertFalse(group1.hashCode() == group2.hashCode()); @@ -119,4 +99,31 @@ public class GroupTest // test toString System.out.println(group1); } + + @Test + public void exceptionTests() + { + boolean thrown = false; + try + { + new Group(null, new User<HttpPrincipal>(new HttpPrincipal("owner"))); + } + catch(IllegalArgumentException e) + { + thrown = true; + } + assertTrue(thrown); + + + thrown = false; + try + { + new Group("NewTestGroup", null); + } + catch(IllegalArgumentException e) + { + thrown = true; + } + assertTrue(thrown); + } } diff --git a/projects/cadcUtil/test/src/ca/nrc/cadc/auth/model/UserTest.java b/projects/cadcUtil/test/src/ca/nrc/cadc/auth/model/UserTest.java index c87163ed805b65b6e4ccb429c34ea0e8eb6c6bef..547b37d44244bf9debb9506374fd14daf5907022 100644 --- a/projects/cadcUtil/test/src/ca/nrc/cadc/auth/model/UserTest.java +++ b/projects/cadcUtil/test/src/ca/nrc/cadc/auth/model/UserTest.java @@ -36,7 +36,7 @@ package ca.nrc.cadc.auth.model; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotSame; +import static org.junit.Assert.assertTrue; import javax.security.auth.x500.X500Principal; @@ -45,6 +45,7 @@ import org.junit.Test; import ca.nrc.cadc.auth.HttpPrincipal; import ca.nrc.cadc.auth.NumericPrincipal; +import ca.nrc.cadc.auth.OpenIdPrincipal; public class UserTest { @@ -66,13 +67,10 @@ public class UserTest user1.userDetails = new UserDetails("Joe", "Raymond", "jr@email.com", "123 Street", "CADC", "Victoria", "CA"); - assertFalse(user1.equals(user2)); - assertEquals(user1.hashCode(), user2.hashCode()); - - user2.userDetails = user1.userDetails; assertEquals(user1, user2); assertEquals(user1.hashCode(), user2.hashCode()); + User<X500Principal> user3 = new User<X500Principal>( new X500Principal("cn=aaa,ou=ca")); User<HttpPrincipal> user4 = new User<HttpPrincipal>( @@ -81,20 +79,12 @@ public class UserTest assertFalse(user3.hashCode() == user4.hashCode()); user1.getPrincipals().add(new X500Principal("cn=aaa,ou=ca")); - assertFalse(user1.equals(user2)); - assertEquals(user1.hashCode(), user2.hashCode()); - - user2.getPrincipals().add(new X500Principal("cn=aaa,ou=ca")); - assertEquals(user1, user1); + assertEquals(user1, user2); assertEquals(user1.hashCode(), user2.hashCode()); user1.posixDetails = new PosixDetails(12, 23, "/home/myhome"); - assertFalse(user1.equals(user2)); - assertEquals(user1.hashCode(), user2.hashCode()); - - user2.getPrincipals().add(new X500Principal("cn=aaa,ou=ca")); - assertEquals(user1, user1); + assertEquals(user1, user2); assertEquals(user1.hashCode(), user2.hashCode()); User<NumericPrincipal> user5 = new User<NumericPrincipal>( @@ -107,4 +97,136 @@ public class UserTest System.out.println(user1.posixDetails); } + + @Test + public void exceptionTests() + { + boolean thrown = false; + try + { + new User<NumericPrincipal>(null); + } + catch(IllegalArgumentException e) + { + thrown = true; + } + assertTrue(thrown); + + thrown = false; + try + { + new UserDetails(null, "Raymond", + "jr@email.com", "123 Street", "CADC", "Victoria", "CA"); + } + catch(IllegalArgumentException e) + { + thrown = true; + } + assertTrue(thrown); + + thrown = false; + try + { + new UserDetails("Joe", null, + "jr@email.com", "123 Street", "CADC", "Victoria", "CA"); + } + catch(IllegalArgumentException e) + { + thrown = true; + } + assertTrue(thrown); + + thrown = false; + try + { + new UserDetails("Joe", "Raymond", + null, "123 Street", "CADC", "Victoria", "CA"); + } + catch(IllegalArgumentException e) + { + thrown = true; + } + assertTrue(thrown); + + thrown = false; + try + { + new UserDetails("Joe", "Raymond", + "jr@email.com", null, "CADC", "Victoria", "CA"); + } + catch(IllegalArgumentException e) + { + thrown = true; + } + assertTrue(thrown); + + thrown = false; + try + { + new UserDetails("Joe", "Raymond", + "jr@email.com", "123 Street", null, "Victoria", "CA"); + } + catch(IllegalArgumentException e) + { + thrown = true; + } + assertTrue(thrown); + + thrown = false; + try + { + new UserDetails("Joe", "Raymond", + "jr@email.com", "123 Street", "CADC", null, "CA"); + } + catch(IllegalArgumentException e) + { + thrown = true; + } + assertTrue(thrown); + + thrown = false; + try + { + new UserDetails("Joe", "Raymond", + "jr@email.com", "123 Street", "CADC", "Victoria", null); + } + catch(IllegalArgumentException e) + { + thrown = true; + } + assertTrue(thrown); + + thrown = false; + try + { + new PosixDetails(11, 22, null); + } + catch(IllegalArgumentException e) + { + thrown = true; + } + assertTrue(thrown); + + thrown = false; + try + { + new HttpPrincipal(null); + } + catch(IllegalArgumentException e) + { + thrown = true; + } + assertTrue(thrown); + + thrown = false; + try + { + new OpenIdPrincipal(null); + } + catch(IllegalArgumentException e) + { + thrown = true; + } + assertTrue(thrown); + } }