Skip to content
Snippets Groups Projects
Commit d6c8a952 authored by Adrian Damian's avatar Adrian Damian
Browse files

Added the core authorization classes - code review changes

parent 7e1babdb
No related branches found
No related tags found
No related merge requests found
projects/cadcUtil/doc/uml/UserAuth.png

17.6 KiB | W: | H:

projects/cadcUtil/doc/uml/UserAuth.png

16 KiB | W: | H:

projects/cadcUtil/doc/uml/UserAuth.png
projects/cadcUtil/doc/uml/UserAuth.png
projects/cadcUtil/doc/uml/UserAuth.png
projects/cadcUtil/doc/uml/UserAuth.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -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
......
......@@ -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;
}
......
......@@ -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
......
......@@ -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);
}
}
......@@ -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);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment