Package org.apache.maven.scm
Class ScmTckTestCase
java.lang.Object
junit.framework.Assert
junit.framework.TestCase
org.codehaus.plexus.PlexusTestCase
org.apache.maven.scm.ScmTestCase
org.apache.maven.scm.ScmTckTestCase
- All Implemented Interfaces:
junit.framework.Test
- Direct Known Subclasses:
AbstractRemoteInfoCommandTckTest
,BlameCommandTckTest
,BranchCommandTckTest
,ChangeLogCommandTckTest
,CheckInCommandTckTest
,CheckOutCommandTckTest
,DiffCommandTckTest
,ListCommandTckTest
,MkdirCommandTckTest
,StatusCommandTckTest
,TagCommandTckTest
,UntagCommandTckTest
,UpdateCommandTckTest
Base class for all TcK tests.
Basically all it does is to setup a default test enviroment
common for all tck tests. The default setup includes:
- Delete all default locations (working copy, updating copy etc)
- Initialize the repository
- Check out the repository to the working copy
-
Field Summary
FieldsFields inherited from class org.apache.maven.scm.ScmTestCase
GMT_TIME_ZONE
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
addToWorkingTree
(File workingDirectory, File file, ScmRepository repository) Convenience method to add a file to the working tree at the working directoryprotected CheckInScmResult
checkIn
(File workingDirectory, ScmRepository repository) Convenience method to check in files to the repositoryprotected CheckOutScmResult
checkOut
(File workingDirectory, ScmRepository repository) Convenience method to check out files from the repositoryprotected EditScmResult
edit
(File basedir, String includes, String excludes, ScmRepository repository) Get the list of file names that is supposed to be in the test repo.protected ScmRepository
Convenience method to get the ScmRepository for this providerabstract String
abstract void
initRepo()
Initialize repository at thegetScmUrl()
location with the files ingetScmFileNames()
mapFilesByPath
(List<ScmFile> files) take the files of the given list, add them to a TreeMap and use the pathName String as key for the Map.void
This method is available to those SCM clients that need to perform a cleanup at the end of the tests.protected void
setUp()
protected void
tearDown()
Provided to allow removeRepo() to be called.Methods inherited from class org.apache.maven.scm.ScmTestCase
assertCommandLine, assertFile, assertPath, assertResultIsSuccess, deleteDirectory, execute, getAssertionCopy, getDate, getDate, getDate, getRepository, getRepositoryRoot, getScmFileSet, getScmManager, getSecDispatcher, getUpdatingCopy, getWorkingCopy, getWorkingDirectory, isSystemCmd, makeDirectory, makeFile, makeFile, makeScmRepository, printOutputError, printSystemCmdUnavail, setDebugExecute
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
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 Details
-
scmRepository
-
scmFileNames
-
-
Constructor Details
-
ScmTckTestCase
public ScmTckTestCase()
-
-
Method Details
-
getScmUrl
- Returns:
- A provider specific and valid url for the repository
- Throws:
Exception
- if any
-
getScmFileNames
Get the list of file names that is supposed to be in the test repo.- /pom.xml
- /readme.txt
- /src/main/java/Application.java
- /src/test/java/Test.java
-
initRepo
Initialize repository at thegetScmUrl()
location with the files ingetScmFileNames()
The setup is also asserting on the existence of these files.
This should only be used by this class (thus do not call this method from derived classes) Note: 'svnadmin' should be a system command.- Throws:
Exception
- if any
-
setUp
- Overrides:
setUp
in classScmTestCase
- Throws:
Exception
-
removeRepo
This method is available to those SCM clients that need to perform a cleanup at the end of the tests. It is needed when server side operations are performed, or the check out dirs are outside of the normal target directory.- Throws:
Exception
-
tearDown
Provided to allow removeRepo() to be called.- Overrides:
tearDown
in classorg.codehaus.plexus.PlexusTestCase
- Throws:
Exception
- See Also:
-
getScmRepository
Convenience method to get the ScmRepository for this provider- Throws:
Exception
-
checkOut
protected CheckOutScmResult checkOut(File workingDirectory, ScmRepository repository) throws Exception Convenience method to check out files from the repository- Throws:
Exception
-
checkIn
protected CheckInScmResult checkIn(File workingDirectory, ScmRepository repository) throws Exception Convenience method to check in files to the repository- Throws:
Exception
-
addToWorkingTree
protected void addToWorkingTree(File workingDirectory, File file, ScmRepository repository) throws Exception Convenience method to add a file to the working tree at the working directory- Throws:
Exception
-
mapFilesByPath
take the files of the given list, add them to a TreeMap and use the pathName String as key for the Map. This function is useful for every TCK which has to check for the existence of more than 1 file of the returned ScmResult, regardless of their order in the list. All backslashes in the path will be replaced by forward slashes for Windows compatibility.- Parameters:
files
- List withScmFile
s- Returns:
- Map key=pathName, value=ScmFile
-
edit
protected EditScmResult edit(File basedir, String includes, String excludes, ScmRepository repository) throws Exception - Throws:
Exception
-