James Moger
2011-09-26 7e099b44ccd6fca3f195b5867f86cce31e558fee
Unit test of the MailExecutor.
1 files added
2 files modified
57 ■■■■■ changed files
.gitignore 3 ●●●● patch | view | raw | blame | history
src/com/gitblit/MailExecutor.java 16 ●●●● patch | view | raw | blame | history
tests/com/gitblit/tests/MailTest.java 38 ●●●●● patch | view | raw | blame | history
.gitignore
@@ -14,4 +14,5 @@
/*.war
/proposals
/*.jar
/federation.properties
/federation.properties
/mailtest.properties
src/com/gitblit/MailExecutor.java
@@ -145,8 +145,11 @@
    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 @@
    }
    /**
     * 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
tests/com/gitblit/tests/MailTest.java
New file
@@ -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());
    }
}