org.tigris.subversion.javahl.tests

Class SVNTests

public class SVNTests extends TestCase

common base class for the javahl binding tests
Nested Class Summary
classSVNTests.FileInputer
internal class which implements the InputInterface to read the data from a file.
classSVNTests.FileOutputer
internal class which implements the OutputInterface to write the data to a file.
classSVNTests.IgnoreOutputer
internal class implements the OutputInterface, but ignores the data
protected classSVNTests.OneTest
this internal class represent the repository and the working copy for one test.
Field Summary
protected SVNAdminadmin
our admin object, mostly used for creating,dumping and loading repositories
protected SVNClientInterfaceclient
the subversion client, what we want to test.
protected Fileconf
the directory "config" in the localTmp.
protected MapexpectedCommitItems
the map of all items expected to be received by the callback for the log message.
protected FilegreekDump
the file in which the sample repository has been dumped.
protected FilegreekRepos
the directory of the sample repository.
protected WCgreekWC
the initial working copy of the sample repository.
protected FilelocalTmp
the directory "svn-test-work/local_tmp" in the rootDir.
protected StringlogMessage
standard log message.
protected Filerepositories
the directory "repositories" in the rootDir.
protected FilerootDir
the root directory.
protected static StringrootDirectoryName
common root directory for all tests.
protected static StringrootUrl
common root URL for all tests.
protected StringtestBaseName
the base name of the test.
protected static inttestCounter
this counter will be incremented for every test in one suite (test class)
protected FileworkingCopies
the directory "working_copies" in the rootDir.
Constructor Summary
protected SVNTests()
Initialize one test object
Method Summary
protected voidaddExpectedCommitItem(String workingCopyPath, String baseUrl, String itemPath, int nodeKind, int stateFlags)
add another commit item expected during the callback for the log message.
protected StringgetAdminDirectoryName()
Intended to be called as part of test method execution (post-setUp).
static voidmain(String[] args)
Main method, will call all tests of all test classes
protected StringmakeReposUrl(File file)
Create the url for the repository to be used for the tests.
protected static voidprocessArgs(String[] args)
retrieve the root directory and the root url from the command line arguments
protected voidremoveDirectoryWithContent(File localTmp)
Remove a directory with all files and directories it may contain.
protected voidsetUp()
Standard initialization of one test
static TestSuitesuite()
build a test suite with all test of all test classes known
protected voidtearDown()
cleanup after one test

Field Detail

admin

protected SVNAdmin admin
our admin object, mostly used for creating,dumping and loading repositories

client

protected SVNClientInterface client
the subversion client, what we want to test.

conf

protected File conf
the directory "config" in the localTmp. It will be used as the configuration directory for all the tests.

expectedCommitItems

protected Map expectedCommitItems
the map of all items expected to be received by the callback for the log message. After each commit, this will be cleared

greekDump

protected File greekDump
the file in which the sample repository has been dumped.

greekRepos

protected File greekRepos
the directory of the sample repository.

greekWC

protected WC greekWC
the initial working copy of the sample repository.

localTmp

protected File localTmp
the directory "svn-test-work/local_tmp" in the rootDir. This will be used for the sample repository and its dumpfile and for the config directory

logMessage

protected String logMessage
standard log message. Used for all commits.

repositories

protected File repositories
the directory "repositories" in the rootDir. All test repositories will be created here.

rootDir

protected File rootDir
the root directory. All other files and directories will created in here

rootDirectoryName

protected static String rootDirectoryName
common root directory for all tests. Can be set by the command line or by the system property "test.rootdir". If not set, the current directory of this process is used

rootUrl

protected static String rootUrl
common root URL for all tests. Can be set by the command line or by the system property "test.rooturl". If not set, the file url of the rootDirectoryName is used.

testBaseName

protected String testBaseName
the base name of the test. Together with the testCounter this will make up the directory name of the test.

testCounter

protected static int testCounter
this counter will be incremented for every test in one suite (test class)

workingCopies

protected File workingCopies
the directory "working_copies" in the rootDir. All test working copies will be created here.

Constructor Detail

SVNTests

protected SVNTests()
Initialize one test object

Method Detail

addExpectedCommitItem

protected void addExpectedCommitItem(String workingCopyPath, String baseUrl, String itemPath, int nodeKind, int stateFlags)
add another commit item expected during the callback for the log message.

Parameters: workingCopyPath the path of the of the working baseUrl the url for the repository itemPath the path of the item relative the working copy nodeKind expected node kind (dir or file or none) stateFlags expected commit state flags (see CommitItemStateFlags)

getAdminDirectoryName

protected String getAdminDirectoryName()
Intended to be called as part of test method execution (post-setUp). Calls fail() if the directory name cannot be determined.

Returns: The name of the working copy administrative directory.

Since: 1.3

main

public static void main(String[] args)
Main method, will call all tests of all test classes

Parameters: args command line arguments

makeReposUrl

protected String makeReposUrl(File file)
Create the url for the repository to be used for the tests.

Parameters: file the directory of the repository

Returns: the URL for the repository

processArgs

protected static void processArgs(String[] args)
retrieve the root directory and the root url from the command line arguments

Parameters: args command line arguments

removeDirectoryWithContent

protected void removeDirectoryWithContent(File localTmp)
Remove a directory with all files and directories it may contain.

Parameters: localTmp

setUp

protected void setUp()
Standard initialization of one test

Throws: Exception

suite

public static TestSuite suite()
build a test suite with all test of all test classes known

Returns: complete test suite

tearDown

protected void tearDown()
cleanup after one test

Throws: Exception