Class AbstractMojoTestCase

java.lang.Object
junit.framework.Assert
junit.framework.TestCase
org.codehaus.plexus.PlexusTestCase
org.apache.maven.plugin.testing.AbstractMojoTestCase
All Implemented Interfaces:
junit.framework.Test

public abstract class AbstractMojoTestCase extends org.codehaus.plexus.PlexusTestCase
TODO: add a way to use the plugin POM for the lookup so that the user doesn't have to provide the a:g:v:goal as the role hint for the mojo lookup. TODO: standardize the execution of the mojo and looking at the results, but could simply have a template method for verifying the state of the mojo post execution TODO: need a way to look at the state of the mojo without adding getters, this could be where we finally specify the expressions which extract values from the mojo. TODO: create a standard directory structure for picking up POMs to make this even easier, we really just need a testing descriptor and make this entirely declarative!
Author:
jesse
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    addGuiceModules(List<com.google.inject.Module> modules)
     
    protected <T extends org.apache.maven.plugin.Mojo>
    T
    configureMojo(T mojo, String artifactId, File pom)
    Configure the mojo
    protected <T extends org.apache.maven.plugin.Mojo>
    T
    configureMojo(T mojo, org.codehaus.plexus.configuration.PlexusConfiguration pluginConfiguration)
    Configure the mojo with the given plexus configuration
    protected org.codehaus.plexus.configuration.PlexusConfiguration
     
    protected org.codehaus.plexus.configuration.PlexusConfiguration
    extractPluginConfiguration(String artifactId, org.codehaus.plexus.util.xml.Xpp3Dom pomDom)
     
    protected org.codehaus.plexus.PlexusContainer
     
    protected String
     
    protected String
     
    protected InputStream
     
    protected Map<String,Object>
    Convenience method to obtain all variables and values from the mojo (including its superclasses) Note: the values in the map are of type Object so the caller is responsible for casting to desired types.
    protected Map<String,Object>
    Convenience method to obtain all variables and values from the mojo (including its superclasses) Note: the values in the map are of type Object so the caller is responsible for casting to desired types.
    protected <T> T
    Convenience method to obtain the value of a variable on a mojo that might not have a getter.
    protected <T extends org.apache.maven.plugin.Mojo>
    T
    lookupConfiguredMojo(org.apache.maven.execution.MavenSession session, org.apache.maven.plugin.MojoExecution execution)
     
    protected <T extends org.apache.maven.plugin.Mojo>
    T
    lookupConfiguredMojo(org.apache.maven.project.MavenProject project, String goal)
     
    protected <T extends org.apache.maven.plugin.Mojo>
    T
    Lookup the mojo leveraging the actual subprojects pom
    protected <T extends org.apache.maven.plugin.Mojo>
    T
    lookupEmptyMojo(String goal, String pluginPom)
    Lookup an empty mojo
    protected <T extends org.apache.maven.plugin.Mojo>
    T
    lookupMojo(String goal, File pom)
    Lookup the mojo leveraging the actual subprojects pom
    protected <T extends org.apache.maven.plugin.Mojo>
    T
    lookupMojo(String goal, String pluginPom)
    Lookup the mojo leveraging the subproject pom
    protected <T extends org.apache.maven.plugin.Mojo>
    T
    lookupMojo(String groupId, String artifactId, String version, String goal, org.codehaus.plexus.configuration.PlexusConfiguration pluginConfiguration)
    lookup the mojo while we have all of the relavent information
    protected org.apache.maven.execution.MavenSession
    newMavenSession(org.apache.maven.project.MavenProject project)
     
    protected org.apache.maven.plugin.MojoExecution
     
    protected void
     
    protected void
     
    protected org.codehaus.plexus.ContainerConfiguration
     
    protected <T> void
    setVariableValueToObject(Object object, String variable, T value)
    Convenience method to set values to variables in objects that don't have setters

    Methods inherited from class org.codehaus.plexus.PlexusTestCase

    customizeContainerConfiguration, customizeContext, getBasedir, getClassLoader, getConfigurationName, getCustomConfigurationName, getResourceAsStream, getTestConfiguration, getTestConfiguration, getTestFile, getTestFile, getTestPath, getTestPath, lookup, lookup, lookup, lookup, release, tearDown, teardownContainer

    Methods inherited from class junit.framework.TestCase

    assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, countTestCases, createResult, fail, fail, failNotEquals, failNotSame, failSame, format, getName, run, run, runBare, runTest, setName, toString

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • AbstractMojoTestCase

      public AbstractMojoTestCase()
  • Method Details

    • setUp

      protected void setUp() throws Exception
      Overrides:
      setUp in class org.codehaus.plexus.PlexusTestCase
      Throws:
      Exception
    • getPublicDescriptorStream

      protected InputStream getPublicDescriptorStream() throws Exception
      Throws:
      Exception
    • getPluginDescriptorPath

      protected String getPluginDescriptorPath()
    • getPluginDescriptorLocation

      protected String getPluginDescriptorLocation()
    • setupContainer

      protected void setupContainer()
      Overrides:
      setupContainer in class org.codehaus.plexus.PlexusTestCase
    • addGuiceModules

      protected void addGuiceModules(List<com.google.inject.Module> modules)
      Since:
      3.0.0
    • setupContainerConfiguration

      protected org.codehaus.plexus.ContainerConfiguration setupContainerConfiguration()
    • getContainer

      protected org.codehaus.plexus.PlexusContainer getContainer()
      Overrides:
      getContainer in class org.codehaus.plexus.PlexusTestCase
    • lookupMojo

      protected <T extends org.apache.maven.plugin.Mojo> T lookupMojo(String goal, String pluginPom) throws Exception
      Lookup the mojo leveraging the subproject pom
      Parameters:
      goal -
      pluginPom -
      Returns:
      a Mojo instance
      Throws:
      Exception
    • lookupEmptyMojo

      protected <T extends org.apache.maven.plugin.Mojo> T lookupEmptyMojo(String goal, String pluginPom) throws Exception
      Lookup an empty mojo
      Parameters:
      goal -
      pluginPom -
      Returns:
      a Mojo instance
      Throws:
      Exception
    • lookupMojo

      protected <T extends org.apache.maven.plugin.Mojo> T lookupMojo(String goal, File pom) throws Exception
      Lookup the mojo leveraging the actual subprojects pom
      Parameters:
      goal -
      pom -
      Returns:
      a Mojo instance
      Throws:
      Exception
    • lookupEmptyMojo

      protected <T extends org.apache.maven.plugin.Mojo> T lookupEmptyMojo(String goal, File pom) throws Exception
      Lookup the mojo leveraging the actual subprojects pom
      Parameters:
      goal -
      pom -
      Returns:
      a Mojo instance
      Throws:
      Exception
    • lookupMojo

      protected <T extends org.apache.maven.plugin.Mojo> T lookupMojo(String groupId, String artifactId, String version, String goal, org.codehaus.plexus.configuration.PlexusConfiguration pluginConfiguration) throws Exception
      lookup the mojo while we have all of the relavent information
      Parameters:
      groupId -
      artifactId -
      version -
      goal -
      pluginConfiguration -
      Returns:
      a Mojo instance
      Throws:
      Exception
    • lookupConfiguredMojo

      protected <T extends org.apache.maven.plugin.Mojo> T lookupConfiguredMojo(org.apache.maven.project.MavenProject project, String goal) throws Exception
      Parameters:
      project -
      goal -
      Returns:
      Throws:
      Exception
      Since:
      2.0
    • lookupConfiguredMojo

      protected <T extends org.apache.maven.plugin.Mojo> T lookupConfiguredMojo(org.apache.maven.execution.MavenSession session, org.apache.maven.plugin.MojoExecution execution) throws Exception, org.codehaus.plexus.component.configurator.ComponentConfigurationException
      Parameters:
      session -
      execution -
      Returns:
      Throws:
      Exception
      org.codehaus.plexus.component.configurator.ComponentConfigurationException
      Since:
      2.0
    • newMavenSession

      protected org.apache.maven.execution.MavenSession newMavenSession(org.apache.maven.project.MavenProject project)
      Parameters:
      project -
      Returns:
      Since:
      2.0
    • newMojoExecution

      protected org.apache.maven.plugin.MojoExecution newMojoExecution(String goal)
      Parameters:
      goal -
      Returns:
      Since:
      2.0
    • extractPluginConfiguration

      protected org.codehaus.plexus.configuration.PlexusConfiguration extractPluginConfiguration(String artifactId, File pom) throws Exception
      Parameters:
      artifactId -
      pom -
      Returns:
      the plexus configuration
      Throws:
      Exception
    • extractPluginConfiguration

      protected org.codehaus.plexus.configuration.PlexusConfiguration extractPluginConfiguration(String artifactId, org.codehaus.plexus.util.xml.Xpp3Dom pomDom) throws Exception
      Parameters:
      artifactId -
      pomDom -
      Returns:
      the plexus configuration
      Throws:
      Exception
    • configureMojo

      protected <T extends org.apache.maven.plugin.Mojo> T configureMojo(T mojo, String artifactId, File pom) throws Exception
      Configure the mojo
      Parameters:
      mojo -
      artifactId -
      pom -
      Returns:
      a Mojo instance
      Throws:
      Exception
    • configureMojo

      protected <T extends org.apache.maven.plugin.Mojo> T configureMojo(T mojo, org.codehaus.plexus.configuration.PlexusConfiguration pluginConfiguration) throws Exception
      Configure the mojo with the given plexus configuration
      Parameters:
      mojo -
      pluginConfiguration -
      Returns:
      a Mojo instance
      Throws:
      Exception
    • getVariableValueFromObject

      protected <T> T getVariableValueFromObject(Object object, String variable) throws IllegalAccessException
      Convenience method to obtain the value of a variable on a mojo that might not have a getter. NOTE: the caller is responsible for casting to to what the desired type is.
      Parameters:
      object -
      variable -
      Returns:
      object value of variable
      Throws:
      IllegalArgumentException
      IllegalAccessException
    • getVariablesAndValuesFromObject

      protected Map<String,Object> getVariablesAndValuesFromObject(Object object) throws IllegalAccessException
      Convenience method to obtain all variables and values from the mojo (including its superclasses) Note: the values in the map are of type Object so the caller is responsible for casting to desired types.
      Parameters:
      object -
      Returns:
      map of variable names and values
      Throws:
      IllegalAccessException
    • getVariablesAndValuesFromObject

      protected Map<String,Object> getVariablesAndValuesFromObject(Class<?> clazz, Object object) throws IllegalAccessException
      Convenience method to obtain all variables and values from the mojo (including its superclasses) Note: the values in the map are of type Object so the caller is responsible for casting to desired types.
      Parameters:
      clazz -
      object -
      Returns:
      map of variable names and values
      Throws:
      IllegalAccessException
    • setVariableValueToObject

      protected <T> void setVariableValueToObject(Object object, String variable, T value) throws IllegalAccessException
      Convenience method to set values to variables in objects that don't have setters
      Parameters:
      object -
      variable -
      value -
      Throws:
      IllegalAccessException