Package org.apache.maven.scm
Class ScmTestCase
- java.lang.Object
-
- junit.framework.Assert
-
- junit.framework.TestCase
-
- org.codehaus.plexus.PlexusTestCase
-
- org.apache.maven.scm.ScmTestCase
-
- All Implemented Interfaces:
junit.framework.Test
- Direct Known Subclasses:
AbstractCvsScmTest
,CvsUpdateCommandTest
,ScmTckTestCase
public abstract class ScmTestCase extends org.codehaus.plexus.PlexusTestCase
Base class for all SCM tests. Consumers will typically extend this class while tck test would extend ScmTckTestCase.
This class basically defines default locations for the test environment and implements convenience methods.
-
-
Field Summary
Fields Modifier and Type Field Description private static boolean
debugExecute
protected static java.util.TimeZone
GMT_TIME_ZONE
private ScmManager
scmManager
private org.sonatype.plexus.components.sec.dispatcher.SecDispatcher
secDispatcher
-
Constructor Summary
Constructors Constructor Description ScmTestCase()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
assertCommandLine(java.lang.String expectedCommand, java.io.File expectedWorkingDirectory, org.codehaus.plexus.util.cli.Commandline actualCommand)
protected void
assertFile(java.io.File root, java.lang.String fileName)
void
assertPath(java.lang.String expectedPath, java.lang.String actualPath)
protected void
assertResultIsSuccess(ScmResult result)
protected void
deleteDirectory(java.io.File directory)
static void
execute(java.io.File workingDirectory, java.lang.String executable, java.lang.String arguments)
Execute the command lineprotected java.io.File
getAssertionCopy()
static java.util.Date
getDate(int year, int month, int day)
protected static java.util.Date
getDate(int year, int month, int day, int hourOfDay, int minute, int second, java.util.TimeZone tz)
protected static java.util.Date
getDate(int year, int month, int day, java.util.TimeZone tz)
protected java.io.File
getRepository()
protected java.io.File
getRepositoryRoot()
protected ScmFileSet
getScmFileSet()
protected ScmManager
getScmManager()
org.sonatype.plexus.components.sec.dispatcher.SecDispatcher
getSecDispatcher()
If you wish to use this component, make sure to configure your TCK implementation to include plexus component configuration as doc at https://issues.apache.org/jira/browse/MNG-4384protected java.io.File
getUpdatingCopy()
protected java.io.File
getWorkingCopy()
protected java.io.File
getWorkingDirectory()
Legacy method - same as getWorkingCopy()static boolean
isSystemCmd(java.lang.String cmd)
protected static void
makeDirectory(java.io.File basedir, java.lang.String fileName)
protected static void
makeFile(java.io.File basedir, java.lang.String fileName)
static void
makeFile(java.io.File basedir, java.lang.String fileName, java.lang.String contents)
protected ScmRepository
makeScmRepository(java.lang.String scmUrl)
protected void
printOutputError(ScmResult result)
static void
printSystemCmdUnavail(java.lang.String cmd, java.lang.String testName)
protected static void
setDebugExecute(boolean debugExecute)
protected void
setUp()
-
Methods inherited from class org.codehaus.plexus.PlexusTestCase
customizeComponentConfiguration, customizeContainerConfiguration, customizeContext, getBasedir, getClassLoader, getConfiguration, getConfiguration, getConfigurationName, getContainer, getCustomConfigurationName, getResourceAsStream, getTestConfiguration, getTestConfiguration, getTestFile, getTestFile, getTestPath, getTestPath, lookup, lookup, lookup, lookup, release, setupContainer, tearDown
-
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
-
-
-
-
Field Detail
-
GMT_TIME_ZONE
protected static final java.util.TimeZone GMT_TIME_ZONE
-
debugExecute
private static boolean debugExecute
-
scmManager
private ScmManager scmManager
-
secDispatcher
private org.sonatype.plexus.components.sec.dispatcher.SecDispatcher secDispatcher
-
-
Method Detail
-
setUp
protected void setUp() throws java.lang.Exception
- Overrides:
setUp
in classorg.codehaus.plexus.PlexusTestCase
- Throws:
java.lang.Exception
-
getRepositoryRoot
protected java.io.File getRepositoryRoot()
- Returns:
- default location of the test read/write repository
-
getRepository
protected java.io.File getRepository()
- Returns:
- Location of the revisioned (read only) repository
-
getWorkingCopy
protected java.io.File getWorkingCopy()
- Returns:
- location of the working copy (always checkout)
-
getWorkingDirectory
protected java.io.File getWorkingDirectory()
Legacy method - same as getWorkingCopy()- Returns:
- location of the working copy (always checkout)
-
getAssertionCopy
protected java.io.File getAssertionCopy()
- Returns:
- default location for doing assertions on a working tree
-
getUpdatingCopy
protected java.io.File getUpdatingCopy()
- Returns:
- default location for doing update operations on a working tree
-
getScmManager
protected ScmManager getScmManager() throws java.lang.Exception
- Throws:
java.lang.Exception
-
getSecDispatcher
public org.sonatype.plexus.components.sec.dispatcher.SecDispatcher getSecDispatcher() throws java.lang.Exception
If you wish to use this component, make sure to configure your TCK implementation to include plexus component configuration as doc at https://issues.apache.org/jira/browse/MNG-4384- Returns:
- SecDispatcher
- Throws:
java.lang.Exception
-
makeScmRepository
protected ScmRepository makeScmRepository(java.lang.String scmUrl) throws java.lang.Exception
- Throws:
java.lang.Exception
-
assertPath
public void assertPath(java.lang.String expectedPath, java.lang.String actualPath) throws java.lang.Exception
- Throws:
java.lang.Exception
-
assertFile
protected void assertFile(java.io.File root, java.lang.String fileName) throws java.lang.Exception
- Throws:
java.lang.Exception
-
assertResultIsSuccess
protected void assertResultIsSuccess(ScmResult result)
-
printOutputError
protected void printOutputError(ScmResult result)
-
getScmFileSet
protected ScmFileSet getScmFileSet()
-
setDebugExecute
protected static void setDebugExecute(boolean debugExecute)
-
execute
public static void execute(java.io.File workingDirectory, java.lang.String executable, java.lang.String arguments) throws java.lang.Exception
Execute the command line- Parameters:
workingDirectory
- not nullexecutable
- not null, should be a system commandarguments
- not null- Throws:
java.lang.Exception
- if any- See Also:
CommandLineUtils.executeCommandLine(Commandline, org.codehaus.plexus.util.cli.StreamConsumer, org.codehaus.plexus.util.cli.StreamConsumer)
-
makeDirectory
protected static void makeDirectory(java.io.File basedir, java.lang.String fileName)
-
makeFile
protected static void makeFile(java.io.File basedir, java.lang.String fileName) throws java.io.IOException
- Throws:
java.io.IOException
-
makeFile
public static void makeFile(java.io.File basedir, java.lang.String fileName, java.lang.String contents) throws java.io.IOException
- Throws:
java.io.IOException
-
deleteDirectory
protected void deleteDirectory(java.io.File directory) throws java.io.IOException
- Throws:
java.io.IOException
-
getDate
public static java.util.Date getDate(int year, int month, int day)
-
getDate
protected static java.util.Date getDate(int year, int month, int day, java.util.TimeZone tz)
-
getDate
protected static java.util.Date getDate(int year, int month, int day, int hourOfDay, int minute, int second, java.util.TimeZone tz)
-
assertCommandLine
public void assertCommandLine(java.lang.String expectedCommand, java.io.File expectedWorkingDirectory, org.codehaus.plexus.util.cli.Commandline actualCommand) throws java.io.IOException
- Throws:
java.io.IOException
-
isSystemCmd
public static boolean isSystemCmd(java.lang.String cmd)
- Parameters:
cmd
- the executable to run, not null.- Returns:
- true if and only if the command is on the path
-
printSystemCmdUnavail
public static void printSystemCmdUnavail(java.lang.String cmd, java.lang.String testName)
-
-