- Revision
- 333
- Author
- mauro
- Date
- 2007-11-03 06:46:15 -0500 (Sat, 03 Nov 2007)
Log Message
Migrated controller and i18n unit tests to jMock 2.
Modified Paths
- trunk/core/src/test/java/org/codehaus/waffle/controller/ContextControllerDefinitionFactoryTest.java
- trunk/core/src/test/java/org/codehaus/waffle/controller/ContextPathControllerNameResolverTest.java
- trunk/core/src/test/java/org/codehaus/waffle/controller/RubyControllerDefinitionFactoryTest.java
- trunk/core/src/test/java/org/codehaus/waffle/controller/RubyControllerTest.java
- trunk/core/src/test/java/org/codehaus/waffle/i18n/DefaultMessageResourcesTest.java
Diff
Modified: trunk/core/src/test/java/org/codehaus/waffle/controller/ContextControllerDefinitionFactoryTest.java (332 => 333)
--- trunk/core/src/test/java/org/codehaus/waffle/controller/ContextControllerDefinitionFactoryTest.java 2007-11-03 11:01:55 UTC (rev 332) +++ trunk/core/src/test/java/org/codehaus/waffle/controller/ContextControllerDefinitionFactoryTest.java 2007-11-03 11:46:15 UTC (rev 333) @@ -1,5 +1,11 @@ package org.codehaus.waffle.controller; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertSame; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + import org.codehaus.waffle.Constants; import org.codehaus.waffle.WaffleException; import org.codehaus.waffle.action.MethodDefinition; @@ -7,102 +13,103 @@ import org.codehaus.waffle.context.RequestLevelContainer; import org.codehaus.waffle.context.pico.PicoContextContainer; import org.codehaus.waffle.testmodel.FakeController; -import org.jmock.Mock; -import org.jmock.MockObjectTestCase; +import org.jmock.Expectations; +import org.jmock.Mockery; +import org.jmock.integration.junit4.JMock; +import org.junit.Test; +import org.junit.runner.RunWith; import org.picocontainer.MutablePicoContainer; import org.picocontainer.defaults.DefaultPicoContainer; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +/** + * + * @author Michael Ward + * @author Mauro Talevi + */ [EMAIL PROTECTED](JMock.class) +public class ContextControllerDefinitionFactoryTest { + private Mockery mockery = new Mockery(); -public class ContextControllerDefinitionFactoryTest extends MockObjectTestCase { - - public void testCanGetControllerDefinition() throws NoSuchMethodException { - MutablePicoContainer pico = new DefaultPicoContainer(); + @Test + public void canGetControllerDefinition() throws NoSuchMethodException { + final MutablePicoContainer pico = new DefaultPicoContainer(); pico.registerComponentImplementation("theController", FakeController.class); RequestLevelContainer.set(new PicoContextContainer(pico)); // Mock HttpServletRequest - Mock mockRequest = mock(HttpServletRequest.class); - mockRequest.expects(once()) - .method("getPathInfo") - .will(returnValue("/theController.htm")); - mockRequest.expects(once()).method("setAttribute") - .with(eq(Constants.CONTROLLER_KEY), isA(FakeController.class)); - HttpServletRequest httpRequest = (HttpServletRequest) mockRequest.proxy(); + final HttpServletRequest request = mockery.mock(HttpServletRequest.class); + mockery.checking(new Expectations() { + { + one(request).getPathInfo(); + will(returnValue("/theController.htm")); + one(request).setAttribute(Constants.CONTROLLER_KEY, + (FakeController) pico.getComponentInstanceOfType(FakeController.class)); + } + }); // Mock HttpServletResponse - Mock mockResponse = mock(HttpServletResponse.class); - HttpServletResponse response = (HttpServletResponse) mockResponse.proxy(); + final HttpServletResponse response = mockery.mock(HttpServletResponse.class); - MethodDefinition methodDefinition = new MethodDefinition(null); + final MethodDefinition methodDefinition = new MethodDefinition(null); // Mock MethodDefinitionFinder - Mock mockMethodDefinitionFinder = mock(MethodDefinitionFinder.class); - mockMethodDefinitionFinder.expects(once()) - .method("find") - .with(isA(FakeController.class), same(httpRequest), same(response)) - .will(returnValue(methodDefinition)); - MethodDefinitionFinder methodDefinitionFinder = (MethodDefinitionFinder) mockMethodDefinitionFinder.proxy(); + final MethodDefinitionFinder finder = mockery.mock(MethodDefinitionFinder.class); + mockery.checking(new Expectations() { + { + one(finder).find(with(an(FakeController.class)), with(same(request)), with(same(response))); + will(returnValue(methodDefinition)); + } + }); - ControllerDefinitionFactory controllerDefinitionFactory - = new ContextControllerDefinitionFactory(methodDefinitionFinder, new ContextPathControllerNameResolver()); - ControllerDefinition controllerDefinition = controllerDefinitionFactory.getControllerDefinition(httpRequest, response); + ControllerDefinitionFactory controllerDefinitionFactory = new ContextControllerDefinitionFactory(finder, + new ContextPathControllerNameResolver()); + ControllerDefinition controllerDefinition = controllerDefinitionFactory.getControllerDefinition(request, + response); assertNotNull(controllerDefinition.getController()); assertSame(methodDefinition, controllerDefinition.getMethodDefinition()); } - public void testRequestingControllerDefinitionThatiIsNotRegisteredThrowsException() throws NoSuchMethodException { + @Test(expected = WaffleException.class) + public void cannotRequestControllerDefinitionThatiIsNotRegistered() { MutablePicoContainer pico = new DefaultPicoContainer(); RequestLevelContainer.set(new PicoContextContainer(pico)); // Mock HttpServletRequest - Mock mockRequest = mock(HttpServletRequest.class); - mockRequest.expects(once()) - .method("getPathInfo") - .will(returnValue("/theController.htm")); - mockRequest.expects(once()) - .method("getRequestURI") - .will(returnValue("/theController.htm")); - HttpServletRequest httpRequest = (HttpServletRequest) mockRequest.proxy(); + final HttpServletRequest request = mockery.mock(HttpServletRequest.class); + mockery.checking(new Expectations() { + { + one(request).getPathInfo(); + will(returnValue("/theController.htm")); + one(request).getRequestURI(); + will(returnValue("/theController.htm")); + } + }); // Mock HttpServletResponse - Mock mockResponse = mock(HttpServletResponse.class); - HttpServletResponse response = (HttpServletResponse) mockResponse.proxy(); + final HttpServletResponse response = mockery.mock(HttpServletResponse.class); // Mock MethodDefinitionFinder - Mock mockMethodDefinitionFinder = mock(MethodDefinitionFinder.class); - MethodDefinitionFinder methodDefinitionFinder = (MethodDefinitionFinder) mockMethodDefinitionFinder.proxy(); + final MethodDefinitionFinder finder = mockery.mock(MethodDefinitionFinder.class); - ControllerDefinitionFactory controllerDefinitionFactory - = new ContextControllerDefinitionFactory(methodDefinitionFinder, new ContextPathControllerNameResolver()); + ControllerDefinitionFactory controllerDefinitionFactory = new ContextControllerDefinitionFactory(finder, + new ContextPathControllerNameResolver()); - try { - controllerDefinitionFactory.getControllerDefinition(httpRequest, response); - fail("WaffleException expected"); - } catch (WaffleException e) { - //expected - } + controllerDefinitionFactory.getControllerDefinition(request, response); } - public void testMissingRequestLevelContainerThrowsException() throws NoSuchMethodException { + @Test(expected = WaffleException.class) + public void cannotGetControllerDefinitionWithMissingRequestLevelContainer() { + RequestLevelContainer.set(null); + // Mock HttpServletRequest - Mock mockHttpServletRequest = mock(HttpServletRequest.class); - HttpServletRequest httpRequest = (HttpServletRequest) mockHttpServletRequest.proxy(); + final HttpServletRequest request = mockery.mock(HttpServletRequest.class); - // Mock HttpServletResponse - Mock mockResponse = mock(HttpServletResponse.class); + ContextControllerDefinitionFactory controllerDefinitionFactory = new ContextControllerDefinitionFactory(null, + null); - ContextControllerDefinitionFactory controllerDefinitionFactory = new ContextControllerDefinitionFactory(null, null); - - try { - controllerDefinitionFactory.findController("foobar", httpRequest); - fail("WaffleException should have been thrown when no request level container exists"); - } catch (WaffleException expected) { - // expected - } + controllerDefinitionFactory.findController("foobar", request); } }
Modified: trunk/core/src/test/java/org/codehaus/waffle/controller/ContextPathControllerNameResolverTest.java (332 => 333)
--- trunk/core/src/test/java/org/codehaus/waffle/controller/ContextPathControllerNameResolverTest.java 2007-11-03 11:01:55 UTC (rev 332) +++ trunk/core/src/test/java/org/codehaus/waffle/controller/ContextPathControllerNameResolverTest.java 2007-11-03 11:46:15 UTC (rev 333) @@ -1,48 +1,69 @@ package org.codehaus.waffle.controller; -import org.jmock.Mock; -import org.jmock.MockObjectTestCase; -import org.codehaus.waffle.controller.ContextPathControllerNameResolver; -import org.codehaus.waffle.controller.ControllerNameResolver; +import static org.junit.Assert.assertEquals; import javax.servlet.http.HttpServletRequest; -public class ContextPathControllerNameResolverTest extends MockObjectTestCase { +import org.jmock.Expectations; +import org.jmock.Mockery; +import org.jmock.integration.junit4.JMock; +import org.junit.Test; +import org.junit.runner.RunWith; - public void testFindControllerName() { - Mock mockRequest = mock(HttpServletRequest.class); - mockRequest.expects(once()) - .method("getPathInfo") - .will(returnValue("/foo/bar.htm")); - HttpServletRequest request = (HttpServletRequest) mockRequest.proxy(); +/** + * + * @author Michael Ward + * @author Mauro Talevi + */ [EMAIL PROTECTED](JMock.class) +public class ContextPathControllerNameResolverTest { + private Mockery mockery = new Mockery(); + + @Test + public void canFindControllerName() { + // Mock HttpServletRequest + final HttpServletRequest request = mockery.mock(HttpServletRequest.class); + mockery.checking(new Expectations() { + { + one(request).getPathInfo(); + will(returnValue("/foo/bar.htm")); + } + }); + ControllerNameResolver controllerNameResolver = new ContextPathControllerNameResolver(); assertEquals("foo/bar", controllerNameResolver.findControllerName(request)); } - public void testFindControllerNameWithoutExtension() { - Mock mockRequest = mock(HttpServletRequest.class); - mockRequest.expects(once()) - .method("getPathInfo") - .will(returnValue("/foobar")); - HttpServletRequest request = (HttpServletRequest) mockRequest.proxy(); + @Test + public void canFindControllerNameWithoutExtension() { + // Mock HttpServletRequest + final HttpServletRequest request = mockery.mock(HttpServletRequest.class); + mockery.checking(new Expectations() { + { + one(request).getPathInfo(); + will(returnValue("/foobar")); + } + }); ControllerNameResolver controllerNameResolver = new ContextPathControllerNameResolver(); assertEquals("foobar", controllerNameResolver.findControllerName(request)); } - public void testFindControllerNameWhenPathInfoIsNull() { - Mock mockRequest = mock(HttpServletRequest.class); - mockRequest.expects(once()) - .method("getPathInfo") - .will(returnValue(null)); - mockRequest.expects(once()) - .method("getRequestURI") - .will(returnValue("/waffle/foobar.htm")); - mockRequest.expects(once()) - .method("getContextPath") - .will(returnValue("/waffle")); - HttpServletRequest request = (HttpServletRequest) mockRequest.proxy(); + @Test + public void canFindControllerNameWhenPathInfoIsNull() { + // Mock HttpServletRequest + final HttpServletRequest request = mockery.mock(HttpServletRequest.class); + mockery.checking(new Expectations() { + { + one(request).getPathInfo(); + will(returnValue(null)); + one(request).getRequestURI(); + will(returnValue("/waffle/foobar.htm")); + one(request).getContextPath(); + will(returnValue("/waffle")); + } + }); ControllerNameResolver controllerNameResolver = new ContextPathControllerNameResolver(); assertEquals("foobar", controllerNameResolver.findControllerName(request));
Modified: trunk/core/src/test/java/org/codehaus/waffle/controller/RubyControllerDefinitionFactoryTest.java (332 => 333)
--- trunk/core/src/test/java/org/codehaus/waffle/controller/RubyControllerDefinitionFactoryTest.java 2007-11-03 11:01:55 UTC (rev 332) +++ trunk/core/src/test/java/org/codehaus/waffle/controller/RubyControllerDefinitionFactoryTest.java 2007-11-03 11:46:15 UTC (rev 333) @@ -1,34 +1,60 @@ package org.codehaus.waffle.controller; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + import org.codehaus.waffle.context.ContextContainer; import org.codehaus.waffle.context.RequestLevelContainer; -import org.jmock.Mock; -import org.jmock.MockObjectTestCase; +import org.jmock.Expectations; +import org.jmock.Mockery; +import org.jmock.integration.junit4.JMock; import org.jruby.Ruby; import org.jruby.javasupport.JavaUtil; import org.jruby.runtime.builtin.IRubyObject; +import org.junit.Test; +import org.junit.runner.RunWith; -public class RubyControllerDefinitionFactoryTest extends MockObjectTestCase { - public void testFindControllerHandlesIRubyObject() { +/** + * + * @author Michael Ward + * @author Mauro Talevi + */ [EMAIL PROTECTED](JMock.class) +public class RubyControllerDefinitionFactoryTest { + + private Mockery mockery = new Mockery(); + + @Test + public void canHandleIRubyObject() { RubyControllerDefinitionFactory factory = new RubyControllerDefinitionFactory(null, null, null); - Mock mockContextContainer = mock(ContextContainer.class); - IRubyObject rubyObject = JavaUtil.convertJavaToRuby(Ruby.getDefaultInstance(), "Hello From Ruby"); - mockContextContainer.expects(once()).method("getComponentInstance").with(eq("foobar")).will(returnValue(rubyObject)); - ContextContainer contextContainer = (ContextContainer) mockContextContainer.proxy(); + final ContextContainer contextContainer = mockery.mock(ContextContainer.class); + mockery.checking(new Expectations() { + { + IRubyObject rubyObject = JavaUtil.convertJavaToRuby(Ruby.getDefaultInstance(), "Hello From Ruby"); + one(contextContainer).getComponentInstance("foobar"); + will(returnValue(rubyObject)); + } + }); RequestLevelContainer.set(contextContainer); Object controller = factory.findController("foobar", null); assertTrue(controller instanceof RubyController); } - public void testFindControllerHandlesNonRubyObjects() { + @Test + public void canHandleNonRubyObjects() { RubyControllerDefinitionFactory factory = new RubyControllerDefinitionFactory(null, null, null); - Mock mockContextContainer = mock(ContextContainer.class); - mockContextContainer.expects(once()).method("getComponentInstance").with(eq("foobar")).will(returnValue("Pojo")); - ContextContainer contextContainer = (ContextContainer) mockContextContainer.proxy(); + final ContextContainer contextContainer = mockery.mock(ContextContainer.class); + mockery.checking(new Expectations() { + { + one(contextContainer).getComponentInstance("foobar"); + will(returnValue("Pojo")); + } + }); RequestLevelContainer.set(contextContainer); Object controller = factory.findController("foobar", null);
Modified: trunk/core/src/test/java/org/codehaus/waffle/controller/RubyControllerTest.java (332 => 333)
--- trunk/core/src/test/java/org/codehaus/waffle/controller/RubyControllerTest.java 2007-11-03 11:01:55 UTC (rev 332) +++ trunk/core/src/test/java/org/codehaus/waffle/controller/RubyControllerTest.java 2007-11-03 11:46:15 UTC (rev 333) @@ -1,12 +1,20 @@ package org.codehaus.waffle.controller; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.fail; + import org.codehaus.waffle.action.ActionMethodInvocationException; -import org.jmock.MockObjectTestCase; import org.jruby.Ruby; +import org.junit.Test; -public class RubyControllerTest extends MockObjectTestCase { +/** + * + * @author Michael Ward + */ +public class RubyControllerTest { - public void testExecute() { + @Test + public void canExecute() { String script = "class Foo\n" + " def my_method\n" + @@ -22,7 +30,8 @@ assertEquals("Hello World", rubyController.execute()); } - /*public void testOnlyPublicRubyMethodsShouldBeExecutable() { + //@Test + public void onlyPublicRubyMethodsShouldBeExecutable() { String script = "class Foo\n" + " protected\n" + @@ -56,5 +65,5 @@ // expected } - }*/ + } }
Modified: trunk/core/src/test/java/org/codehaus/waffle/i18n/DefaultMessageResourcesTest.java (332 => 333)
--- trunk/core/src/test/java/org/codehaus/waffle/i18n/DefaultMessageResourcesTest.java 2007-11-03 11:01:55 UTC (rev 332) +++ trunk/core/src/test/java/org/codehaus/waffle/i18n/DefaultMessageResourcesTest.java 2007-11-03 11:46:15 UTC (rev 333) @@ -1,11 +1,18 @@ package org.codehaus.waffle.i18n; -import junit.framework.TestCase; +import static org.junit.Assert.assertEquals; import java.util.Locale; -public class DefaultMessageResourcesTest extends TestCase { +import org.junit.Test; +/** + * + * @author Michael Ward + * @author Mauro Talevi + */ +public class DefaultMessageResourcesTest { + private MessageResourcesConfiguration configuration = new MessageResourcesConfiguration() { public String getResourceBundleName() { return "FakeResourceBundle"; @@ -16,12 +23,14 @@ } }; - public void testGetLocaleReturnsDefaultIfNull() { + @Test + public void canGetDefaultLocaleIfNoLocaleSpecified() { MessageResources messageResources = new DefaultMessageResources(); assertEquals(Locale.getDefault(), messageResources.getLocale()); } - public void testGetMessage() { + @Test + public void canGetMessage() { MessageResources messageResources = new DefaultMessageResources(configuration); assertEquals("thoughtworks", messageResources.getMessage("company")); assertEquals("hello mars", messageResources.getMessage("foo.bar", "mars")); @@ -31,7 +40,8 @@ assertEquals("cheerio mars", messageResources.getMessage("foo.bar", "mars")); } - public void testGetMessageWithDefault() { + @Test + public void canGetMessageWithDefault() { MessageResources messageResources = new DefaultMessageResources(configuration); assertEquals("thoughtworks", messageResources.getMessageWithDefault("company", "BEARS"));
To unsubscribe from this list please visit:
