Package org.eclipse.jgit.junit
Class MockSystemReader
java.lang.Object
org.eclipse.jgit.util.SystemReader
org.eclipse.jgit.junit.MockSystemReader
Mock
SystemReader
for tests.-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate FileBasedConfig
(package private) long
(package private) FileBasedConfig
private FileBasedConfig
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
Clear propertiesgetClock()
Get clock instance preferred by this system.long
Get the current system timegetDateTimeInstance
(int dateStyle, int timeStyle) Returns a date/time format instance for the given styles.Get value of the system variableGets the hostname of the local host.Get the jgit configuration located at $XDG_CONFIG_HOME/jgit/config.Get the locale to usegetProperty
(String key) Get value of the system propertygetSimpleDateFormat
(String pattern) Returns a simple date format instance as specified by the given pattern.Get the gitconfig configuration found in the system-wide "etc" directory.int
getTimezone
(long when) Get the local time zoneGet system time zone, possibly mocked for testingGet the git configuration found in the user home.private void
openJGitConfig
(Config parent, FS fs) Open the jgit configuration located at $XDG_CONFIG_HOME/jgit/config.openSystemConfig
(Config parent, FS fs) Open the gitconfig configuration found in the system-wide "etc" directory.openUserConfig
(Config parent, FS fs) Open the git configuration found in the user home.private void
void
Assign some properties for the currently executing platformvoid
setJGitConfig
(FileBasedConfig jgitConfig) Set the jgit config stored at $XDG_CONFIG_HOME/jgit/configvoid
setProperty
(String key, String value) Set a propertysetSystemGitConfig
(FileBasedConfig systemGitConfig) Set the system-level git configvoid
setUnix()
Emulate UnixsetUserGitConfig
(FileBasedConfig userGitConfig) Set the user-level git configvoid
Emulate Windowsvoid
tick
(int secDelta) Adjusts the current time in seconds.toString()
Methods inherited from class org.eclipse.jgit.util.SystemReader
checkPath, checkPath, getInstance, getSimpleDateFormat, isMacOS, isWindows, setInstance, setPlatformChecker
-
Field Details
-
now
long now -
values
-
userGitConfig
-
jgitConfig
-
systemGitConfig
FileBasedConfig systemGitConfig
-
-
Constructor Details
-
MockSystemReader
public MockSystemReader()Constructor forMockSystemReader
-
-
Method Details
-
setUserGitConfig
Set the user-level git config- Parameters:
userGitConfig
- set another user-level git config- Returns:
- the old user-level git config
-
setJGitConfig
Set the jgit config stored at $XDG_CONFIG_HOME/jgit/config- Parameters:
jgitConfig
- set the jgit configuration
-
setSystemGitConfig
Set the system-level git config- Parameters:
systemGitConfig
- the new system-level git config- Returns:
- the old system-level config
-
init
-
clearProperties
public void clearProperties()Clear properties -
setProperty
Set a property- Parameters:
key
-value
-
-
getenv
Get value of the system variable- Specified by:
getenv
in classSystemReader
- Parameters:
variable
- system variable to read- Returns:
- value of the system variable
-
getProperty
Get value of the system property- Specified by:
getProperty
in classSystemReader
- Parameters:
key
- of the system property to read- Returns:
- value of the system property
-
openUserConfig
Open the git configuration found in the user home. UseSystemReader.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 classSystemReader
- Parameters:
parent
- a config with values not found directly in the returned configfs
- the file system abstraction which will be necessary to perform certain file system operations.- Returns:
- the git configuration found in the user home
-
openSystemConfig
Open the gitconfig configuration found in the system-wide "etc" directory. UseSystemReader.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 classSystemReader
- 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
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 classSystemReader
- Returns:
- the git configuration found in the user home
- Throws:
IOException
- if something went wrong when reading filesConfigInvalidException
- if configuration is invalid
-
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 classSystemReader
- Returns:
- the jgit configuration located at $XDG_CONFIG_HOME/jgit/config
-
getSystemConfig
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 classSystemReader
- Returns:
- the gitconfig configuration found in the system-wide "etc" directory
- Throws:
IOException
- if something went wrong when reading filesConfigInvalidException
- if configuration is invalid
-
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 classSystemReader
- Returns:
- the canonical hostname
-
getCurrentTime
public long getCurrentTime()Get the current system time- Specified by:
getCurrentTime
in classSystemReader
- Returns:
- the current system time
-
getClock
Get clock instance preferred by this system.- Overrides:
getClock
in classSystemReader
- 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 classSystemReader
- Parameters:
when
- a system timestamp- Returns:
- the local time zone
-
getTimeZone
Get system time zone, possibly mocked for testing- Overrides:
getTimeZone
in classSystemReader
- Returns:
- system time zone, possibly mocked for testing
-
getLocale
Get the locale to use- Overrides:
getLocale
in classSystemReader
- Returns:
- the locale to use
-
getSimpleDateFormat
Returns a simple date format instance as specified by the given pattern.- Overrides:
getSimpleDateFormat
in classSystemReader
- Parameters:
pattern
- the pattern as defined inSimpleDateFormat(String)
- Returns:
- the simple date format
-
getDateTimeInstance
Returns a date/time format instance for the given styles.- Overrides:
getDateTimeInstance
in classSystemReader
- Parameters:
dateStyle
- the date style as specified inDateFormat.getDateTimeInstance(int, int)
timeStyle
- the time style as specified inDateFormat.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
-
openJGitConfig
Description copied from class:SystemReader
Open the jgit configuration located at $XDG_CONFIG_HOME/jgit/config. UseSystemReader.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 classSystemReader
- Parameters:
parent
- a config with values not found directly in the returned configfs
- 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
-