Class MockSystemReader

java.lang.Object
org.eclipse.jgit.util.SystemReader
org.eclipse.jgit.junit.MockSystemReader

public class MockSystemReader extends SystemReader
Mock SystemReader for tests.
  • Field Details

  • Constructor Details

    • MockSystemReader

      public MockSystemReader()
      Constructor for MockSystemReader
  • Method Details

    • setUserGitConfig

      public FileBasedConfig setUserGitConfig(FileBasedConfig userGitConfig)
      Set the user-level git config
      Parameters:
      userGitConfig - set another user-level git config
      Returns:
      the old user-level git config
    • setJGitConfig

      public void setJGitConfig(FileBasedConfig jgitConfig)
      Set the jgit config stored at $XDG_CONFIG_HOME/jgit/config
      Parameters:
      jgitConfig - set the jgit configuration
    • setSystemGitConfig

      public FileBasedConfig setSystemGitConfig(FileBasedConfig systemGitConfig)
      Set the system-level git config
      Parameters:
      systemGitConfig - the new system-level git config
      Returns:
      the old system-level config
    • init

      private void init(String n)
    • clearProperties

      public void clearProperties()
      Clear properties
    • setProperty

      public void setProperty(String key, String value)
      Set a property
      Parameters:
      key -
      value -
    • getenv

      public String getenv(String variable)
      Get value of the system variable
      Specified by:
      getenv in class SystemReader
      Parameters:
      variable - system variable to read
      Returns:
      value of the system variable
    • getProperty

      public String getProperty(String key)
      Get value of the system property
      Specified by:
      getProperty in class SystemReader
      Parameters:
      key - of the system property to read
      Returns:
      value of the system property
    • openUserConfig

      public FileBasedConfig openUserConfig(Config parent, FS fs)
      Open the git configuration found in the user home. Use SystemReader.getUserConfig() to get the current git configuration in the user home since it manages automatic reloading when the gitconfig file was modified and avoids unnecessary reloads.
      Specified by:
      openUserConfig in class SystemReader
      Parameters:
      parent - a config with values not found directly in the returned config
      fs - the file system abstraction which will be necessary to perform certain file system operations.
      Returns:
      the git configuration found in the user home
    • openSystemConfig

      public FileBasedConfig openSystemConfig(Config parent, FS fs)
      Open the gitconfig configuration found in the system-wide "etc" directory. Use SystemReader.getSystemConfig() to get the current system-wide git configuration since it manages automatic reloading when the gitconfig file was modified and avoids unnecessary reloads.
      Specified by:
      openSystemConfig in class SystemReader
      Parameters:
      parent - a config with values not found directly in the returned config. Null is a reasonable value here.
      fs - the file system abstraction which will be necessary to perform certain file system operations.
      Returns:
      the gitconfig configuration found in the system-wide "etc" directory
    • getUserConfig

      public StoredConfig getUserConfig() throws IOException, ConfigInvalidException
      Description copied from class: SystemReader
      Get the git configuration found in the user home. The configuration will be reloaded automatically if the configuration file was modified. Also reloads the system config if the system config file was modified. If the configuration file wasn't modified returns the cached configuration.
      Overrides:
      getUserConfig in class SystemReader
      Returns:
      the git configuration found in the user home
      Throws:
      IOException - if something went wrong when reading files
      ConfigInvalidException - if configuration is invalid
    • getJGitConfig

      public FileBasedConfig getJGitConfig()
      Description copied from class: SystemReader
      Get the jgit configuration located at $XDG_CONFIG_HOME/jgit/config. The configuration will be reloaded automatically if the configuration file was modified. If the configuration file wasn't modified returns the cached configuration.
      Overrides:
      getJGitConfig in class SystemReader
      Returns:
      the jgit configuration located at $XDG_CONFIG_HOME/jgit/config
    • getSystemConfig

      public StoredConfig getSystemConfig() throws IOException, ConfigInvalidException
      Description copied from class: SystemReader
      Get the gitconfig configuration found in the system-wide "etc" directory. The configuration will be reloaded automatically if the configuration file was modified otherwise returns the cached system level config.
      Overrides:
      getSystemConfig in class SystemReader
      Returns:
      the gitconfig configuration found in the system-wide "etc" directory
      Throws:
      IOException - if something went wrong when reading files
      ConfigInvalidException - if configuration is invalid
    • getHostname

      public String getHostname()
      Gets the hostname of the local host. If no hostname can be found, the hostname is set to the default value "localhost".
      Specified by:
      getHostname in class SystemReader
      Returns:
      the canonical hostname
    • getCurrentTime

      public long getCurrentTime()
      Get the current system time
      Specified by:
      getCurrentTime in class SystemReader
      Returns:
      the current system time
    • getClock

      public MonotonicClock getClock()
      Get clock instance preferred by this system.
      Overrides:
      getClock in class SystemReader
      Returns:
      clock instance preferred by this system.
    • tick

      public void tick(int secDelta)
      Adjusts the current time in seconds.
      Parameters:
      secDelta - number of seconds to add to the current time.
      Since:
      4.2
    • getTimezone

      public int getTimezone(long when)
      Get the local time zone
      Specified by:
      getTimezone in class SystemReader
      Parameters:
      when - a system timestamp
      Returns:
      the local time zone
    • getTimeZone

      public TimeZone getTimeZone()
      Get system time zone, possibly mocked for testing
      Overrides:
      getTimeZone in class SystemReader
      Returns:
      system time zone, possibly mocked for testing
    • getLocale

      public Locale getLocale()
      Get the locale to use
      Overrides:
      getLocale in class SystemReader
      Returns:
      the locale to use
    • getSimpleDateFormat

      public SimpleDateFormat getSimpleDateFormat(String pattern)
      Returns a simple date format instance as specified by the given pattern.
      Overrides:
      getSimpleDateFormat in class SystemReader
      Parameters:
      pattern - the pattern as defined in SimpleDateFormat(String)
      Returns:
      the simple date format
    • getDateTimeInstance

      public DateFormat getDateTimeInstance(int dateStyle, int timeStyle)
      Returns a date/time format instance for the given styles.
      Overrides:
      getDateTimeInstance in class SystemReader
      Parameters:
      dateStyle - the date style as specified in DateFormat.getDateTimeInstance(int, int)
      timeStyle - the time style as specified in DateFormat.getDateTimeInstance(int, int)
      Returns:
      the date format
    • setCurrentPlatform

      public void setCurrentPlatform()
      Assign some properties for the currently executing platform
    • setWindows

      public void setWindows()
      Emulate Windows
    • setUnix

      public void setUnix()
      Emulate Unix
    • resetOsNames

      private void resetOsNames()
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • openJGitConfig

      public FileBasedConfig openJGitConfig(Config parent, FS fs)
      Description copied from class: SystemReader
      Open the jgit configuration located at $XDG_CONFIG_HOME/jgit/config. Use SystemReader.getJGitConfig() to get the current jgit configuration in the user home since it manages automatic reloading when the jgit config file was modified and avoids unnecessary reloads.
      Specified by:
      openJGitConfig in class SystemReader
      Parameters:
      parent - a config with values not found directly in the returned config
      fs - the file system abstraction which will be necessary to perform certain file system operations.
      Returns:
      the jgit configuration located at $XDG_CONFIG_HOME/jgit/config