Package org.apache.maven.scm
Class ScmTckTestCase
java.lang.Object
org.apache.maven.scm.PlexusJUnit4TestSupport
org.apache.maven.scm.ScmTestCase
org.apache.maven.scm.ScmTckTestCase
- Direct Known Subclasses:
AbstractRemoteInfoCommandTckTest
,BlameCommandTckTest
,BranchCommandTckTest
,ChangeLogCommandTckTest
,CheckInCommandTckTest
,CheckOutCommandTckTest
,DiffCommandTckTest
,ListCommandTckTest
,MkdirCommandTckTest
,RemoveCommandTckTest
,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
- Author:
- Torbj�rn Eikli Sm�rgrav
-
Field Summary
Fields inherited from class org.apache.maven.scm.ScmTestCase
GMT_TIME_ZONE
Fields inherited from class org.apache.maven.scm.PlexusJUnit4TestSupport
testName
-
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 repositoryvoid
protected 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.Some tests can only run if the appropriate application has been installed.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.protected RemoveScmResult
remove
(File workingDirectory, ScmRepository repository) Convenience method to remove files from the repositoryvoid
This method is available to those SCM clients that need to perform a cleanup at the end of the tests.void
setUp()
void
tearDown()
Provided to allow removeRepo() to be called.Methods inherited from class org.apache.maven.scm.ScmTestCase
assertCommandLine, assertFile, assertPath, assertResultIsSuccess, checkScmPresence, customizeContainerConfiguration, deleteDirectory, execute, getAssertionCopy, getDate, getDate, getDate, getRepository, getRepositoryRoot, getScmFileSet, getScmManager, getUpdatingCopy, getWorkingCopy, getWorkingDirectory, isSystemCmd, makeDirectory, makeFile, makeFile, makeScmRepository, printOutputError, printSystemCmdUnavail, setDebugExecute
Methods inherited from class org.apache.maven.scm.PlexusJUnit4TestSupport
customizeComponentConfiguration, customizeContext, getBasedir, getClassLoader, getConfiguration, getConfiguration, getConfigurationName, getContainer, getCustomConfigurationName, getCustomModules, getName, getResourceAsStream, getTestConfiguration, getTestConfiguration, getTestFile, getTestFile, getTestPath, getTestPath, lookup, lookup, lookup, lookup, lookupMap, release, setupContainer
-
Constructor Details
-
ScmTckTestCase
public ScmTckTestCase()
-
-
Method Details
-
getScmProviderCommand
Some tests can only run if the appropriate application has been installed. If the provided name is not a runnable application all tests in the class are skipped.- Returns:
- The commandline command for the specific scm provider. Or null if none is needed.
-
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 the
getScmUrl()
location with the files ingetScmFileNames()
The setup is also asserting on the existence of these files.
Note: 'svnadmin' should be a system command.
This should only be used by this class (thus do not call this method from derived classes)- Throws:
Exception
- if any
-
checkScmPresence
-
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 classPlexusJUnit4TestSupport
- Throws:
Exception
-
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
-
remove
Convenience method to remove files from 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
-