You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2008/04/22 07:03:13 UTC
svn commit: r650382 - in /activemq/camel/trunk/components/camel-mail: ./
src/test/java/org/apache/camel/component/mail/ src/test/resources/
Author: davsclaus
Date: Mon Apr 21 22:03:02 2008
New Revision: 650382
URL: http://svn.apache.org/viewvc?rev=650382&view=rev
Log:
CAMEL-335
- Prepared for mail imrpovment by improving unit tests
- Upgraded pom to use latest mock-mail
Modified:
activemq/camel/trunk/components/camel-mail/pom.xml
activemq/camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailComponentTest.java
activemq/camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailMessageTest.java
activemq/camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailRouteTest.java
activemq/camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MimeMessageConsumeTest.java
activemq/camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MultipleDestinationConsumeTest.java
activemq/camel/trunk/components/camel-mail/src/test/resources/log4j.properties
Modified: activemq/camel/trunk/components/camel-mail/pom.xml
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-mail/pom.xml?rev=650382&r1=650381&r2=650382&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-mail/pom.xml (original)
+++ activemq/camel/trunk/components/camel-mail/pom.xml Mon Apr 21 22:03:02 2008
@@ -20,73 +20,78 @@
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0">
- <modelVersion>4.0.0</modelVersion>
+ <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-parent</artifactId>
- <version>1.4-SNAPSHOT</version>
- </parent>
-
- <artifactId>camel-mail</artifactId>
- <packaging>bundle</packaging>
- <name>Camel :: Mail</name>
- <description>Camel Mail support</description>
-
- <properties>
- <camel.osgi.export.pkg>org.apache.camel.component.mail.*</camel.osgi.export.pkg>
- </properties>
-
- <repositories>
- <repository>
- <id>maven2-repository.dev.java.net</id>
- <name>Java.net Repository for Maven</name>
- <url>http://download.java.net/maven/2/</url>
- <layout>default</layout>
- </repository>
- </repositories>
-
- <dependencies>
-
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-core</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-spring</artifactId>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-context-support</artifactId>
- <version>${spring-version}</version>
- </dependency>
- <dependency>
- <groupId>javax.mail</groupId>
- <artifactId>mail</artifactId>
- </dependency>
-
-
- <!-- testing -->
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-core</artifactId>
- <type>test-jar</type>
- <optional>true</optional>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.jvnet.mock-javamail</groupId>
- <artifactId>mock-javamail</artifactId>
- <version>1.1</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
+ <parent>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-parent</artifactId>
+ <version>1.4-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>camel-mail</artifactId>
+ <packaging>bundle</packaging>
+ <name>Camel :: Mail</name>
+ <description>Camel Mail support</description>
+
+ <properties>
+ <camel.osgi.export.pkg>org.apache.camel.component.mail.*</camel.osgi.export.pkg>
+ </properties>
+
+ <repositories>
+ <!-- for jvnet mock-mail -->
+ <repository>
+ <id>maven2-repository.dev.java.net</id>
+ <name>Java.net Repository for Maven</name>
+ <url>http://download.java.net/maven/2/</url>
+ <layout>default</layout>
+ </repository>
+ </repositories>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-spring</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-context-support</artifactId>
+ <version>${spring-version}</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.mail</groupId>
+ <artifactId>mail</artifactId>
+ </dependency>
+
+
+ <!-- testing -->
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-core</artifactId>
+ <type>test-jar</type>
+ <optional>true</optional>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jvnet.mock-javamail</groupId>
+ <artifactId>mock-javamail</artifactId>
+ <version>1.7</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
</project>
Modified: activemq/camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailComponentTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailComponentTest.java?rev=650382&r1=650381&r2=650382&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailComponentTest.java (original)
+++ activemq/camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailComponentTest.java Mon Apr 21 22:03:02 2008
@@ -31,6 +31,8 @@
assertEquals("getHost()", "myhost", config.getHost());
assertEquals("getPort()", 30, config.getPort());
assertEquals("getUsername()", "james", config.getUsername());
+ assertEquals("getDestination()", "james@myhost", config.getDestination());
+ assertEquals("folder", "INBOX", config.getFolderName());
}
public void testMailEndpointsAreConfiguredProperlyWhenUsingImap() throws Exception {
@@ -40,6 +42,8 @@
assertEquals("getHost()", "myhost", config.getHost());
assertEquals("getPort()", 30, config.getPort());
assertEquals("getUsername()", "james", config.getUsername());
+ assertEquals("getDestination()", "james@myhost", config.getDestination());
+ assertEquals("folder", "INBOX", config.getFolderName());
}
public void testMailEndpointsAreConfiguredProperlyWhenUsingPop() throws Exception {
@@ -49,8 +53,41 @@
assertEquals("getHost()", "myhost", config.getHost());
assertEquals("getPort()", 30, config.getPort());
assertEquals("getUsername()", "james", config.getUsername());
+ assertEquals("getDestination()", "james@myhost", config.getDestination());
+ assertEquals("folder", "INBOX", config.getFolderName());
}
+ public void testDefaultConfiguration() throws Exception {
+ MailEndpoint endpoint = resolveMandatoryEndpoint("smtp://james@myhost?password=secret");
+ MailConfiguration config = endpoint.getConfiguration();
+ assertEquals("getProtocol()", "smtp", config.getProtocol());
+ assertEquals("getHost()", "myhost", config.getHost());
+ assertEquals("getPort()", -1, config.getPort());
+ assertEquals("getUsername()", "james", config.getUsername());
+ assertEquals("getDestination()", "james@myhost", config.getDestination());
+ assertEquals("folder", "INBOX", config.getFolderName());
+ assertEquals("encoding", null, config.getDefaultEncoding());
+ assertEquals("from", "camel@localhost", config.getFrom());
+ assertEquals("password", "secret", config.getPassword());
+ assertEquals(true, config.isDeleteProcessedMessages());
+ assertEquals(false, config.isIgnoreUriScheme());
+ }
+
+ public void testManyConfigurations() throws Exception {
+ MailEndpoint endpoint = resolveMandatoryEndpoint("smtp://james@myhost:30/subject?password=secret&from=me@camelriders.org&DeleteProcessedMessages=false&defaultEncoding=iso-8859-1&folderName=riders");
+ MailConfiguration config = endpoint.getConfiguration();
+ assertEquals("getProtocol()", "smtp", config.getProtocol());
+ assertEquals("getHost()", "myhost", config.getHost());
+ assertEquals("getPort()", 30, config.getPort());
+ assertEquals("getUsername()", "james", config.getUsername());
+ assertEquals("getDestination()", "james@myhost", config.getDestination());
+ assertEquals("folder", "riders", config.getFolderName());
+ assertEquals("encoding", "iso-8859-1", config.getDefaultEncoding());
+ assertEquals("from", "me@camelriders.org", config.getFrom());
+ assertEquals("password", "secret", config.getPassword());
+ assertEquals(false, config.isDeleteProcessedMessages());
+ assertEquals(false, config.isIgnoreUriScheme());
+ }
@Override
protected MailEndpoint resolveMandatoryEndpoint(String uri) {
Modified: activemq/camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailMessageTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailMessageTest.java?rev=650382&r1=650381&r2=650382&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailMessageTest.java (original)
+++ activemq/camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailMessageTest.java Mon Apr 21 22:03:02 2008
@@ -31,27 +31,21 @@
* @version $Revision$
*/
public class MailMessageTest extends ContextTestSupport {
- protected Session mailSession;
- protected MimeMessage mimeMessage;
- protected MailEndpoint endpoint;
- protected String body = "Hello World!";
+ private Session mailSession;
+ private MimeMessage mimeMessage;
+ private MailEndpoint endpoint;
+ private String body = "Hello World!";
public void testMailMessageHandlesMultipleHeaders() throws Exception {
mimeMessage.setRecipients(Message.RecipientType.TO, new Address[] {new InternetAddress("james@localhost"), new InternetAddress("bar@localhost")});
MailExchange exchange = endpoint.createExchange(mimeMessage);
MailMessage in = exchange.getIn();
- String value = in.getHeader("TO", String.class);
- assertEquals("value", "james@localhost, bar@localhost", value);
- /*
- * String[] values = assertIsInstanceOf(String[].class, header);
- * log.debug("Found values: " + ObjectHelper.asString(values));
- * assertEquals("Size", 2, values.length); assertEquals("values[0]",
- * "james@localhost", values[0]); assertEquals("values[1]",
- * "bar@localhost", values[1]);
- */
- assertEquals("body", body, in.getBody());
+ assertEquals("mail body", body, in.getBody());
+
+ String to = in.getHeader("TO", String.class);
+ assertEquals("should have 2 receivers", "james@localhost, bar@localhost", to);
}
public void testMailMessageHandlesSingleHeader() throws Exception {
Modified: activemq/camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailRouteTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailRouteTest.java?rev=650382&r1=650381&r2=650382&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailRouteTest.java (original)
+++ activemq/camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailRouteTest.java Mon Apr 21 22:03:02 2008
@@ -18,7 +18,6 @@
import java.io.IOException;
import java.util.HashMap;
-
import javax.mail.Message;
import javax.mail.Message.RecipientType;
import javax.mail.MessagingException;
@@ -27,19 +26,15 @@
import org.apache.camel.Exchange;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
-
import org.jvnet.mock_javamail.Mailbox;
-import static org.apache.camel.util.ObjectHelper.asString;
-
/**
* @version $Revision$
*/
public class MailRouteTest extends ContextTestSupport {
- private MockEndpoint resultEndpoint;
public void testSendAndReceiveMails() throws Exception {
- resultEndpoint = getMockEndpoint("mock:result");
+ MockEndpoint resultEndpoint = getMockEndpoint("mock:result");
resultEndpoint.expectedBodiesReceived("hello world!");
HashMap<String, Object> headers = new HashMap<String, Object>();
@@ -49,8 +44,7 @@
// lets test the first sent worked
assertMailboxReceivedMessages("route-test-james@localhost");
- // lets sleep to check that the mail poll does not redeliver duplicate
- // mails
+ // lets sleep to check that the mail poll does not redeliver duplicate mails
Thread.sleep(3000);
// lets test the receive worked
@@ -70,7 +64,9 @@
Message message = mailbox.get(0);
assertNotNull(name + " should have received at least one mail!", message);
- logMessage(message);
+ assertEquals("hello world!", message.getContent());
+ assertEquals("camel@localhost", message.getFrom()[0].toString());
+ assertEquals(name, message.getRecipients(RecipientType.TO)[0].toString());
}
@Override
@@ -84,7 +80,4 @@
};
}
- protected void logMessage(Message message) throws IOException, MessagingException {
- log.info("Received: " + message.getContent() + " from: " + asString(message.getFrom()) + " to: " + asString(message.getRecipients(RecipientType.TO)));
- }
}
Modified: activemq/camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MimeMessageConsumeTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MimeMessageConsumeTest.java?rev=650382&r1=650381&r2=650382&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MimeMessageConsumeTest.java (original)
+++ activemq/camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MimeMessageConsumeTest.java Mon Apr 21 22:03:02 2008
@@ -36,11 +36,10 @@
* @version $Revision$
*/
public class MimeMessageConsumeTest extends ContextTestSupport {
- protected MockEndpoint resultEndpoint;
- protected String body = "hello world!";
+ private String body = "hello world!";
public void testSendAndReceiveMails() throws Exception {
- resultEndpoint = getMockEndpoint("mock:result");
+ MockEndpoint resultEndpoint = getMockEndpoint("mock:result");
resultEndpoint.expectedMinimumMessageCount(1);
Properties properties = new Properties();
@@ -53,17 +52,13 @@
Transport.send(message);
-
-
// lets test the receive worked
resultEndpoint.assertIsSatisfied();
Exchange exchange = resultEndpoint.getReceivedExchanges().get(0);
- log.info("Received: " + exchange.getIn().getBody());
-
String text = exchange.getIn().getBody(String.class);
- assertEquals("body", body, text);
+ assertEquals("mail body", body, text);
}
/**
Modified: activemq/camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MultipleDestinationConsumeTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MultipleDestinationConsumeTest.java?rev=650382&r1=650381&r2=650382&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MultipleDestinationConsumeTest.java (original)
+++ activemq/camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MultipleDestinationConsumeTest.java Mon Apr 21 22:03:02 2008
@@ -37,12 +37,11 @@
* @version $Revision$
*/
public class MultipleDestinationConsumeTest extends ContextTestSupport {
- protected MockEndpoint resultEndpoint;
- protected String body = "hello world!";
- protected Session mailSession;
+ private String body = "hello world!";
+ private Session mailSession;
public void testSendAndReceiveMails() throws Exception {
- resultEndpoint = getMockEndpoint("mock:result");
+ MockEndpoint resultEndpoint = getMockEndpoint("mock:result");
resultEndpoint.expectedMinimumMessageCount(1);
MimeMessage message = new MimeMessage(mailSession);
@@ -60,14 +59,18 @@
Exchange exchange = resultEndpoint.getReceivedExchanges().get(0);
org.apache.camel.Message in = exchange.getIn();
- log.debug("Received: " + in.getBody());
-
- String text = in.getBody(String.class);
- log.debug("Has headers: " + in.getHeaders());
+ assertNotNull("Should have headers", in.getHeaders());
MailExchange mailExchange = (MailExchange) exchange;
Message inMessage = mailExchange.getIn().getMessage();
assertNotNull("In message has no JavaMail message!", inMessage);
+
+ String text = in.getBody(String.class);
+ assertEquals("mail body", body, text);
+
+ String to = in.getHeader("TO", String.class);
+ assertEquals("TO Header", "james@localhost, bar@localhost", to);
+
Enumeration iter = inMessage.getAllHeaders();
while (iter.hasMoreElements()) {
Header header = (Header) iter.nextElement();
@@ -75,13 +78,6 @@
log.debug("Header: " + header.getName() + " has value: " + ObjectHelper.asString(value));
}
- assertEquals("body", body, text);
- Object value = in.getHeader("TO");
- assertEquals("TO Header", "james@localhost, bar@localhost", value);
-/*
- List list = assertIsInstanceOf(List.class, value);
- assertEquals("to list", 2, list.size());
-*/
}
@Override
Modified: activemq/camel/trunk/components/camel-mail/src/test/resources/log4j.properties
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-mail/src/test/resources/log4j.properties?rev=650382&r1=650381&r2=650382&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-mail/src/test/resources/log4j.properties (original)
+++ activemq/camel/trunk/components/camel-mail/src/test/resources/log4j.properties Mon Apr 21 22:03:02 2008
@@ -16,15 +16,20 @@
## ------------------------------------------------------------------------
#
-# The logging properties used for eclipse testing, We want to see debug output on the console.
+# The logging properties used during tests..
#
-log4j.rootLogger=INFO, out
-
-#log4j.logger.org.apache.activemq=DEBUG
-#log4j.logger.org.apache.camel=DEBUG
+log4j.rootLogger=INFO, file
# CONSOLE appender not used by default
-log4j.appender.out=org.apache.log4j.ConsoleAppender
-log4j.appender.out.layout=org.apache.log4j.PatternLayout
-log4j.appender.out.layout.ConversionPattern=[%30.30t] %-30.30c{1} %-5p %m%n
-#log4j.appender.out.layout.ConversionPattern=%d [%-15.15t] %-5p %-30.30c{1} - %m%n
+log4j.appender.console=org.apache.log4j.ConsoleAppender
+log4j.appender.console.layout=org.apache.log4j.PatternLayout
+log4j.appender.console.layout.ConversionPattern=%d %-5p %c{1} - %m %n
+
+# File appender
+log4j.appender.file=org.apache.log4j.FileAppender
+log4j.appender.file.layout=org.apache.log4j.PatternLayout
+log4j.appender.file.layout.ConversionPattern=%d %-5p %c{1} - %m %n
+log4j.appender.file.file=target/camel-mail-test.log
+
+# debug logging for Camel
+log4j.logger.org.apache.camel.component.mail=DEBUG
\ No newline at end of file