[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