Class ScmTckTestCase

    • Field Detail

      • scmFileNames

        private java.util.List<java.lang.String> scmFileNames
    • Constructor Detail

      • ScmTckTestCase

        public ScmTckTestCase()
    • Method Detail

      • getScmProviderCommand

        public java.lang.String getScmProviderCommand()
        Some tests can only run if the appropriate application has been installed. If the provided name is not a runnable application all tests in the class are skipped.
        Returns:
        the commandline command for the specific scm provider. Or null if none is needed.
      • getScmUrl

        public abstract java.lang.String getScmUrl()
                                            throws java.lang.Exception
        Returns:
        a provider specific and valid url for the repository
        Throws:
        java.lang.Exception - if any
      • getScmFileNames

        protected java.util.List<java.lang.String> getScmFileNames()

        Get the list of file names that is supposed to be in the test repo.

        • /pom.xml
        • /readme.txt
        • /src/main/java/Application.java
        • /src/test/java/Test.java
        Returns:
        List of String objects
      • initRepo

        public abstract void initRepo()
                               throws java.lang.Exception

        Initialize repository at the getScmUrl() location with the files in getScmFileNames()

        The setup is also asserting on the existence of these files.
        This should only be used by this class (thus do not call this method from derived classes)

        Note: 'svnadmin' should be a system command.
        Throws:
        java.lang.Exception - if any
      • checkScmPresence

        public void checkScmPresence()
      • setUp

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

        public void removeRepo()
                        throws java.lang.Exception
        This method is available to those SCM clients that need to perform a cleanup at the end of the tests. It is needed when server side operations are performed, or the check out dirs are outside of the normal target directory.
        Throws:
        java.lang.Exception
      • tearDown

        public void tearDown()
                      throws java.lang.Exception
        Provided to allow removeRepo() to be called.
        Overrides:
        tearDown in class PlexusJUnit4TestCase
        Throws:
        java.lang.Exception
      • getScmRepository

        protected ScmRepository getScmRepository()
                                          throws java.lang.Exception
        Convenience method to get the ScmRepository for this provider.
        Throws:
        java.lang.Exception
      • checkOut

        protected CheckOutScmResult checkOut​(java.io.File workingDirectory,
                                             ScmRepository repository)
                                      throws java.lang.Exception
        Convenience method to check out files from the repository.
        Throws:
        java.lang.Exception
      • checkIn

        protected CheckInScmResult checkIn​(java.io.File workingDirectory,
                                           ScmRepository repository)
                                    throws java.lang.Exception
        Convenience method to check in files to the repository.
        Throws:
        java.lang.Exception
      • remove

        protected RemoveScmResult remove​(java.io.File workingDirectory,
                                         ScmRepository repository)
                                  throws java.lang.Exception
        Convenience method to remove files from the repository.
        Throws:
        java.lang.Exception
      • addToWorkingTree

        protected void addToWorkingTree​(java.io.File workingDirectory,
                                        java.io.File file,
                                        ScmRepository repository)
                                 throws java.lang.Exception
        Convenience method to add a file to the working tree at the working directory.
        Throws:
        java.lang.Exception
      • mapFilesByPath

        protected java.util.Map<java.lang.String,​ScmFile> mapFilesByPath​(java.util.List<ScmFile> files)
        Take the files of the given list, add them to a TreeMap and use the pathName String as key for the Map. This function is useful for every TCK which has to check for the existence of more than 1 file of the returned ScmResult, regardless of their order in the list. All backslashes in the path will be replaced by forward slashes for Windows compatibility.
        Parameters:
        files - list with ScmFiles
        Returns:
        map key=pathName, value=ScmFile
      • edit

        protected EditScmResult edit​(java.io.File basedir,
                                     java.lang.String includes,
                                     java.lang.String excludes,
                                     ScmRepository repository)
                              throws java.lang.Exception
        Throws:
        java.lang.Exception