Package hudson.plugins.emailext

Source Code of hudson.plugins.emailext.EmailTypeTest

package hudson.plugins.emailext;
import hudson.model.FreeStyleProject;
import hudson.plugins.emailext.plugins.recipients.DevelopersRecipientProvider;
import hudson.plugins.emailext.plugins.recipients.ListRecipientProvider;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.net.URL;
import javax.xml.transform.Source;
import javax.xml.transform.stream.StreamSource;
import org.junit.Test;

import static org.junit.Assert.*;
import org.junit.Rule;
import org.jvnet.hudson.test.JenkinsRule;

public class EmailTypeTest {
   
    @Rule
    public static final JenkinsRule j = new JenkinsRule();

    @Test
    public void testHasNoRecipients() {
        EmailType t = new EmailType();

        assertFalse(t.getHasRecipients());
    }

    @Test
    public void testHasDeveloperRecipients() {
        EmailType t = new EmailType();
       
        t.addRecipientProvider(new DevelopersRecipientProvider());
       
        assertTrue(t.getHasRecipients());
    }

    @Test
    public void testHasRecipientList() {
        EmailType t = new EmailType();
       
        t.addRecipientProvider(new ListRecipientProvider());
       
        assertTrue(t.getHasRecipients());
    }

    @Test
    public void testHasDeveloperAndRecipientList() {
        EmailType t = new EmailType();

        t.addRecipientProvider(new ListRecipientProvider());
        t.addRecipientProvider(new DevelopersRecipientProvider());

        assertTrue(t.getHasRecipients());
    }

    @Test
    public void testCompressBuildAttachment() {
        EmailType t = new EmailType();
        t.setCompressBuildLog(true);

        assertTrue(t.getCompressBuildLog());
    }

    @Test
    public void testDefaultCompressBuildAttachment() {
        EmailType t = new EmailType();

        assertFalse(t.getCompressBuildLog());
    }
   
    @Test
    public void testUpgadeToRecipientProvider() throws IOException {
        URL url = this.getClass().getResource("/recipient-provider-upgrade.xml");
        File jobConfig = new File(url.getFile());   

        final ExtendedEmailPublisherDescriptor desc = j.jenkins.getDescriptorByType(ExtendedEmailPublisherDescriptor.class);
        FreeStyleProject prj = j.createFreeStyleProject();
        prj.updateByXml((Source)new StreamSource(new FileReader(jobConfig)));
       
        ExtendedEmailPublisher pub = (ExtendedEmailPublisher)prj.getPublisher(desc);
       
        // make sure the publisher got picked up
        assertNotNull(pub);
       
        // make sure the trigger was marshalled
        assertFalse(0 == pub.configuredTriggers.size());
       
        // should have developers, requestor and culprits
        assertEquals(3, pub.configuredTriggers.get(0).getEmail().getRecipientProviders().size());
    }
}
TOP

Related Classes of hudson.plugins.emailext.EmailTypeTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.