You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by kr...@apache.org on 2010/04/02 11:42:23 UTC

svn commit: r930208 - in /camel/trunk/components/camel-gae: ./ src/main/java/org/apache/camel/component/gae/mail/ src/test/java/org/apache/camel/component/gae/mail/ src/test/resources/org/apache/camel/component/gae/mail/

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=user2@gmail.com")
             .append(AMP).append("cc=user3@gmail.com")
             .append(AMP).append("bcc=user4@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("user4@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:test1@example.org?to=test2@example.org&subject=testSubject&mailServiceRef=#mockMailService");
+            .to("gmail:test1@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("test1@example.org", mailService.getFirstMessage().getSender());
-        assertEquals("test2@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("test1@example.org",  service.getSentMessages().get(0).getSender());
+        assertEquals("test2@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, "test3@example.org");
             }
         });
-        assertEquals("testSubject", mailService.getFirstMessage().getSubject());
-        assertEquals("testBody", mailService.getFirstMessage().getTextBody());
-        assertEquals("test1@example.org", mailService.getFirstMessage().getSender());
-        assertEquals("test3@example.org", mailService.getFirstMessage().getTo().iterator().next());
+        assertEquals("testSubject", service.getSentMessages().get(0).getSubject());
+        assertEquals("fooBody", service.getSentMessages().get(0).getTextBody());
+        assertEquals("test1@example.org", service.getSentMessages().get(0).getSender());
+        assertEquals("test3@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("test1@example.org", mailService.getFirstMessage().getSender());
-        assertEquals("test2@example.org", mailService.getFirstMessage().getTo().iterator().next());
+        assertEquals("anotherSubject", service.getSentMessages().get(0).getSubject());
+        assertEquals("fooBody", service.getSentMessages().get(0).getTextBody());
+        assertEquals("test1@example.org", service.getSentMessages().get(0).getSender());
+        assertEquals("test2@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>