Class ScmTestCase

Direct Known Subclasses:
ScmTckTestCase

public abstract class ScmTestCase extends PlexusJUnit4TestSupport
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.
Author:
Jason van Zyl
  • Field Details

    • GMT_TIME_ZONE

      protected static final TimeZone GMT_TIME_ZONE
  • Constructor Details

    • ScmTestCase

      public ScmTestCase()
  • Method Details

    • setUp

      public void setUp() throws Exception
      Overrides:
      setUp in class PlexusJUnit4TestSupport
      Throws:
      Exception
    • customizeContainerConfiguration

      protected void customizeContainerConfiguration(org.codehaus.plexus.ContainerConfiguration configuration)
      Description copied from class: PlexusJUnit4TestSupport
      Allow custom test case implementations do augment the default container configuration before executing tests.
      Overrides:
      customizeContainerConfiguration in class PlexusJUnit4TestSupport
    • getRepositoryRoot

      protected File getRepositoryRoot()
      Returns:
      default location of the test read/write repository
    • getRepository

      protected File getRepository()
      Returns:
      Location of the revisioned (read only) repository
    • getWorkingCopy

      protected File getWorkingCopy()
      Returns:
      location of the working copy (always checkout)
    • getWorkingDirectory

      protected File getWorkingDirectory()
      Legacy method - same as getWorkingCopy()
      Returns:
      location of the working copy (always checkout)
    • getAssertionCopy

      protected File getAssertionCopy()
      Returns:
      default location for doing assertions on a working tree
    • getUpdatingCopy

      protected File getUpdatingCopy()
      Returns:
      default location for doing update operations on a working tree
    • getScmManager

      protected ScmManager getScmManager() throws Exception
      Throws:
      Exception
    • makeScmRepository

      protected ScmRepository makeScmRepository(String scmUrl) throws Exception
      Throws:
      Exception
    • assertPath

      public void assertPath(String expectedPath, String actualPath) throws Exception
      Throws:
      Exception
    • assertFile

      protected void assertFile(File root, String fileName) throws Exception
      Throws:
      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(File workingDirectory, String executable, String arguments) throws Exception
      Execute the command line
      Parameters:
      workingDirectory - not null
      executable - not null, should be a system command
      arguments - not null
      Throws:
      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(File basedir, String fileName)
    • makeFile

      protected static void makeFile(File basedir, String fileName) throws IOException
      Throws:
      IOException
    • makeFile

      public static void makeFile(File basedir, String fileName, String contents) throws IOException
      Throws:
      IOException
    • deleteDirectory

      protected void deleteDirectory(File directory) throws IOException
      Throws:
      IOException
    • getDate

      public static Date getDate(int year, int month, int day)
    • getDate

      protected static Date getDate(int year, int month, int day, TimeZone tz)
    • getDate

      protected static Date getDate(int year, int month, int day, int hourOfDay, int minute, int second, TimeZone tz)
    • assertCommandLine

      public void assertCommandLine(String expectedCommand, File expectedWorkingDirectory, org.codehaus.plexus.util.cli.Commandline actualCommand) throws IOException
      Throws:
      IOException
    • checkScmPresence

      public static void checkScmPresence(String scmProviderCommand)
    • isSystemCmd

      public static boolean isSystemCmd(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(String cmd, String testName)