summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Moger <james.moger@gitblit.com>2011-09-26 16:35:32 -0400
committerJames Moger <james.moger@gitblit.com>2011-09-26 16:35:32 -0400
commit7e099b44ccd6fca3f195b5867f86cce31e558fee (patch)
treea5a57fd149ed0e013f7f15e405046e4bb8319b3e
parentbe4c470c87ce5741f204556b6f85f2108fb0d72d (diff)
downloadgitblit-7e099b44ccd6fca3f195b5867f86cce31e558fee.tar.gz
gitblit-7e099b44ccd6fca3f195b5867f86cce31e558fee.zip
Unit test of the MailExecutor.
-rw-r--r--.gitignore3
-rw-r--r--src/com/gitblit/MailExecutor.java16
-rw-r--r--tests/com/gitblit/tests/MailTest.java38
3 files changed, 54 insertions, 3 deletions
diff --git a/.gitignore b/.gitignore
index 389f6635..0b215f1e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,4 +14,5 @@
/*.war
/proposals
/*.jar
-/federation.properties \ No newline at end of file
+/federation.properties
+/mailtest.properties
diff --git a/src/com/gitblit/MailExecutor.java b/src/com/gitblit/MailExecutor.java
index 202875ed..bfe2232f 100644
--- a/src/com/gitblit/MailExecutor.java
+++ b/src/com/gitblit/MailExecutor.java
@@ -145,8 +145,11 @@ public class MailExecutor implements Runnable {
public Message createMessage(List<String> toAddresses) {
MimeMessage message = new MimeMessage(session);
try {
- InternetAddress from = new InternetAddress(settings.getString(Keys.mail.fromAddress,
- "gitblit@gitblit.com"), "Gitblit");
+ String fromAddress = settings.getString(Keys.mail.fromAddress, null);
+ if (StringUtils.isEmpty(fromAddress)) {
+ fromAddress = "gitblit@gitblit.com";
+ }
+ InternetAddress from = new InternetAddress(fromAddress, "Gitblit");
message.setFrom(from);
InternetAddress[] tos = new InternetAddress[toAddresses.size()];
@@ -162,6 +165,15 @@ public class MailExecutor implements Runnable {
}
/**
+ * Returns the status of the mail queue.
+ *
+ * @return true, if the queue is empty
+ */
+ public boolean hasEmptyQueue() {
+ return queue.isEmpty();
+ }
+
+ /**
* Queue's an email message to be sent.
*
* @param message
diff --git a/tests/com/gitblit/tests/MailTest.java b/tests/com/gitblit/tests/MailTest.java
new file mode 100644
index 00000000..55002cee
--- /dev/null
+++ b/tests/com/gitblit/tests/MailTest.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright 2011 gitblit.com.
+ *
+ * Licensed 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 com.gitblit.tests;
+
+import javax.mail.Message;
+
+import junit.framework.TestCase;
+
+import com.gitblit.FileSettings;
+import com.gitblit.MailExecutor;
+
+public class MailTest extends TestCase {
+
+ public void testSendMail() throws Exception {
+ FileSettings settings = new FileSettings("mailtest.properties");
+ MailExecutor mail = new MailExecutor(settings);
+ Message message = mail.createMessageForAdministrators();
+ message.setSubject("Test");
+ message.setText("this is a test");
+ mail.queue(message);
+ mail.run();
+
+ assertTrue("mail queue is not empty!", mail.hasEmptyQueue());
+ }
+}