Package org.apache.maven.scm
Class ScmTckTestCase
- java.lang.Object
-
- org.apache.maven.scm.PlexusJUnit4TestCase
-
- org.apache.maven.scm.ScmTestCase
-
- org.apache.maven.scm.ScmTckTestCase
-
- Direct Known Subclasses:
AbstractRemoteInfoCommandTckTest
,BlameCommandTckTest
,BranchCommandTckTest
,ChangeLogCommandTckTest
,CheckInCommandTckTest
,CheckOutCommandTckTest
,DiffCommandTckTest
,InfoCommandTckTest
,ListCommandTckTest
,MkdirCommandTckTest
,RemoveCommandTckTest
,StatusCommandTckTest
,TagCommandTckTest
,UntagCommandTckTest
,UpdateCommandTckTest
public abstract class ScmTckTestCase extends ScmTestCase
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.PlexusJUnit4TestCase
testName
-
-
Constructor Summary
Constructors Constructor Description ScmTckTestCase()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected 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
checkScmPresence()
protected EditScmResult
edit(File basedir, String includes, String excludes, ScmRepository repository)
protected List<String>
getScmFileNames()
Get the list of file names that is supposed to be in the test repo.String
getScmProviderCommand()
Some tests can only run if the appropriate application has been installed.protected ScmRepository
getScmRepository()
Convenience method to get the ScmRepository for this providerabstract String
getScmUrl()
abstract void
initRepo()
Initialize repository at thegetScmUrl()
location with the files ingetScmFileNames()
protected Map<String,ScmFile>
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
removeRepo()
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, setDebugExecute
-
Methods inherited from class org.apache.maven.scm.PlexusJUnit4TestCase
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 Detail
-
ScmTckTestCase
public ScmTckTestCase()
-
-
Method Detail
-
getScmProviderCommand
public String 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
public abstract String getScmUrl() throws Exception
- Returns:
- A provider specific and valid url for the repository
- Throws:
Exception
- if any
-
getScmFileNames
protected List<String> 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
public abstract void initRepo() throws Exception
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
public void checkScmPresence()
-
setUp
public void setUp() throws Exception
- Overrides:
setUp
in classScmTestCase
- Throws:
Exception
-
removeRepo
public void removeRepo() throws Exception
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
public void tearDown() throws Exception
Provided to allow removeRepo() to be called.- Overrides:
tearDown
in classPlexusJUnit4TestCase
- Throws:
Exception
-
getScmRepository
protected ScmRepository getScmRepository() throws Exception
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
protected RemoveScmResult remove(File workingDirectory, ScmRepository repository) throws Exception
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
protected Map<String,ScmFile> 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. 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
-
-