org.apache.maven.plugin.testing
Class AbstractMojoTestCase

java.lang.Object
  extended by junit.framework.Assert
      extended by junit.framework.TestCase
          extended by org.codehaus.plexus.PlexusTestCase
              extended by 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!

Version:
$Id: AbstractMojoTestCase.java 1345446 2012-06-02 05:52:30Z hboutemy $
Author:
jesse

Constructor Summary
AbstractMojoTestCase()
           
 
Method Summary
protected  org.apache.maven.plugin.Mojo configureMojo(org.apache.maven.plugin.Mojo mojo, org.codehaus.plexus.configuration.PlexusConfiguration pluginConfiguration)
          Configure the mojo with the given plexus configuration
protected  org.apache.maven.plugin.Mojo configureMojo(org.apache.maven.plugin.Mojo mojo, String artifactId, File pom)
          Configure the mojo
protected  org.codehaus.plexus.configuration.PlexusConfiguration extractPluginConfiguration(String artifactId, File pom)
           
protected  org.codehaus.plexus.configuration.PlexusConfiguration extractPluginConfiguration(String artifactId, org.codehaus.plexus.util.xml.Xpp3Dom pomDom)
           
protected  org.codehaus.plexus.PlexusContainer getContainer()
           
protected  String getPluginDescriptorLocation()
           
protected  String getPluginDescriptorPath()
           
protected  InputStream getPublicDescriptorStream()
           
protected  Map<String,Object> getVariablesAndValuesFromObject(Class<?> clazz, Object 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> getVariablesAndValuesFromObject(Object 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  Object getVariableValueFromObject(Object object, String variable)
          Convenience method to obtain the value of a variable on a mojo that might not have a getter.
protected  org.apache.maven.plugin.Mojo lookupConfiguredMojo(org.apache.maven.project.MavenProject project, String goal)
           
protected  org.apache.maven.plugin.Mojo lookupConfiguredMojo(org.apache.maven.execution.MavenSession session, org.apache.maven.plugin.MojoExecution execution)
           
protected  org.apache.maven.plugin.Mojo lookupEmptyMojo(String goal, File pom)
          Lookup the mojo leveraging the actual subprojects pom
protected  org.apache.maven.plugin.Mojo lookupEmptyMojo(String goal, String pluginPom)
          Lookup an empty mojo
protected  org.apache.maven.plugin.Mojo lookupMojo(String goal, File pom)
          Lookup the mojo leveraging the actual subprojects pom
protected  org.apache.maven.plugin.Mojo lookupMojo(String goal, String pluginPom)
          Lookup the mojo leveraging the subproject pom
protected  org.apache.maven.plugin.Mojo 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 newMojoExecution(String goal)
           
protected  void setUp()
           
protected  void setupContainer()
           
protected  org.codehaus.plexus.ContainerConfiguration setupContainerConfiguration()
           
protected  void setVariableValueToObject(Object object, String variable, Object value)
          Convenience method to set values to variables in objects that don't have setters
 
Methods inherited from class org.codehaus.plexus.PlexusTestCase
customizeComponentConfiguration, customizeContainerConfiguration, customizeContext, getBasedir, getClassLoader, getConfiguration, getConfiguration, getConfigurationName, getCustomConfigurationName, getResourceAsStream, getTestConfiguration, getTestConfiguration, getTestFile, getTestFile, getTestPath, getTestPath, lookup, lookup, lookup, lookup, release, tearDown
 
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, runTest, setName, toString
 
Methods inherited from class junit.framework.Assert
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, fail, fail, failNotEquals, failNotSame, failSame, format
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AbstractMojoTestCase

public AbstractMojoTestCase()
Method Detail

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

setupContainerConfiguration

protected org.codehaus.plexus.ContainerConfiguration setupContainerConfiguration()

getContainer

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

lookupMojo

protected org.apache.maven.plugin.Mojo 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 org.apache.maven.plugin.Mojo lookupEmptyMojo(String goal,
                                                       String pluginPom)
                                                throws Exception
Lookup an empty mojo

Parameters:
goal -
pluginPom -
Returns:
a Mojo instance
Throws:
Exception

lookupMojo

protected org.apache.maven.plugin.Mojo 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 org.apache.maven.plugin.Mojo 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 org.apache.maven.plugin.Mojo 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 org.apache.maven.plugin.Mojo lookupConfiguredMojo(org.apache.maven.project.MavenProject project,
                                                            String goal)
                                                     throws Exception
Parameters:
project -
goal -
Returns:
Throws:
Exception
Since:
2.0

lookupConfiguredMojo

protected org.apache.maven.plugin.Mojo 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 org.apache.maven.plugin.Mojo configureMojo(org.apache.maven.plugin.Mojo mojo,
                                                     String artifactId,
                                                     File pom)
                                              throws Exception
Configure the mojo

Parameters:
mojo -
artifactId -
pom -
Returns:
a Mojo instance
Throws:
Exception

configureMojo

protected org.apache.maven.plugin.Mojo configureMojo(org.apache.maven.plugin.Mojo 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 Object 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 void setVariableValueToObject(Object object,
                                        String variable,
                                        Object value)
                                 throws IllegalAccessException
Convenience method to set values to variables in objects that don't have setters

Parameters:
object -
variable -
value -
Throws:
IllegalAccessException


Copyright © 2008-2012 The Apache Software Foundation. All Rights Reserved.