Преглед изворни кода

Converted to use jmock for mocks.

Luke Taylor пре 17 година
родитељ
комит
05e753de61

+ 32 - 51
core/src/test/java/org/springframework/security/intercept/AbstractSecurityInterceptorTests.java

@@ -15,15 +15,14 @@
 
 package org.springframework.security.intercept;
 
-import junit.framework.TestCase;
-
-import org.springframework.security.MockAccessDecisionManager;
-import org.springframework.security.MockAfterInvocationManager;
-import org.springframework.security.MockAuthenticationManager;
-import org.springframework.security.MockRunAsManager;
-
-import org.springframework.security.intercept.method.MockMethodDefinitionSource;
-
+import org.jmock.Expectations;
+import org.jmock.Mockery;
+import org.jmock.integration.junit4.JUnit4Mockery;
+import org.junit.Test;
+import org.springframework.security.AccessDecisionManager;
+import org.springframework.security.AfterInvocationManager;
+import org.springframework.security.AuthenticationManager;
+import org.springframework.security.RunAsManager;
 import org.springframework.security.util.SimpleMethodInvocation;
 
 
@@ -34,55 +33,37 @@ import org.springframework.security.util.SimpleMethodInvocation;
  * @author Ben Alex
  * @version $Id$
  */
-public class AbstractSecurityInterceptorTests extends TestCase {
-    //~ Constructors ===================================================================================================
-
-    public AbstractSecurityInterceptorTests() {
-        super();
-    }
-
-    public AbstractSecurityInterceptorTests(String arg0) {
-        super(arg0);
-    }
+public class AbstractSecurityInterceptorTests {
+    private Mockery jmock = new JUnit4Mockery();
 
     //~ Methods ========================================================================================================
 
-    public static void main(String[] args) {
-        junit.textui.TestRunner.run(AbstractSecurityInterceptorTests.class);
-    }
-
-    public void testDetectsIfInvocationPassedIncompatibleSecureObject()
-        throws Exception {
+    @Test(expected=IllegalArgumentException.class)
+    public void detectsIfInvocationPassedIncompatibleSecureObject() throws Exception {
         MockSecurityInterceptorWhichOnlySupportsStrings si = new MockSecurityInterceptorWhichOnlySupportsStrings();
-        si.setRunAsManager(new MockRunAsManager());
-        si.setAuthenticationManager(new MockAuthenticationManager());
-        si.setAfterInvocationManager(new MockAfterInvocationManager());
-        si.setAccessDecisionManager(new MockAccessDecisionManager());
-        si.setObjectDefinitionSource(new MockMethodDefinitionSource(false, true));
-
-        try {
-            si.beforeInvocation(new SimpleMethodInvocation());
-            fail("Should have thrown IllegalArgumentException");
-        } catch (IllegalArgumentException expected) {
-            assertTrue(expected.getMessage().startsWith("Security invocation attempted for object"));
-        }
+
+        si.setRunAsManager(jmock.mock(RunAsManager.class));
+        si.setAuthenticationManager(jmock.mock(AuthenticationManager.class));
+        si.setAfterInvocationManager(jmock.mock(AfterInvocationManager.class));
+        si.setAccessDecisionManager(jmock.mock(AccessDecisionManager.class));
+        si.setObjectDefinitionSource(jmock.mock(ObjectDefinitionSource.class));
+
+        jmock.checking(new Expectations() {{ ignoring(anything()); }});
+        si.beforeInvocation(new SimpleMethodInvocation());
     }
 
-    public void testDetectsViolationOfGetSecureObjectClassMethod()
-        throws Exception {
+    @Test(expected=IllegalArgumentException.class)
+    public void detectsViolationOfGetSecureObjectClassMethod() throws Exception {
         MockSecurityInterceptorReturnsNull si = new MockSecurityInterceptorReturnsNull();
-        si.setRunAsManager(new MockRunAsManager());
-        si.setAuthenticationManager(new MockAuthenticationManager());
-        si.setAfterInvocationManager(new MockAfterInvocationManager());
-        si.setAccessDecisionManager(new MockAccessDecisionManager());
-        si.setObjectDefinitionSource(new MockMethodDefinitionSource(false, true));
-
-        try {
-            si.afterPropertiesSet();
-            fail("Should have thrown IllegalArgumentException");
-        } catch (IllegalArgumentException expected) {
-            assertEquals("Subclass must provide a non-null response to getSecureObjectClass()", expected.getMessage());
-        }
+        si.setRunAsManager(jmock.mock(RunAsManager.class));
+        si.setAuthenticationManager(jmock.mock(AuthenticationManager.class));
+        si.setAfterInvocationManager(jmock.mock(AfterInvocationManager.class));
+        si.setAccessDecisionManager(jmock.mock(AccessDecisionManager.class));
+        si.setObjectDefinitionSource(jmock.mock(ObjectDefinitionSource.class));
+
+        jmock.checking(new Expectations() {{ ignoring(anything()); }});
+
+        si.afterPropertiesSet();
     }
 
     //~ Inner Classes ==================================================================================================