Author: davsclaus
Date: Mon Oct 19 08:23:06 2009
New Revision: 826603
URL: http://svn.apache.org/viewvc?rev=826603&view=rev
Log:
MR-195: Added more unit tests.
Added:
camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailConvertersTest.java
(with props)
camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailEndpointTest.java
(with props)
Modified:
camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailComponent.java
camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConfiguration.java
camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConverters.java
camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailComponentTest.java
Modified:
camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailComponent.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailComponent.java?rev=826603&r1=826602&r2=826603&view=diff
==============================================================================
---
camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailComponent.java
(original)
+++
camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailComponent.java
Mon Oct 19 08:23:06 2009
@@ -70,9 +70,6 @@
// sanity check that we know the mail server
ObjectHelper.notEmpty(config.getHost(), "host");
ObjectHelper.notEmpty(config.getProtocol(), "protocol");
- if (config.getPort() <= 0) {
- throw new IllegalArgumentException("port mut be specified");
- }
return endpoint;
}
@@ -107,14 +104,6 @@
this.configuration = configuration;
}
- /**
- * A strategy method allowing the URI destination to be translated into
the actual Mail destination name
- * (say by looking up in JNDI or something)
- */
- protected String convertPathToActualDestination(String path) {
- return path;
- }
-
public ContentTypeResolver getContentTypeResolver() {
return contentTypeResolver;
}
Modified:
camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConfiguration.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConfiguration.java?rev=826603&r1=826602&r2=826603&view=diff
==============================================================================
---
camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConfiguration.java
(original)
+++
camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConfiguration.java
Mon Oct 19 08:23:06 2009
@@ -204,10 +204,10 @@
public String getMailStoreLogInformation() {
String ssl = "";
if (isSecureProtocol()) {
- ssl = "(SSL enabled" + (dummyTrustManager ? " using
DummyTrustManager)" : ")");
+ ssl = " (SSL enabled" + (dummyTrustManager ? " using
DummyTrustManager)" : ")");
}
- return protocol + "//" + host + ":" + port + ssl + ", folder=" +
folderName;
+ return protocol + "://" + host + ":" + port + ssl + ", folder=" +
folderName;
}
// Properties
Modified:
camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConverters.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConverters.java?rev=826603&r1=826602&r2=826603&view=diff
==============================================================================
---
camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConverters.java
(original)
+++
camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConverters.java
Mon Oct 19 08:23:06 2009
@@ -78,15 +78,10 @@
/**
* Converts the given JavaMail message to an InputStream.
- * Can return null.
*/
@Converter
public static InputStream toInputStream(Message message) throws
IOException, MessagingException {
- String s = toString(message);
- if (s == null) {
- return null;
- }
- return IOConverter.toInputStream(s, null);
+ return message.getInputStream();
}
/**
Modified:
camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailComponentTest.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailComponentTest.java?rev=826603&r1=826602&r2=826603&view=diff
==============================================================================
---
camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailComponentTest.java
(original)
+++
camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailComponentTest.java
Mon Oct 19 08:23:06 2009
@@ -37,6 +37,7 @@
assertEquals("getUsername()", "james", config.getUsername());
assertEquals("getRecipients().get(Message.RecipientType.TO)",
"ja...@myhost", config.getRecipients().get(Message.RecipientType.TO));
assertEquals("folder", "INBOX", config.getFolderName());
+ assertEquals(false, config.isDebugMode());
}
@Test
@@ -49,6 +50,7 @@
assertEquals("getUsername()", "james", config.getUsername());
assertEquals("getRecipients().get(Message.RecipientType.TO)",
"ja...@myhost", config.getRecipients().get(Message.RecipientType.TO));
assertEquals("folder", "INBOX", config.getFolderName());
+ assertEquals(false, config.isDebugMode());
}
@Test
@@ -61,6 +63,7 @@
assertEquals("getUsername()", "james", config.getUsername());
assertEquals("getRecipients().get(Message.RecipientType.TO)",
"ja...@myhost", config.getRecipients().get(Message.RecipientType.TO));
assertEquals("folder", "INBOX", config.getFolderName());
+ assertEquals(false, config.isDebugMode());
}
@Test
@@ -81,6 +84,65 @@
assertEquals("fetchSize", -1, config.getFetchSize());
assertEquals("contentType", "text/plain", config.getContentType());
assertEquals("unseen", true, config.isUnseen());
+ assertEquals(false, config.isDebugMode());
+ assertEquals(MailConstants.MAIL_DEFAULT_CONNECTION_TIMEOUT,
config.getConnectionTimeout());
+ assertEquals(false, config.isSecureProtocol());
+ assertEquals("smtp://myhost:25, folder=INBOX",
config.getMailStoreLogInformation());
+ }
+
+ @Test
+ public void testDefaultSMTPSConfiguration() throws Exception {
+ MailEndpoint endpoint =
resolveMandatoryEndpoint("smtps://ja...@myhost?password=secret");
+ MailConfiguration config = endpoint.getConfiguration();
+ assertEquals("getProtocol()", "smtps", config.getProtocol());
+ assertEquals("getHost()", "myhost", config.getHost());
+ assertEquals("getPort()", MailUtils.DEFAULT_PORT_SMTPS,
config.getPort());
+ assertEquals("getUsername()", "james", config.getUsername());
+ assertEquals("getRecipients().get(Message.RecipientType.TO)",
"ja...@myhost", config.getRecipients().get(Message.RecipientType.TO));
+ assertEquals("folder", "INBOX", config.getFolderName());
+ assertEquals("encoding", null, config.getDefaultEncoding());
+ assertEquals("from", "ca...@localhost", config.getFrom());
+ assertEquals("password", "secret", config.getPassword());
+ assertEquals(false, config.isDelete());
+ assertEquals(false, config.isIgnoreUriScheme());
+ assertEquals("fetchSize", -1, config.getFetchSize());
+ assertEquals("contentType", "text/plain", config.getContentType());
+ assertEquals("unseen", true, config.isUnseen());
+ assertEquals(false, config.isDebugMode());
+ assertEquals(MailConstants.MAIL_DEFAULT_CONNECTION_TIMEOUT,
config.getConnectionTimeout());
+ assertEquals(true, config.isSecureProtocol());
+ assertEquals("smtps://myhost:465 (SSL enabled), folder=INBOX",
config.getMailStoreLogInformation());
+ }
+
+ @Test
+ public void testDebugMode() throws Exception {
+ MailEndpoint endpoint =
resolveMandatoryEndpoint("smtp://ja...@myhost?password=secret&debugMode=true");
+ MailConfiguration config = endpoint.getConfiguration();
+ assertEquals(true, config.isDebugMode());
+ }
+
+ @Test
+ public void testConnectionTimeout() throws Exception {
+ MailEndpoint endpoint =
resolveMandatoryEndpoint("smtp://ja...@myhost?password=secret&connectionTimeout=2500");
+ MailConfiguration config = endpoint.getConfiguration();
+ assertEquals(2500, config.getConnectionTimeout());
+ }
+
+ @Test
+ public void testDummyTrustManager() throws Exception {
+ MailEndpoint endpoint =
resolveMandatoryEndpoint("smtp://ja...@myhost?password=secret&dummyTrustManager=true");
+ MailConfiguration config = endpoint.getConfiguration();
+ assertEquals(true, config.isDummyTrustManager());
+ assertEquals(false, config.isSecureProtocol());
+ }
+
+ @Test
+ public void testDummyTrustManagerSecure() throws Exception {
+ MailEndpoint endpoint =
resolveMandatoryEndpoint("smtps://ja...@myhost?password=secret&dummyTrustManager=true");
+ MailConfiguration config = endpoint.getConfiguration();
+ assertEquals(true, config.isDummyTrustManager());
+ assertEquals(true, config.isSecureProtocol());
+ assertEquals("smtps://myhost:465 (SSL enabled using
DummyTrustManager), folder=INBOX", config.getMailStoreLogInformation());
}
@Test
@@ -101,6 +163,7 @@
assertEquals("fetchSize", -1, config.getFetchSize());
assertEquals("contentType", "text/plain", config.getContentType());
assertEquals("unseen", true, config.isUnseen());
+ assertEquals(false, config.isDebugMode());
}
@Test
@@ -121,6 +184,7 @@
assertEquals("fetchSize", -1, config.getFetchSize());
assertEquals("contentType", "text/plain", config.getContentType());
assertEquals("unseen", true, config.isUnseen());
+ assertEquals(false, config.isDebugMode());
}
@Test
@@ -143,6 +207,7 @@
assertEquals("fetchSize", -1, config.getFetchSize());
assertEquals("unseen", false, config.isUnseen());
assertEquals("contentType", "text/html", config.getContentType());
+ assertEquals(false, config.isDebugMode());
}
@Test
@@ -161,6 +226,7 @@
assertEquals(false, config.isDelete());
assertEquals(false, config.isIgnoreUriScheme());
assertEquals("fetchSize", -1, config.getFetchSize());
+ assertEquals(false, config.isDebugMode());
}
@Test
@@ -179,6 +245,7 @@
assertEquals(false, config.isDelete());
assertEquals(false, config.isIgnoreUriScheme());
assertEquals("fetchSize", -1, config.getFetchSize());
+ assertEquals(false, config.isDebugMode());
}
@Test
@@ -192,6 +259,7 @@
assertEquals("getRecipients().get(Message.RecipientType.TO)",
"ja...@myhost", config.getRecipients().get(Message.RecipientType.TO));
assertEquals("folder", "INBOX", config.getFolderName());
assertEquals("fetchSize", 5, config.getFetchSize());
+ assertEquals(false, config.isDebugMode());
}
@Override
@@ -199,4 +267,52 @@
Endpoint endpoint = super.resolveMandatoryEndpoint(uri);
return assertIsInstanceOf(MailEndpoint.class, endpoint);
}
+
+ @Test
+ public void testMailComponentCtr() throws Exception {
+ MailComponent comp = new MailComponent();
+ comp.setCamelContext(context);
+
+ assertNotNull(comp.getConfiguration());
+ assertNull(comp.getContentTypeResolver());
+
+ MailEndpoint endpoint = (MailEndpoint)
comp.createEndpoint("smtp://myhost:25/?password=secret&username=james");
+ assertNotNull(endpoint);
+
+ // should be a copy of the configuration
+ assertNotSame(comp.getConfiguration(), endpoint.getConfiguration());
+ }
+
+ @Test
+ public void testMailComponentCtrCamelContext() throws Exception {
+ MailComponent comp = new MailComponent(context);
+
+ assertNotNull(comp.getConfiguration());
+ assertNull(comp.getContentTypeResolver());
+
+ MailEndpoint endpoint = (MailEndpoint)
comp.createEndpoint("smtp://myhost:25/?password=secret&username=james");
+ assertNotNull(endpoint);
+
+ // should be a copy of the configuration
+ assertNotSame(comp.getConfiguration(), endpoint.getConfiguration());
+ }
+
+ @Test
+ public void testMailComponentCtrConfig() throws Exception {
+ MailConfiguration config = new MailConfiguration();
+ config.setUsername("james");
+ config.setPassword("secret");
+
+ MailComponent comp = new MailComponent(config);
+ comp.setCamelContext(context);
+
+ assertSame(config, comp.getConfiguration());
+ assertNull(comp.getContentTypeResolver());
+
+ MailEndpoint endpoint = (MailEndpoint)
comp.createEndpoint("smtp://myhost/");
+ assertEquals("james", endpoint.getConfiguration().getUsername());
+ assertEquals("secret", endpoint.getConfiguration().getPassword());
+ assertEquals("myhost", endpoint.getConfiguration().getHost());
+ }
}
+
Added:
camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailConvertersTest.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailConvertersTest.java?rev=826603&view=auto
==============================================================================
---
camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailConvertersTest.java
(added)
+++
camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailConvertersTest.java
Mon Oct 19 08:23:06 2009
@@ -0,0 +1,128 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.mail;
+
+import java.io.InputStream;
+import javax.mail.Message;
+import javax.mail.Multipart;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.Processor;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.test.junit4.CamelTestSupport;
+import org.junit.Test;
+
+/**
+ * @version $Revision$
+ */
+public class MailConvertersTest extends CamelTestSupport {
+
+ @Test
+ public void testMailMessageToString() throws Exception {
+ MockEndpoint mock = getMockEndpoint("mock:result");
+ mock.expectedMessageCount(1);
+
+ template.sendBodyAndHeader("direct:a", "Hello World", "Subject",
"Camel rocks");
+
+ assertMockEndpointsSatisfied();
+
+ Message mailMessage =
mock.getReceivedExchanges().get(0).getIn().getBody(MailMessage.class).getMessage();
+ assertNotNull(mailMessage);
+
+ String s = MailConverters.toString(mailMessage);
+ assertEquals("Hello World", s);
+ }
+
+ @Test
+ public void testMailMessageToInputStream() throws Exception {
+ MockEndpoint mock = getMockEndpoint("mock:result");
+ mock.expectedMessageCount(1);
+
+ template.sendBodyAndHeader("direct:a", "Hello World", "Subject",
"Camel rocks");
+
+ assertMockEndpointsSatisfied();
+
+ Message mailMessage =
mock.getReceivedExchanges().get(0).getIn().getBody(MailMessage.class).getMessage();
+ assertNotNull(mailMessage);
+
+ InputStream is = MailConverters.toInputStream(mailMessage);
+ assertNotNull(is);
+ assertEquals("Hello World",
context.getTypeConverter().convertTo(String.class, is));
+ }
+
+ @Test
+ public void testMultipartToInputStream() throws Exception {
+ MockEndpoint mock = getMockEndpoint("mock:result");
+ mock.expectedMessageCount(1);
+
+ template.send("direct:a", new Processor() {
+ public void process(Exchange exchange) throws Exception {
+ exchange.getIn().setBody("Hello World");
+
exchange.getIn().setHeader(MailConstants.MAIL_ALTERNATIVE_BODY, "Alternative
World");
+ }
+ });
+
+ assertMockEndpointsSatisfied();
+
+ Message mailMessage =
mock.getReceivedExchanges().get(0).getIn().getBody(MailMessage.class).getMessage();
+ assertNotNull(mailMessage);
+
+ Object content = mailMessage.getContent();
+ Multipart mp = assertIsInstanceOf(Multipart.class, content);
+
+ InputStream is = MailConverters.toInputStream(mp);
+ assertNotNull(is);
+ assertEquals("Alternative World",
context.getTypeConverter().convertTo(String.class, is));
+ }
+
+ @Test
+ public void testMultipartToString() throws Exception {
+ MockEndpoint mock = getMockEndpoint("mock:result");
+ mock.expectedMessageCount(1);
+
+ template.send("direct:a", new Processor() {
+ public void process(Exchange exchange) throws Exception {
+ exchange.getIn().setBody("Hello World");
+
exchange.getIn().setHeader(MailConstants.MAIL_ALTERNATIVE_BODY, "Alternative
World");
+ }
+ });
+
+ assertMockEndpointsSatisfied();
+
+ Message mailMessage =
mock.getReceivedExchanges().get(0).getIn().getBody(MailMessage.class).getMessage();
+ assertNotNull(mailMessage);
+
+ Object content = mailMessage.getContent();
+ Multipart mp = assertIsInstanceOf(Multipart.class, content);
+
+ String s = MailConverters.toString(mp);
+ assertEquals("Alternative World", s);
+ }
+
+ @Override
+ protected RouteBuilder createRouteBuilder() throws Exception {
+ return new RouteBuilder() {
+ @Override
+ public void configure() throws Exception {
+
from("direct:a").to("smtp://localhost?username=ja...@localhost");
+
+
from("pop3://localhost?username=james&password=secret&consumer.delay=1000").to("mock:result");
+ }
+ };
+ }
+}
Propchange:
camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailConvertersTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailConvertersTest.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added:
camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailEndpointTest.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailEndpointTest.java?rev=826603&view=auto
==============================================================================
---
camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailEndpointTest.java
(added)
+++
camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailEndpointTest.java
Mon Oct 19 08:23:06 2009
@@ -0,0 +1,90 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.mail;
+
+import org.apache.camel.test.junit4.CamelTestSupport;
+import org.junit.Test;
+
+/**
+ * @version $Revision$
+ */
+public class MailEndpointTest extends CamelTestSupport {
+
+ @Test
+ public void testMailEndpointCtr() throws Exception {
+ MailEndpoint endpoint = new MailEndpoint();
+ assertNull(endpoint.getConfiguration());
+ assertNull(endpoint.getContentTypeResolver());
+ assertNotNull(endpoint.getBinding());
+ assertNotNull(endpoint.getHeaderFilterStrategy());
+
+ MailConfiguration cfg = new MailConfiguration();
+ cfg.setPort(21);
+ cfg.setProtocol("smtp");
+ cfg.setHost("myhost");
+ cfg.setUsername("james");
+ cfg.setPassword("secret");
+
+ endpoint.setConfiguration(cfg);
+ assertSame(cfg, endpoint.getConfiguration());
+ }
+
+ @Test
+ public void testMailEndpointCtrEndpoint() throws Exception {
+ MailEndpoint endpoint = new MailEndpoint("smtp://myhost");
+ assertNull(endpoint.getContentTypeResolver());
+ assertNotNull(endpoint.getConfiguration());
+ assertNotNull(endpoint.getBinding());
+ assertNotNull(endpoint.getHeaderFilterStrategy());
+
+ MailConfiguration cfg = new MailConfiguration();
+ cfg.setPort(21);
+ cfg.setProtocol("smtp");
+ cfg.setHost("myhost");
+ cfg.setUsername("james");
+ cfg.setPassword("secret");
+
+ endpoint.setConfiguration(cfg);
+ assertSame(cfg, endpoint.getConfiguration());
+ }
+
+ @Test
+ public void testMailEndpointCtrEndpointConfig() throws Exception {
+ MailConfiguration cfg = new MailConfiguration();
+ cfg.setPort(21);
+ cfg.setProtocol("smtp");
+ cfg.setHost("myhost");
+ cfg.setUsername("james");
+ cfg.setPassword("secret");
+
+ MailEndpoint endpoint = new MailEndpoint("smtp://myhost", cfg);
+ assertSame(cfg, endpoint.getConfiguration());
+ assertNull(endpoint.getContentTypeResolver());
+ assertNotNull(endpoint.getBinding());
+ assertNotNull(endpoint.getHeaderFilterStrategy());
+
+ MailBinding bnd = endpoint.getBinding();
+ MyMailBinding myBnd = new MyMailBinding();
+ endpoint.setBinding(myBnd);
+ assertSame(myBnd, endpoint.getBinding());
+ }
+
+ private class MyMailBinding extends MailBinding {
+
+ }
+
+}
Propchange:
camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailEndpointTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailEndpointTest.java
------------------------------------------------------------------------------
svn:keywords = Rev Date