Author: krasserm Date: Fri Apr 2 09:42:23 2010 New Revision: 930208 URL: http://svn.apache.org/viewvc?rev=930208&view=rev Log: use GAE SDK mocks for gmail component tests
Modified: camel/trunk/components/camel-gae/pom.xml camel/trunk/components/camel-gae/src/main/java/org/apache/camel/component/gae/mail/GMailComponent.java camel/trunk/components/camel-gae/src/main/java/org/apache/camel/component/gae/mail/GMailEndpoint.java camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/mail/GMailEndpointTest.java camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/mail/GMailOutboundRouteBuilder.java camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/mail/GMailOutboundRouteBuilderTest.java camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/mail/GMailTestUtils.java camel/trunk/components/camel-gae/src/test/resources/org/apache/camel/component/gae/mail/context-outbound.xml Modified: camel/trunk/components/camel-gae/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-gae/pom.xml?rev=930208&r1=930207&r2=930208&view=diff ============================================================================== --- camel/trunk/components/camel-gae/pom.xml (original) +++ camel/trunk/components/camel-gae/pom.xml Fri Apr 2 09:42:23 2010 @@ -68,6 +68,16 @@ <!-- testing --> <dependency> + <groupId>com.google.appengine</groupId> + <artifactId>appengine-api-stubs</artifactId> + <version>${appengine-sdk-version}</version> + </dependency> + <dependency> + <groupId>com.google.appengine</groupId> + <artifactId>appengine-testing</artifactId> + <version>${appengine-sdk-version}</version> + </dependency> + <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-test</artifactId> <scope>test</scope> Modified: camel/trunk/components/camel-gae/src/main/java/org/apache/camel/component/gae/mail/GMailComponent.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-gae/src/main/java/org/apache/camel/component/gae/mail/GMailComponent.java?rev=930208&r1=930207&r2=930208&view=diff ============================================================================== --- camel/trunk/components/camel-gae/src/main/java/org/apache/camel/component/gae/mail/GMailComponent.java (original) +++ camel/trunk/components/camel-gae/src/main/java/org/apache/camel/component/gae/mail/GMailComponent.java Fri Apr 2 09:42:23 2010 @@ -37,11 +37,8 @@ public class GMailComponent extends Defa protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception { OutboundBinding binding = resolveAndRemoveReferenceParameter( parameters, "outboundBindingRef", OutboundBinding.class, new GMailBinding()); - MailService service = resolveAndRemoveReferenceParameter( - parameters, "mailServiceRef", MailService.class, MailServiceFactory.getMailService()); GMailEndpoint endpoint = new GMailEndpoint(uri, remaining); endpoint.setOutboundBinding(binding); - endpoint.setMailService(service); return endpoint; } Modified: camel/trunk/components/camel-gae/src/main/java/org/apache/camel/component/gae/mail/GMailEndpoint.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-gae/src/main/java/org/apache/camel/component/gae/mail/GMailEndpoint.java?rev=930208&r1=930207&r2=930208&view=diff ============================================================================== --- camel/trunk/components/camel-gae/src/main/java/org/apache/camel/component/gae/mail/GMailEndpoint.java (original) +++ camel/trunk/components/camel-gae/src/main/java/org/apache/camel/component/gae/mail/GMailEndpoint.java Fri Apr 2 09:42:23 2010 @@ -19,6 +19,7 @@ package org.apache.camel.component.gae.m import com.google.appengine.api.mail.MailService; import com.google.appengine.api.mail.MailService.Message; +import com.google.appengine.api.mail.MailServiceFactory; import org.apache.camel.Consumer; import org.apache.camel.Processor; import org.apache.camel.Producer; @@ -48,6 +49,7 @@ public class GMailEndpoint extends Defau public GMailEndpoint(String endpointUri, String sender) { super(endpointUri); this.sender = sender; + this.mailService = MailServiceFactory.getMailService(); } public OutboundBinding<GMailEndpoint, Message, Void> getOutboundBinding() { @@ -58,18 +60,14 @@ public class GMailEndpoint extends Defau this.outboundBinding = outboundBinding; } - public String getSender() { - return sender; - } - public MailService getMailService() { return mailService; } - public void setMailService(MailService mailService) { - this.mailService = mailService; + public String getSender() { + return sender; } - + public String getSubject() { return subject; } Modified: camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/mail/GMailEndpointTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/mail/GMailEndpointTest.java?rev=930208&r1=930207&r2=930208&view=diff ============================================================================== --- camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/mail/GMailEndpointTest.java (original) +++ camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/mail/GMailEndpointTest.java Fri Apr 2 09:42:23 2010 @@ -34,7 +34,6 @@ public class GMailEndpointTest { .append(AMP).append("to=us...@gmail.com") .append(AMP).append("cc=us...@gmail.com") .append(AMP).append("bcc=us...@gmail.com") - .append(AMP).append("mailServiceRef=#mockMailService") .append(AMP).append("outboundBindingRef=#customBinding"); GMailEndpoint endpoint = createEndpoint(buffer.toString()); assertEquals("test", endpoint.getSubject()); @@ -44,7 +43,6 @@ public class GMailEndpointTest { assertEquals("us...@gmail.com", endpoint.getBcc()); assertFalse(endpoint.getOutboundBinding().getClass().equals(GMailBinding.class)); assertTrue(endpoint.getOutboundBinding() instanceof GMailBinding); - assertTrue(endpoint.getMailService() instanceof MockMailService); } } Modified: camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/mail/GMailOutboundRouteBuilder.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/mail/GMailOutboundRouteBuilder.java?rev=930208&r1=930207&r2=930208&view=diff ============================================================================== --- camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/mail/GMailOutboundRouteBuilder.java (original) +++ camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/mail/GMailOutboundRouteBuilder.java Fri Apr 2 09:42:23 2010 @@ -24,7 +24,7 @@ public class GMailOutboundRouteBuilder e public void configure() throws Exception { from("direct:input1") - .to("gmail:te...@example.org?to=test2@example.org&subject=testSubject&mailServiceRef=#mockMailService"); + .to("gmail:te...@example.org?to=test2@example.org&subject=testSubject"); } Modified: camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/mail/GMailOutboundRouteBuilderTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/mail/GMailOutboundRouteBuilderTest.java?rev=930208&r1=930207&r2=930208&view=diff ============================================================================== --- camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/mail/GMailOutboundRouteBuilderTest.java (original) +++ camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/mail/GMailOutboundRouteBuilderTest.java Fri Apr 2 09:42:23 2010 @@ -16,10 +16,15 @@ */ package org.apache.camel.component.gae.mail; +import com.google.appengine.api.mail.dev.LocalMailService; +import com.google.appengine.tools.development.testing.LocalMailServiceTestConfig; +import com.google.appengine.tools.development.testing.LocalServiceTestHelper; +import org.apache.camel.EndpointInject; import org.apache.camel.Exchange; import org.apache.camel.Processor; import org.apache.camel.ProducerTemplate; import org.junit.After; +import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; @@ -34,54 +39,61 @@ import static org.junit.Assert.assertEqu @ContextConfiguration(locations = {"/org/apache/camel/component/gae/mail/context-outbound.xml"}) public class GMailOutboundRouteBuilderTest { - - @Autowired private ProducerTemplate producerTemplate; - @Autowired - private MockMailService mailService; - + private final LocalMailServiceTestConfig config = new LocalMailServiceTestConfig(); + private final LocalServiceTestHelper helper = new LocalServiceTestHelper(config); + + private LocalMailService service; + + @Before + public void setUp() { + helper.setUp(); + service = LocalMailServiceTestConfig.getLocalMailService(); + } + @After - public void tearDown() throws Exception { - mailService.reset(); + public void tearDown() { + helper.tearDown(); } @Test public void testSendDefault() { - producerTemplate.sendBody("direct:input1", "testBody"); - assertEquals("testSubject", mailService.getFirstMessage().getSubject()); - assertEquals("testBody", mailService.getFirstMessage().getTextBody()); - assertEquals("te...@example.org", mailService.getFirstMessage().getSender()); - assertEquals("te...@example.org", mailService.getFirstMessage().getTo().iterator().next()); + producerTemplate.sendBody("direct:input1", "testBody"); + assertEquals(1, service.getSentMessages().size()); + assertEquals("testSubject", service.getSentMessages().get(0).getSubject()); + assertEquals("testBody", service.getSentMessages().get(0).getTextBody()); + assertEquals("te...@example.org", service.getSentMessages().get(0).getSender()); + assertEquals("te...@example.org", service.getSentMessages().get(0).getTo(0)); } @Test public void testSendCustomTo() { producerTemplate.send("direct:input1", new Processor() { public void process(Exchange exchange) throws Exception { - exchange.getIn().setBody("testBody"); + exchange.getIn().setBody("fooBody"); exchange.getIn().setHeader(GMAIL_TO, "te...@example.org"); } }); - assertEquals("testSubject", mailService.getFirstMessage().getSubject()); - assertEquals("testBody", mailService.getFirstMessage().getTextBody()); - assertEquals("te...@example.org", mailService.getFirstMessage().getSender()); - assertEquals("te...@example.org", mailService.getFirstMessage().getTo().iterator().next()); + assertEquals("testSubject", service.getSentMessages().get(0).getSubject()); + assertEquals("fooBody", service.getSentMessages().get(0).getTextBody()); + assertEquals("te...@example.org", service.getSentMessages().get(0).getSender()); + assertEquals("te...@example.org", service.getSentMessages().get(0).getTo(0)); } @Test public void testSendCustomSubject() { producerTemplate.send("direct:input1", new Processor() { public void process(Exchange exchange) throws Exception { - exchange.getIn().setBody("testBody"); + exchange.getIn().setBody("fooBody"); exchange.getIn().setHeader(GMAIL_SUBJECT, "anotherSubject"); } }); - assertEquals("anotherSubject", mailService.getFirstMessage().getSubject()); - assertEquals("testBody", mailService.getFirstMessage().getTextBody()); - assertEquals("te...@example.org", mailService.getFirstMessage().getSender()); - assertEquals("te...@example.org", mailService.getFirstMessage().getTo().iterator().next()); + assertEquals("anotherSubject", service.getSentMessages().get(0).getSubject()); + assertEquals("fooBody", service.getSentMessages().get(0).getTextBody()); + assertEquals("te...@example.org", service.getSentMessages().get(0).getSender()); + assertEquals("te...@example.org", service.getSentMessages().get(0).getTo(0)); } } Modified: camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/mail/GMailTestUtils.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/mail/GMailTestUtils.java?rev=930208&r1=930207&r2=930208&view=diff ============================================================================== --- camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/mail/GMailTestUtils.java (original) +++ camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/mail/GMailTestUtils.java Fri Apr 2 09:42:23 2010 @@ -29,7 +29,6 @@ public final class GMailTestUtils { static { SimpleRegistry registry = new SimpleRegistry(); - registry.put("mockMailService", new MockMailService()); registry.put("customBinding", new GMailBinding() { }); // subclass context = new DefaultCamelContext(registry); component = new GMailComponent(); Modified: camel/trunk/components/camel-gae/src/test/resources/org/apache/camel/component/gae/mail/context-outbound.xml URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-gae/src/test/resources/org/apache/camel/component/gae/mail/context-outbound.xml?rev=930208&r1=930207&r2=930208&view=diff ============================================================================== --- camel/trunk/components/camel-gae/src/test/resources/org/apache/camel/component/gae/mail/context-outbound.xml (original) +++ camel/trunk/components/camel-gae/src/test/resources/org/apache/camel/component/gae/mail/context-outbound.xml Fri Apr 2 09:42:23 2010 @@ -19,26 +19,20 @@ <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:camel="http://camel.apache.org/schema/spring" xsi:schemaLocation=" http://www.springframework.org/schema/beans -http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> - - <bean id="camelContext" - class="org.apache.camel.component.gae.context.GaeSpringCamelContext"> - <property name="routeBuilder" ref="routeBuilder" /> - </bean> - - <bean id="producerTemplate" - factory-bean="camelContext" - factory-method="createProducerTemplate"> - </bean> - +http://www.springframework.org/schema/beans/spring-beans-2.5.xsd +http://camel.apache.org/schema/spring +http://camel.apache.org/schema/spring/camel-spring.xsd"> + + <camel:camelContext id="camelContext"> + <camel:jmxAgent id="agent" disabled="true" /> + <camel:routeBuilder ref="routeBuilder"/> + </camel:camelContext> + <bean id="routeBuilder" class="org.apache.camel.component.gae.mail.GMailOutboundRouteBuilder"> </bean> - <bean id="mockMailService" - class="org.apache.camel.component.gae.mail.MockMailService"> - </bean> - </beans>