[jboss-cvs] JBoss Messaging SVN: r4584 - trunk/tests/src/org/jboss/messaging/tests/unit/core/security/impl.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Jun 25 16:36:50 EDT 2008
Author: timfox
Date: 2008-06-25 16:36:50 -0400 (Wed, 25 Jun 2008)
New Revision: 4584
Modified:
trunk/tests/src/org/jboss/messaging/tests/unit/core/security/impl/SecurityStoreImplTest.java
Log:
Completed test
Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/security/impl/SecurityStoreImplTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/security/impl/SecurityStoreImplTest.java 2008-06-25 20:04:13 UTC (rev 4583)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/security/impl/SecurityStoreImplTest.java 2008-06-25 20:36:50 UTC (rev 4584)
@@ -80,9 +80,23 @@
//pass
}
}
-
+
public void testSuccessfulCheck() throws Exception
{
+ testSuccessfulCheck(CheckType.CREATE);
+ testSuccessfulCheck(CheckType.READ);
+ testSuccessfulCheck(CheckType.WRITE);
+ }
+
+ public void testUnsuccessfulCheck() throws Exception
+ {
+ testUnsuccessfulCheck(CheckType.CREATE);
+ testUnsuccessfulCheck(CheckType.READ);
+ testUnsuccessfulCheck(CheckType.WRITE);
+ }
+
+ public void testSuccessfulCheckInvalidateCache() throws Exception
+ {
JBMSecurityManager securityManager = EasyMock.createStrictMock(JBMSecurityManager.class);
securityStore.setSecurityManager(securityManager);
//noinspection unchecked
@@ -97,23 +111,29 @@
EasyMock.expect(serverConnection.getUsername()).andReturn("user");
EasyMock.expect(serverConnection.getPassword()).andReturn("password");
EasyMock.expect(securityManager.validateUserAndRole("user", "password", roles, CheckType.CREATE)).andReturn(true);
- EasyMock.replay(repository);
- EasyMock.replay(securityManager);
- EasyMock.replay(serverConnection);
+ EasyMock.expect(repository.getMatch(address.toString())).andReturn(roles);
+ EasyMock.expect(serverConnection.getUsername()).andReturn("user");
+ EasyMock.expect(serverConnection.getPassword()).andReturn("password");
+ EasyMock.expect(securityManager.validateUserAndRole("user", "password", roles, CheckType.CREATE)).andReturn(true);
+ EasyMock.replay(repository, securityManager, serverConnection);
securityStore.setSecurityRepository(repository);
securityStore.check(address, CheckType.CREATE, serverConnection);
- //now checked its cached
- EasyMock.reset(repository);
- EasyMock.reset(securityManager);
- EasyMock.reset(serverConnection);
- EasyMock.replay(repository);
- EasyMock.replay(securityManager);
+ securityStore.onChange();
securityStore.check(address, CheckType.CREATE, serverConnection);
-
+ EasyMock.verify(repository, securityManager, serverConnection);
}
- public void testUnsuccessfulCheck() throws Exception
+ public void testSuccessfulCheckTimeoutCache() throws Exception
{
+ testSuccessfulCheckTimeoutCache(CheckType.CREATE);
+ testSuccessfulCheckTimeoutCache(CheckType.READ);
+ testSuccessfulCheckTimeoutCache(CheckType.WRITE);
+ }
+
+ // Private -----------------------------------------------------------------------
+
+ private void testSuccessfulCheck(final CheckType checkType) throws Exception
+ {
JBMSecurityManager securityManager = EasyMock.createStrictMock(JBMSecurityManager.class);
securityStore.setSecurityManager(securityManager);
//noinspection unchecked
@@ -127,23 +147,19 @@
ServerConnection serverConnection = EasyMock.createNiceMock(ServerConnection.class);
EasyMock.expect(serverConnection.getUsername()).andReturn("user");
EasyMock.expect(serverConnection.getPassword()).andReturn("password");
- EasyMock.expect(securityManager.validateUserAndRole("user", "password", roles, CheckType.CREATE)).andReturn(false);
- EasyMock.replay(repository);
- EasyMock.replay(securityManager);
- EasyMock.replay(serverConnection);
+ EasyMock.expect(securityManager.validateUserAndRole("user", "password", roles, checkType)).andReturn(true);
+ EasyMock.replay(repository, securityManager, serverConnection);
securityStore.setSecurityRepository(repository);
- try
- {
- securityStore.check(address, CheckType.CREATE, serverConnection);
- fail("should throw exception");
- }
- catch (Exception e)
- {
- //pass
- }
+ securityStore.check(address, checkType, serverConnection);
+ EasyMock.verify(repository, securityManager, serverConnection);
+ //now checked its cached
+ EasyMock.reset(repository, securityManager, serverConnection);
+ EasyMock.replay(repository, securityManager, serverConnection);
+ securityStore.check(address, checkType, serverConnection);
+ EasyMock.verify(repository, securityManager, serverConnection);
}
-
- public void testSuccessfulCheckInvalidateCache() throws Exception
+
+ private void testUnsuccessfulCheck(final CheckType checkType) throws Exception
{
JBMSecurityManager securityManager = EasyMock.createStrictMock(JBMSecurityManager.class);
securityStore.setSecurityManager(securityManager);
@@ -158,24 +174,24 @@
ServerConnection serverConnection = EasyMock.createNiceMock(ServerConnection.class);
EasyMock.expect(serverConnection.getUsername()).andReturn("user");
EasyMock.expect(serverConnection.getPassword()).andReturn("password");
- EasyMock.expect(securityManager.validateUserAndRole("user", "password", roles, CheckType.CREATE)).andReturn(true);
- EasyMock.expect(repository.getMatch(address.toString())).andReturn(roles);
- EasyMock.expect(serverConnection.getUsername()).andReturn("user");
- EasyMock.expect(serverConnection.getPassword()).andReturn("password");
- EasyMock.expect(securityManager.validateUserAndRole("user", "password", roles, CheckType.CREATE)).andReturn(true);
- EasyMock.replay(repository);
- EasyMock.replay(securityManager);
- EasyMock.replay(serverConnection);
+ EasyMock.expect(securityManager.validateUserAndRole("user", "password", roles, checkType)).andReturn(false);
+ EasyMock.replay(repository, securityManager, serverConnection);
securityStore.setSecurityRepository(repository);
- securityStore.check(address, CheckType.CREATE, serverConnection);
- securityStore.onChange();
- securityStore.check(address, CheckType.CREATE, serverConnection);
-
+ try
+ {
+ securityStore.check(address, checkType, serverConnection);
+ fail("should throw exception");
+ }
+ catch (Exception e)
+ {
+ //pass
+ }
+ EasyMock.verify(repository, securityManager, serverConnection);
}
-
- public void testSuccessfulCheckTimeoutCache() throws Exception
+
+ private void testSuccessfulCheckTimeoutCache(final CheckType checkType) throws Exception
{
- securityStore = new SecurityStoreImpl(2000, true);
+ securityStore = new SecurityStoreImpl(100, true);
JBMSecurityManager securityManager = EasyMock.createStrictMock(JBMSecurityManager.class);
securityStore.setSecurityManager(securityManager);
//noinspection unchecked
@@ -185,22 +201,24 @@
Set<Role> roles = new HashSet<Role>();
roles.add(new Role("user", false, false, true));
repository.registerListener(securityStore);
+
EasyMock.expect(repository.getMatch(address.toString())).andReturn(roles);
ServerConnection serverConnection = EasyMock.createNiceMock(ServerConnection.class);
+
EasyMock.expect(serverConnection.getUsername()).andReturn("user");
EasyMock.expect(serverConnection.getPassword()).andReturn("password");
- EasyMock.expect(securityManager.validateUserAndRole("user", "password", roles, CheckType.CREATE)).andReturn(true);
- EasyMock.expect(repository.getMatch(address.toString())).andReturn(roles);
+ EasyMock.expect(securityManager.validateUserAndRole("user", "password", roles, checkType)).andReturn(true);
+
+ EasyMock.expect(repository.getMatch(address.toString())).andReturn(roles);
EasyMock.expect(serverConnection.getUsername()).andReturn("user");
EasyMock.expect(serverConnection.getPassword()).andReturn("password");
- EasyMock.expect(securityManager.validateUserAndRole("user", "password", roles, CheckType.CREATE)).andReturn(true);
- EasyMock.replay(repository);
- EasyMock.replay(securityManager);
- EasyMock.replay(serverConnection);
+ EasyMock.expect(securityManager.validateUserAndRole("user", "password", roles, checkType)).andReturn(true);
+
+ EasyMock.replay(repository, securityManager, serverConnection);
securityStore.setSecurityRepository(repository);
- securityStore.check(address, CheckType.CREATE, serverConnection);
- Thread.sleep(2000);
- securityStore.check(address, CheckType.CREATE, serverConnection);
-
+ securityStore.check(address, checkType, serverConnection);
+ Thread.sleep(110);
+ securityStore.check(address, checkType, serverConnection);
+ EasyMock.verify(repository, securityManager, serverConnection);
}
}
More information about the jboss-cvs-commits
mailing list