Class ScmTestCase

  • Direct Known Subclasses:
    ScmTckTestCase

    public abstract class ScmTestCase
    extends PlexusJUnit4TestCase
    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 Detail

      • GMT_TIME_ZONE

        protected static final java.util.TimeZone GMT_TIME_ZONE
      • debugExecute

        private static boolean debugExecute
    • Constructor Detail

      • ScmTestCase

        public ScmTestCase()
    • Method Detail

      • setUp

        public void setUp()
                   throws java.lang.Exception
        Overrides:
        setUp in class PlexusJUnit4TestCase
        Throws:
        java.lang.Exception
      • customizeContainerConfiguration

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

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

        protected java.io.File getRepository()
        Returns:
        location of the revisioned (read only) repository
      • getWorkingCopy

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

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

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

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

        protected ScmManager getScmManager()
                                    throws java.lang.Exception
        Throws:
        java.lang.Exception
      • makeScmRepository

        protected ScmRepository makeScmRepository​(java.lang.String scmUrl)
                                           throws java.lang.Exception
        Throws:
        java.lang.Exception
      • assertPath

        public void assertPath​(java.lang.String expectedPath,
                               java.lang.String actualPath)
                        throws java.lang.Exception
        Throws:
        java.lang.Exception
      • assertFile

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

        protected static void makeFile​(java.io.File basedir,
                                       java.lang.String fileName)
                                throws java.io.IOException
        Throws:
        java.io.IOException
      • makeFile

        public static void makeFile​(java.io.File basedir,
                                    java.lang.String fileName,
                                    java.lang.String contents)
                             throws java.io.IOException
        Throws:
        java.io.IOException
      • deleteDirectory

        protected void deleteDirectory​(java.io.File directory)
                                throws java.io.IOException
        Throws:
        java.io.IOException
      • getDate

        public static java.util.Date getDate​(int year,
                                             int month,
                                             int day)
      • getDate

        protected static java.util.Date getDate​(int year,
                                                int month,
                                                int day,
                                                java.util.TimeZone tz)
      • getDate

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

        public void assertCommandLine​(java.lang.String expectedCommand,
                                      java.io.File expectedWorkingDirectory,
                                      org.codehaus.plexus.util.cli.Commandline actualCommand)
                               throws java.io.IOException
        Throws:
        java.io.IOException
      • checkSystemCmdPresence

        public static void checkSystemCmdPresence​(java.lang.String scmProviderCommand)
      • isSystemCmd

        public static boolean isSystemCmd​(java.lang.String cmd)
        Parameters:
        cmd - the executable to run, not null
        Returns:
        true if and only if the command is on the path