Class ScmTestCase

java.lang.Object
junit.framework.Assert
junit.framework.TestCase
org.codehaus.plexus.PlexusTestCase
org.apache.maven.scm.ScmTestCase
All Implemented Interfaces:
junit.framework.Test
Direct Known Subclasses:
AbstractCvsScmTest, CvsUpdateCommandTest, ScmTckTestCase

public abstract class ScmTestCase extends org.codehaus.plexus.PlexusTestCase
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.
  • Field Details

    • GMT_TIME_ZONE

      protected static final TimeZone GMT_TIME_ZONE
    • debugExecute

      private static boolean debugExecute
    • scmManager

      private ScmManager scmManager
    • secDispatcher

      private org.sonatype.plexus.components.sec.dispatcher.SecDispatcher secDispatcher
  • Constructor Details

    • ScmTestCase

      public ScmTestCase()
  • Method Details

    • setUp

      protected void setUp() throws Exception
      Overrides:
      setUp in class org.codehaus.plexus.PlexusTestCase
      Throws:
      Exception
    • 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
    • getSecDispatcher

      public org.sonatype.plexus.components.sec.dispatcher.SecDispatcher getSecDispatcher() throws Exception
      If you wish to use this component, make sure to configure your TCK implementation to include plexus component configuration as doc at https://issues.apache.org/jira/browse/MNG-4384
      Returns:
      SecDispatcher
      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
    • 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)