Class ScmTestCase

  • All Implemented Interfaces:
    junit.framework.Test
    Direct Known Subclasses:
    AbstractCvsScmTest, 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.
    Author:
    Jason van Zyl
    • Field Detail

      • GMT_TIME_ZONE

        protected static final TimeZone GMT_TIME_ZONE
    • Constructor Detail

      • ScmTestCase

        public ScmTestCase()
    • Method Detail

      • setUp

        protected void setUp()
                      throws Exception
        Overrides:
        setUp in class org.codehaus.plexus.PlexusTestCase
        Throws:
        Exception
      • getModule

        protected String getModule()
      • 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
      • 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
      • assertPath

        public void assertPath​(String expectedPath,
                               String actualPath)
                        throws Exception
        TODO This method is bogus. ActualPatch is not used and if used, it breaks some unit tests.
        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)
      • 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