diff options
author | James Moger <james.moger@gitblit.com> | 2011-09-26 16:35:32 -0400 |
---|---|---|
committer | James Moger <james.moger@gitblit.com> | 2011-09-26 16:35:32 -0400 |
commit | 7e099b44ccd6fca3f195b5867f86cce31e558fee (patch) | |
tree | a5a57fd149ed0e013f7f15e405046e4bb8319b3e | |
parent | be4c470c87ce5741f204556b6f85f2108fb0d72d (diff) | |
download | gitblit-7e099b44ccd6fca3f195b5867f86cce31e558fee.tar.gz gitblit-7e099b44ccd6fca3f195b5867f86cce31e558fee.zip |
Unit test of the MailExecutor.
-rw-r--r-- | .gitignore | 3 | ||||
-rw-r--r-- | src/com/gitblit/MailExecutor.java | 16 | ||||
-rw-r--r-- | tests/com/gitblit/tests/MailTest.java | 38 |
3 files changed, 54 insertions, 3 deletions
@@ -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());
+ }
+}
|