Package hudson.maven

Source Code of hudson.maven.ExecutedMojoTest

package hudson.maven;

import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;

import org.apache.maven.plugin.MojoExecution;
import org.apache.maven.plugin.descriptor.MojoDescriptor;
import org.apache.maven.plugin.descriptor.PluginDescriptor;
import org.codehaus.plexus.classworlds.realm.ClassRealm;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.jvnet.hudson.test.Bug;

/**
* Unit test for {@link ExecutedMojo}.
*
* @author kutzi
*/
public class ExecutedMojoTest {
   
    private MojoDescriptor mojoDescriptor;
    private Level oldLevel;
   
    @Before
    public void before() {
        PluginDescriptor pluginDescriptor = new PluginDescriptor();
        pluginDescriptor.setGroupId("com.test");
        pluginDescriptor.setArtifactId("testPlugin");
        pluginDescriptor.setVersion("1.0");
       
        ClassRealm classRealm = new ClassRealm(null, "test", getClass().getClassLoader());
        pluginDescriptor.setClassRealm(classRealm);
       
        MojoDescriptor descriptor = new MojoDescriptor();
        descriptor.setPluginDescriptor(pluginDescriptor);
        this.mojoDescriptor = descriptor;
       
        this.oldLevel = Logger.getLogger(ExecutedMojo.class.getName()).getLevel();
        Logger.getLogger(ExecutedMojo.class.getName()).setLevel(Level.SEVERE);
    }
   
    @After
    public void after() {
        Logger.getLogger(ExecutedMojo.class.getName()).setLevel(oldLevel);
    }
   
    @Test
    public void testMojoFromJarFile() throws IOException, InterruptedException {
        // Faking JUnit's Assert to be the plugin class
        this.mojoDescriptor.setImplementation(Assert.class.getName());
        MojoExecution execution = new MojoExecution(this.mojoDescriptor);
        MojoInfo info = new MojoInfo(execution, null, null, null);
       
        ExecutedMojo executedMojo = new ExecutedMojo(info, 1L);
       
        Assert.assertNotNull(executedMojo.digest);
    }
   
    @Test
    @Bug(5044)
    public void testMojoFromClassesDirectory() throws IOException, InterruptedException {
        // Faking this class as the mojo impl:
        this.mojoDescriptor.setImplementation(getClass().getName());
        MojoExecution execution = new MojoExecution(this.mojoDescriptor);
        MojoInfo info = new MojoInfo(execution, null, null, null);
       
        ExecutedMojo executedMojo = new ExecutedMojo(info, 1L);
       
        Assert.assertEquals("com.test", executedMojo.groupId);
    }
}
TOP

Related Classes of hudson.maven.ExecutedMojoTest

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.