From 88abf72c269702db3cf7ccc44c35d897f9c17722 Mon Sep 17 00:00:00 2001 From: jmoore Date: Thu, 8 Apr 2010 16:49:51 +0000 Subject: [PATCH] fix #2025 - Fixing ldap tests post-refactoring (see #1382) With this commit, the basic reconfiguration of LDAP is finished. Usability and performance improvements should be added to #1382 git-svn-id: file:///home/svn/omero/trunk@6550 05709c45-44f0-0310-885b-81a1db45b4a6 --- .../test/ome/server/itests/sec/LdapTest.java | 26 ++----------- .../server/itests/sec/MethodSecurityTest.java | 4 +- .../ome/server/itests/sec/MockedLdapTest.java | 37 ++++-------------- .../server/utests/sec/MethodSecurityTest.java | 6 +-- .../ome/server/utests/sec/PasswordTest.java | 39 ++++++++++--------- 5 files changed, 37 insertions(+), 75 deletions(-) diff --git a/components/server/test/ome/server/itests/sec/LdapTest.java b/components/server/test/ome/server/itests/sec/LdapTest.java index 210226837d5..e11fe5729a6 100644 --- a/components/server/test/ome/server/itests/sec/LdapTest.java +++ b/components/server/test/ome/server/itests/sec/LdapTest.java @@ -65,8 +65,8 @@ public void testSearchByAttribute() throws Exception { @Test public void testSearchByAttributes() throws Exception { if (iLdap.getSetting()) { - String[] attrs = iLdap.getReqAttributes(); - String[] vals = iLdap.getReqValues(); + String[] attrs = new String[0]; + String[] vals = new String[0]; List exps = iLdap.searchByAttributes("", attrs, vals); @@ -120,22 +120,6 @@ public void testFindExp() throws Exception { } } - @Test - public void testSearchAttributes() throws Exception { - if (iLdap.getSetting()) { - iLdap.getReqAttributes(); - } - - } - - @Test - public void testValidatePassword() throws Exception { - if (iLdap.getSetting()) { - System.err.println(iLdap.validatePassword( - "cn=jsmith, ou=people, ou=example, o=com", "passwd")); - } - } - @Test public void testCreateUserFromLdap() throws Exception { if(iLdap.getSetting()) { @@ -143,7 +127,8 @@ public void testCreateUserFromLdap() throws Exception { try { exp = iAdmin.lookupExperimenter("jmoore"); } catch (ApiUsageException e) { - iLdap.createUserFromLdap("jmoore", "XXX"); + // iLdap.createUserFromLdap("jmoore", "XXX"); + fail(); } if(exp!=null) @@ -156,9 +141,6 @@ public void testCreateUserFromLdap() throws Exception { public void testGetReq() throws Exception { if(iLdap.getSetting()) { iLdap.getSetting(); - iLdap.getReqAttributes(); - iLdap.getReqGroups(); - iLdap.getReqValues(); } } diff --git a/components/server/test/ome/server/itests/sec/MethodSecurityTest.java b/components/server/test/ome/server/itests/sec/MethodSecurityTest.java index 9fad8fb6834..fc2e61c29ce 100644 --- a/components/server/test/ome/server/itests/sec/MethodSecurityTest.java +++ b/components/server/test/ome/server/itests/sec/MethodSecurityTest.java @@ -8,7 +8,7 @@ import java.util.List; -import ome.security.PasswordUtil; +import ome.security.auth.PasswordUtil; import ome.security.basic.BasicMethodSecurity; import ome.server.itests.AbstractManagedContextTest; import ome.services.sessions.SessionManager; @@ -33,7 +33,7 @@ public void testUserRoles() throws Exception { msec = new BasicMethodSecurity(); msec.setSessionManager(mgr); - List roles = PasswordUtil.userGroups(jdbc, "root"); + List roles = new PasswordUtil(jdbc).userGroups("root"); assertTrue(roles.size() >= 2); boolean found = false; for (int i = 0; i < roles.size(); i++) { diff --git a/components/server/test/ome/server/itests/sec/MockedLdapTest.java b/components/server/test/ome/server/itests/sec/MockedLdapTest.java index a5ad407f7a9..bcf0a13448d 100644 --- a/components/server/test/ome/server/itests/sec/MockedLdapTest.java +++ b/components/server/test/ome/server/itests/sec/MockedLdapTest.java @@ -8,10 +8,11 @@ import java.util.List; -import ome.api.local.LocalLdap; +import ome.api.ILdap; import ome.logic.LdapImpl; import ome.model.meta.Experimenter; import ome.server.itests.AbstractManagedContextTest; +import ome.system.Roles; import org.jmock.Mock; import org.springframework.ldap.core.LdapOperations; @@ -26,7 +27,7 @@ public class MockedLdapTest extends AbstractManagedContextTest { // Using local versions since we need to mock them. - LocalLdap ldap; + ILdap ldap; Mock mock; LdapOperations ops; @@ -35,8 +36,8 @@ public void setup() { mock = new Mock(LdapOperations.class); ops = (LdapOperations) mock.proxy(); - LdapImpl limpl = new LdapImpl(null, ops, jdbcTemplate, "default", - "groups", "attributes", "values", true); + LdapImpl limpl = new LdapImpl(null, null, new Roles(), + null, null, null); ldap = limpl; } @@ -62,8 +63,8 @@ public void testSearchByAttribute() throws Exception { @Test public void testSearchByAttributes() throws Exception { - String[] attrs = ldap.getReqAttributes(); - String[] vals = ldap.getReqValues(); + String[] attrs = new String[0]; + String[] vals = new String[0]; List exps = ldap.searchByAttributes("", attrs, vals); @@ -104,28 +105,4 @@ public void testFindExp() throws Exception { } } - @Test - public void testSearchAttributes() throws Exception { - ldap.getReqAttributes(); - } - - @Test - public void testValidatePassword() throws Exception { - ldap.validatePassword("cn=jsmith, ou=people, ou=example, o=com", - "passwd"); - } - - @Test - public void testCreateUserFromLdap() throws Exception { - ldap.createUserFromLdap("jmoore", "XXX"); - } - - @Test - public void testGetReq() throws Exception { - ldap.getSetting(); - ldap.getReqAttributes(); - ldap.getReqGroups(); - ldap.getReqValues(); - } - } \ No newline at end of file diff --git a/components/server/test/ome/server/utests/sec/MethodSecurityTest.java b/components/server/test/ome/server/utests/sec/MethodSecurityTest.java index 7e750e4fba7..e84f858e944 100644 --- a/components/server/test/ome/server/utests/sec/MethodSecurityTest.java +++ b/components/server/test/ome/server/utests/sec/MethodSecurityTest.java @@ -77,7 +77,7 @@ public void testCheckMethodThrowsException() throws Exception { mockMgr.expects(once()).method("getUserRoles").will(returnValue(roles)); try { - msec.checkMethod(new AdminImpl(null, null, null, null, null, null, null), + msec.checkMethod(new AdminImpl(null, null, null, null, null, null, null, null, null), sync, p); } finally { check(); @@ -94,7 +94,7 @@ public void testCheckMethodAllowsExecution() throws Exception { mockMgr.expects(once()).method("getUserRoles").will(returnValue(roles)); try { - msec.checkMethod(new AdminImpl(null, null, null, null,null, null, null), + msec.checkMethod(new AdminImpl(null, null, null, null,null, null, null, null, null), ec, p); } finally { check(); @@ -113,7 +113,7 @@ public void testCheckMethodAllowsExecutionEvenOnProxy() throws Exception { ProxyFactory factory = new ProxyFactory(); factory.setInterfaces(new Class[] { IAdmin.class }); - factory.setTarget(new AdminImpl(null, null, null, null, null, null, null)); + factory.setTarget(new AdminImpl(null, null, null, null, null, null, null, null, null)); factory.addAdvice(new JamonPerformanceMonitorInterceptor()); IAdmin proxy = (IAdmin) factory.getProxy(); try { diff --git a/components/server/test/ome/server/utests/sec/PasswordTest.java b/components/server/test/ome/server/utests/sec/PasswordTest.java index 4d7d2cc0f76..1e9a73be3df 100644 --- a/components/server/test/ome/server/utests/sec/PasswordTest.java +++ b/components/server/test/ome/server/utests/sec/PasswordTest.java @@ -10,6 +10,7 @@ import ome.api.ILdap; import ome.conditions.ApiUsageException; +import ome.logic.LdapImpl; import ome.security.auth.ConfigurablePasswordProvider; import ome.security.auth.FilePasswordProvider; import ome.security.auth.JdbcPasswordProvider; @@ -17,6 +18,7 @@ import ome.security.auth.PasswordChangeException; import ome.security.auth.PasswordProvider; import ome.security.auth.PasswordProviders; +import ome.security.auth.PasswordUtil; import ome.security.auth.PasswordUtility; import org.jmock.Mock; @@ -54,7 +56,7 @@ static class PP extends ConfigurablePasswordProvider { SimpleJdbcOperations jdbc; - ILdap ldap; + LdapImpl ldap; protected void initJdbc() { mockJdbc = mock(SimpleJdbcOperations.class); @@ -64,7 +66,8 @@ protected void initJdbc() { protected void initLdap(boolean setting) { initJdbc(); mockLdap = mock(ILdap.class); - ldap = (ILdap) mockLdap.proxy(); + // ldap = (ILdap) mockLdap.proxy(); + ldap = null; // FIXME mockLdap.expects(atLeastOnce()).method("getSetting").will( returnValue(setting)); } @@ -93,21 +96,21 @@ public void testConfigurableDefaultsThrows() throws Exception { // FILE public void testFileDefaults() throws Exception { - provider = new FilePasswordProvider(file); + provider = new FilePasswordProvider(null, file); assertTrue(provider.hasPassword("test")); assertTrue(provider.checkPassword("test", "test")); assertFalse(provider.checkPassword("unknown", "anything")); } public void testFilesDontIgnoreUnknownReturnsNull() throws Exception { - provider = new FilePasswordProvider(file, true); + provider = new FilePasswordProvider(null, file, true); assertFalse(provider.hasPassword("unknown")); assertNull(provider.checkPassword("unknown", "anything")); } @Test(expectedExceptions = PasswordChangeException.class) public void testFilesThrowsOnChange() throws Exception { - provider = new FilePasswordProvider(file, true); + provider = new FilePasswordProvider(null, file, true); provider.changePassword("test", "something new"); } @@ -115,7 +118,7 @@ public void testFilesThrowsOnChange() throws Exception { public void tesJdbcDefaults() throws Exception { initJdbc(); - provider = new JdbcPasswordProvider(jdbc); + provider = new JdbcPasswordProvider(new PasswordUtil(jdbc)); userIdReturns1(); provider.hasPassword("test"); @@ -136,14 +139,14 @@ public void tesJdbcDefaults() throws Exception { public void tesJdbcIgnoreUnknownReturnsFalse() throws Exception { initJdbc(); userIdReturnsNull(); - provider = new JdbcPasswordProvider(jdbc); + provider = new JdbcPasswordProvider(new PasswordUtil(jdbc)); assertFalse(provider.checkPassword("unknown", "anything")); } public void tesJdbcDontIgnoreUnknownReturnsNull() throws Exception { initJdbc(); userIdReturnsNull(); - provider = new JdbcPasswordProvider(jdbc, true); + provider = new JdbcPasswordProvider(new PasswordUtil(jdbc), true); assertNull(provider.checkPassword("unknown", "anything")); } @@ -151,7 +154,7 @@ public void testJdbcChangesPassword() throws Exception { initJdbc(); userIdReturns1(); mockJdbc.expects(once()).method("update").will(returnValue(1)); - provider = new JdbcPasswordProvider(jdbc); + provider = new JdbcPasswordProvider(new PasswordUtil(jdbc)); provider.changePassword("a", "b"); } @@ -159,7 +162,7 @@ public void testJdbcChangesPassword() throws Exception { public void testJdbcThrowsOnBadUsername() throws Exception { initJdbc(); userIdReturnsNull(); - provider = new JdbcPasswordProvider(jdbc); + provider = new JdbcPasswordProvider(new PasswordUtil(jdbc)); provider.changePassword("a", "b"); } @@ -167,7 +170,7 @@ public void testJdbcThrowsOnBadUsername() throws Exception { public void tesLdapDefaults() throws Exception { initLdap(true); - provider = new LdapPasswordProvider(ldap, jdbc); + provider = new LdapPasswordProvider(new PasswordUtil(jdbc), ldap); String encoded = ((PasswordUtility) provider).encodePassword("test"); queryForObjectReturns(encoded); @@ -196,7 +199,7 @@ public void tesLdapIgnoreUnknownCreatesFailsReturnsFalse() throws Exception { initLdap(true); userIdReturnsNull(); ldapCreatesUser(false); - provider = new LdapPasswordProvider(ldap, jdbc, true); + provider = new LdapPasswordProvider(new PasswordUtil(jdbc), ldap, true); assertNull(provider.checkPassword("unknown", "anything")); } @@ -205,7 +208,7 @@ public void tesLdapIgnoreUnknownCreatesSucceedsReturnsTrue() initLdap(true); userIdReturnsNull(); ldapCreatesUser(true); - provider = new LdapPasswordProvider(ldap, jdbc, true); + provider = new LdapPasswordProvider(new PasswordUtil(jdbc), ldap, true); assertTrue(provider.checkPassword("unknown", "anything")); } @@ -213,7 +216,7 @@ public void tesLdapIgnoreUnknownCreatesThrows() throws Exception { initLdap(true); userIdReturnsNull(); ldapCreatesUserAndThrows(); - provider = new LdapPasswordProvider(ldap, jdbc, true); + provider = new LdapPasswordProvider(new PasswordUtil(jdbc), ldap, true); assertNull(provider.checkPassword("unknown", "anything")); } @@ -222,7 +225,7 @@ public void tesLdapDontIgnoreUnknownCreatesFailsReturnsFalse() initLdap(true); userIdReturnsNull(); ldapCreatesUser(false); - provider = new LdapPasswordProvider(ldap, jdbc, false); + provider = new LdapPasswordProvider(new PasswordUtil(jdbc), ldap, false); assertFalse(provider.checkPassword("unknown", "anything")); } @@ -231,7 +234,7 @@ public void tesLdapDontIgnoreUnknownCreatesSucceedsReturnsTrue() initLdap(true); userIdReturnsNull(); ldapCreatesUser(true); - provider = new LdapPasswordProvider(ldap, jdbc, false); + provider = new LdapPasswordProvider(new PasswordUtil(jdbc), ldap, false); assertTrue(provider.checkPassword("unknown", "anything")); } @@ -239,14 +242,14 @@ public void tesLdapDontIgnoreUnknownCreatesThrows() throws Exception { initLdap(true); userIdReturnsNull(); ldapCreatesUserAndThrows(); - provider = new LdapPasswordProvider(ldap, jdbc, false); + provider = new LdapPasswordProvider(new PasswordUtil(jdbc), ldap, false); assertFalse(provider.checkPassword("unknown", "anything")); } @Test(expectedExceptions = PasswordChangeException.class) public void testLdapChangesPasswordThrows() throws Exception { initLdap(true); - provider = new LdapPasswordProvider(ldap, jdbc); + provider = new LdapPasswordProvider(new PasswordUtil(jdbc), ldap); provider.changePassword("a", "b"); }