Repository: maven-scm
Updated Branches:
  refs/heads/master cd4153912 -> 7b7bc090c


Introduce CustomSystemReader for testing purpose


Project: http://git-wip-us.apache.org/repos/asf/maven-scm/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-scm/commit/7b7bc090
Tree: http://git-wip-us.apache.org/repos/asf/maven-scm/tree/7b7bc090
Diff: http://git-wip-us.apache.org/repos/asf/maven-scm/diff/7b7bc090

Branch: refs/heads/master
Commit: 7b7bc090c3a81eaf48cedafd83648ca1f5b59037
Parents: cd41539
Author: rfscholte <[email protected]>
Authored: Mon May 30 22:15:27 2016 +0200
Committer: rfscholte <[email protected]>
Committed: Mon May 30 22:15:27 2016 +0200

----------------------------------------------------------------------
 ...GitCheckInCommandCommitterAuthorTckTest.java | 76 ++++++++++++++++++++
 1 file changed, 76 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven-scm/blob/7b7bc090/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommandCommitterAuthorTckTest.java
----------------------------------------------------------------------
diff --git 
a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommandCommitterAuthorTckTest.java
 
b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommandCommitterAuthorTckTest.java
index 10fdb85..8aeccce 100644
--- 
a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommandCommitterAuthorTckTest.java
+++ 
b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommandCommitterAuthorTckTest.java
@@ -35,12 +35,16 @@ import org.apache.maven.scm.repository.ScmRepository;
 import org.codehaus.plexus.util.IOUtil;
 import org.eclipse.jgit.api.Git;
 import org.eclipse.jgit.lib.AnyObjectId;
+import org.eclipse.jgit.lib.Config;
 import org.eclipse.jgit.lib.Constants;
 import org.eclipse.jgit.lib.Repository;
 import org.eclipse.jgit.lib.StoredConfig;
 import org.eclipse.jgit.revwalk.RevCommit;
 import org.eclipse.jgit.revwalk.RevWalk;
+import org.eclipse.jgit.storage.file.FileBasedConfig;
+import org.eclipse.jgit.util.FS;
 import org.eclipse.jgit.util.FileUtils;
+import org.eclipse.jgit.util.SystemReader;
 
 /**
  * @author Dominik Bartholdi (imod)
@@ -48,6 +52,26 @@ import org.eclipse.jgit.util.FileUtils;
 public class JGitCheckInCommandCommitterAuthorTckTest
     extends GitCheckInCommandTckTest
 {
+    
+    @Override
+    protected void setUp()
+        throws Exception
+    {
+        super.setUp();
+
+        SystemReader.setInstance( new CustomSystemReader() );
+    }
+    
+    @Override
+    protected void tearDown()
+        throws Exception
+    {
+        super.tearDown();
+        
+        // back to default
+        SystemReader.setInstance( null );
+    }
+    
     /**
      * {@inheritDoc}
      */
@@ -276,4 +300,56 @@ public class JGitCheckInCommandCommitterAuthorTckTest
         }
     }
 
+    /**
+     * SystemReader for testing to have full control some imported getters
+     * 
+     * @author Robert Scholte
+     */
+    class CustomSystemReader extends SystemReader {
+        
+        private final SystemReader reader = SystemReader.getInstance();
+
+        // Ensure environment properties from CI server don't get pulled in
+        public String getenv( String variable )
+        {
+            return null;
+        }
+
+        @Override
+        public String getHostname()
+        {
+            return reader.getHostname();
+        }
+
+        @Override
+        public String getProperty( String key )
+        {
+            return reader.getProperty( key );
+        }
+
+        @Override
+        public FileBasedConfig openSystemConfig( Config parent, FS fs )
+        {
+            return reader.openSystemConfig( parent, fs );
+        }
+
+        @Override
+        public FileBasedConfig openUserConfig( Config parent, FS fs )
+        {
+            return reader.openUserConfig( parent, fs );
+        }
+
+        @Override
+        public long getCurrentTime()
+        {
+            return reader.getCurrentTime();
+        }
+
+        @Override
+        public int getTimezone( long when )
+        {
+            return reader.getTimezone( when );
+        }
+    }
+    
 }

Reply via email to