Documentation
¶
Index ¶
- func IsRoot() bool
- type EnvironmentManager
- type EtcShellsManager
- type FilePermissionManager
- type MoqEnvironmentManager
- type MoqEtcShellsManager
- type MoqFilePermissionManager
- func (mock *MoqFilePermissionManager) GetFileOwner(path string) (string, error)
- func (mock *MoqFilePermissionManager) GetFileOwnerCalls() []struct{ ... }
- func (mock *MoqFilePermissionManager) SetOwnership(path string, username string) error
- func (mock *MoqFilePermissionManager) SetOwnershipCalls() []struct{ ... }
- func (mock *MoqFilePermissionManager) SetPermissions(path string, mode os.FileMode) error
- func (mock *MoqFilePermissionManager) SetPermissionsCalls() []struct{ ... }
- type MoqOsManager
- func (mock *MoqOsManager) AddSudoAccess(username string) error
- func (mock *MoqOsManager) AddSudoAccessCalls() []struct{ ... }
- func (mock *MoqOsManager) AddUser(username string) error
- func (mock *MoqOsManager) AddUserCalls() []struct{ ... }
- func (mock *MoqOsManager) AddUserToGroup(username string, group string) error
- func (mock *MoqOsManager) AddUserToGroupCalls() []struct{ ... }
- func (mock *MoqOsManager) EnsureShellInEtcShells(shellPath string) error
- func (mock *MoqOsManager) EnsureShellInEtcShellsCalls() []struct{ ... }
- func (mock *MoqOsManager) GetChezmoiConfigHome() (string, error)
- func (mock *MoqOsManager) GetChezmoiConfigHomeCalls() []struct{}
- func (mock *MoqOsManager) GetConfigDir() (string, error)
- func (mock *MoqOsManager) GetConfigDirCalls() []struct{}
- func (mock *MoqOsManager) GetCurrentUsername() (string, error)
- func (mock *MoqOsManager) GetCurrentUsernameCalls() []struct{}
- func (mock *MoqOsManager) GetFileOwner(path string) (string, error)
- func (mock *MoqOsManager) GetFileOwnerCalls() []struct{ ... }
- func (mock *MoqOsManager) GetHomeDir() (string, error)
- func (mock *MoqOsManager) GetHomeDirCalls() []struct{}
- func (mock *MoqOsManager) GetProgramPath(program string) (string, error)
- func (mock *MoqOsManager) GetProgramPathCalls() []struct{ ... }
- func (mock *MoqOsManager) GetProgramVersion(program string, versionExtractor VersionExtractor, queryArgs ...string) (string, error)
- func (mock *MoqOsManager) GetProgramVersionCalls() []struct{ ... }
- func (mock *MoqOsManager) GetUserShell(username string) (string, error)
- func (mock *MoqOsManager) GetUserShellCalls() []struct{ ... }
- func (mock *MoqOsManager) Getenv(key string) string
- func (mock *MoqOsManager) GetenvCalls() []struct{ ... }
- func (mock *MoqOsManager) ProgramExists(program string) (bool, error)
- func (mock *MoqOsManager) ProgramExistsCalls() []struct{ ... }
- func (mock *MoqOsManager) SetOwnership(path string, username string) error
- func (mock *MoqOsManager) SetOwnershipCalls() []struct{ ... }
- func (mock *MoqOsManager) SetPermissions(path string, mode os.FileMode) error
- func (mock *MoqOsManager) SetPermissionsCalls() []struct{ ... }
- func (mock *MoqOsManager) SetUserShell(username string, shellPath string) error
- func (mock *MoqOsManager) SetUserShellCalls() []struct{ ... }
- func (mock *MoqOsManager) UserExists(username string) (bool, error)
- func (mock *MoqOsManager) UserExistsCalls() []struct{ ... }
- type MoqProgramQuery
- func (mock *MoqProgramQuery) GetProgramPath(program string) (string, error)
- func (mock *MoqProgramQuery) GetProgramPathCalls() []struct{ ... }
- func (mock *MoqProgramQuery) GetProgramVersion(program string, versionExtractor VersionExtractor, queryArgs ...string) (string, error)
- func (mock *MoqProgramQuery) GetProgramVersionCalls() []struct{ ... }
- func (mock *MoqProgramQuery) ProgramExists(program string) (bool, error)
- func (mock *MoqProgramQuery) ProgramExistsCalls() []struct{ ... }
- type MoqSudoManager
- type MoqUserManager
- func (mock *MoqUserManager) AddUser(username string) error
- func (mock *MoqUserManager) AddUserCalls() []struct{ ... }
- func (mock *MoqUserManager) AddUserToGroup(username string, group string) error
- func (mock *MoqUserManager) AddUserToGroupCalls() []struct{ ... }
- func (mock *MoqUserManager) GetChezmoiConfigHome() (string, error)
- func (mock *MoqUserManager) GetChezmoiConfigHomeCalls() []struct{}
- func (mock *MoqUserManager) GetConfigDir() (string, error)
- func (mock *MoqUserManager) GetConfigDirCalls() []struct{}
- func (mock *MoqUserManager) GetCurrentUsername() (string, error)
- func (mock *MoqUserManager) GetCurrentUsernameCalls() []struct{}
- func (mock *MoqUserManager) GetHomeDir() (string, error)
- func (mock *MoqUserManager) GetHomeDirCalls() []struct{}
- func (mock *MoqUserManager) GetUserShell(username string) (string, error)
- func (mock *MoqUserManager) GetUserShellCalls() []struct{ ... }
- func (mock *MoqUserManager) SetUserShell(username string, shellPath string) error
- func (mock *MoqUserManager) SetUserShellCalls() []struct{ ... }
- func (mock *MoqUserManager) UserExists(username string) (bool, error)
- func (mock *MoqUserManager) UserExistsCalls() []struct{ ... }
- type OsManager
- type ProgramQuery
- type SudoManager
- type UnixOsManager
- func (u *UnixOsManager) AddSudoAccess(username string) error
- func (u *UnixOsManager) AddUser(username string) error
- func (u *UnixOsManager) AddUserToGroup(username, group string) error
- func (u *UnixOsManager) EnsureShellInEtcShells(shellPath string) error
- func (u *UnixOsManager) GetChezmoiConfigHome() (string, error)
- func (u *UnixOsManager) GetConfigDir() (string, error)
- func (u *UnixOsManager) GetCurrentUsername() (string, error)
- func (u *UnixOsManager) GetFileOwner(path string) (string, error)
- func (u *UnixOsManager) GetHomeDir() (string, error)
- func (u *UnixOsManager) GetProgramPath(program string) (string, error)
- func (u *UnixOsManager) GetProgramVersion(program string, versionExtractor VersionExtractor, queryArgs ...string) (string, error)
- func (u *UnixOsManager) GetUserShell(username string) (string, error)
- func (u *UnixOsManager) Getenv(key string) string
- func (u *UnixOsManager) ProgramExists(program string) (bool, error)
- func (u *UnixOsManager) SetOwnership(path, username string) error
- func (u *UnixOsManager) SetPermissions(path string, mode os.FileMode) error
- func (u *UnixOsManager) SetUserShell(username, shellPath string) error
- func (u *UnixOsManager) UserExists(username string) (bool, error)
- type UserManager
- type VersionExtractor
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type EnvironmentManager ¶
type EnvironmentManager interface {
// Getenv retrieves the value of the environment variable named by the key.
Getenv(key string) string
}
EnvironmentManager defines operations for managing environment variables.
type EtcShellsManager ¶
type EtcShellsManager interface {
// EnsureShellInEtcShells adds the given shell path to /etc/shells if it is not already present.
EnsureShellInEtcShells(shellPath string) error
}
EtcShellsManager defines operations for managing /etc/shells.
type FilePermissionManager ¶
type FilePermissionManager interface {
// SetOwnership sets ownership of a directory to a user.
SetOwnership(path, username string) error
// SetPermissions sets permissions for a file or directory.
SetPermissions(path string, mode os.FileMode) error
// GetFileOwner returns the username of the file owner.
GetFileOwner(path string) (string, error)
}
FilePermissionManager defines operations for managing filesystem permissions.
type MoqEnvironmentManager ¶
type MoqEnvironmentManager struct {
// GetenvFunc mocks the Getenv method.
GetenvFunc func(key string) string
// contains filtered or unexported fields
}
MoqEnvironmentManager is a mock implementation of EnvironmentManager.
func TestSomethingThatUsesEnvironmentManager(t *testing.T) {
// make and configure a mocked EnvironmentManager
mockedEnvironmentManager := &MoqEnvironmentManager{
GetenvFunc: func(key string) string {
panic("mock out the Getenv method")
},
}
// use mockedEnvironmentManager in code that requires EnvironmentManager
// and then make assertions.
}
func (*MoqEnvironmentManager) Getenv ¶
func (mock *MoqEnvironmentManager) Getenv(key string) string
Getenv calls GetenvFunc.
func (*MoqEnvironmentManager) GetenvCalls ¶
func (mock *MoqEnvironmentManager) GetenvCalls() []struct { Key string }
GetenvCalls gets all the calls that were made to Getenv. Check the length with:
len(mockedEnvironmentManager.GetenvCalls())
type MoqEtcShellsManager ¶
type MoqEtcShellsManager struct {
// EnsureShellInEtcShellsFunc mocks the EnsureShellInEtcShells method.
EnsureShellInEtcShellsFunc func(shellPath string) error
// contains filtered or unexported fields
}
MoqEtcShellsManager is a mock implementation of EtcShellsManager.
func TestSomethingThatUsesEtcShellsManager(t *testing.T) {
// make and configure a mocked EtcShellsManager
mockedEtcShellsManager := &MoqEtcShellsManager{
EnsureShellInEtcShellsFunc: func(shellPath string) error {
panic("mock out the EnsureShellInEtcShells method")
},
}
// use mockedEtcShellsManager in code that requires EtcShellsManager
// and then make assertions.
}
func (*MoqEtcShellsManager) EnsureShellInEtcShells ¶
func (mock *MoqEtcShellsManager) EnsureShellInEtcShells(shellPath string) error
EnsureShellInEtcShells calls EnsureShellInEtcShellsFunc.
func (*MoqEtcShellsManager) EnsureShellInEtcShellsCalls ¶
func (mock *MoqEtcShellsManager) EnsureShellInEtcShellsCalls() []struct { ShellPath string }
EnsureShellInEtcShellsCalls gets all the calls that were made to EnsureShellInEtcShells. Check the length with:
len(mockedEtcShellsManager.EnsureShellInEtcShellsCalls())
type MoqFilePermissionManager ¶
type MoqFilePermissionManager struct {
// GetFileOwnerFunc mocks the GetFileOwner method.
GetFileOwnerFunc func(path string) (string, error)
// SetOwnershipFunc mocks the SetOwnership method.
SetOwnershipFunc func(path string, username string) error
// SetPermissionsFunc mocks the SetPermissions method.
SetPermissionsFunc func(path string, mode os.FileMode) error
// contains filtered or unexported fields
}
MoqFilePermissionManager is a mock implementation of FilePermissionManager.
func TestSomethingThatUsesFilePermissionManager(t *testing.T) {
// make and configure a mocked FilePermissionManager
mockedFilePermissionManager := &MoqFilePermissionManager{
GetFileOwnerFunc: func(path string) (string, error) {
panic("mock out the GetFileOwner method")
},
SetOwnershipFunc: func(path string, username string) error {
panic("mock out the SetOwnership method")
},
SetPermissionsFunc: func(path string, mode os.FileMode) error {
panic("mock out the SetPermissions method")
},
}
// use mockedFilePermissionManager in code that requires FilePermissionManager
// and then make assertions.
}
func (*MoqFilePermissionManager) GetFileOwner ¶
func (mock *MoqFilePermissionManager) GetFileOwner(path string) (string, error)
GetFileOwner calls GetFileOwnerFunc.
func (*MoqFilePermissionManager) GetFileOwnerCalls ¶
func (mock *MoqFilePermissionManager) GetFileOwnerCalls() []struct { Path string }
GetFileOwnerCalls gets all the calls that were made to GetFileOwner. Check the length with:
len(mockedFilePermissionManager.GetFileOwnerCalls())
func (*MoqFilePermissionManager) SetOwnership ¶
func (mock *MoqFilePermissionManager) SetOwnership(path string, username string) error
SetOwnership calls SetOwnershipFunc.
func (*MoqFilePermissionManager) SetOwnershipCalls ¶
func (mock *MoqFilePermissionManager) SetOwnershipCalls() []struct { Path string Username string }
SetOwnershipCalls gets all the calls that were made to SetOwnership. Check the length with:
len(mockedFilePermissionManager.SetOwnershipCalls())
func (*MoqFilePermissionManager) SetPermissions ¶
func (mock *MoqFilePermissionManager) SetPermissions(path string, mode os.FileMode) error
SetPermissions calls SetPermissionsFunc.
func (*MoqFilePermissionManager) SetPermissionsCalls ¶
func (mock *MoqFilePermissionManager) SetPermissionsCalls() []struct { Path string Mode os.FileMode }
SetPermissionsCalls gets all the calls that were made to SetPermissions. Check the length with:
len(mockedFilePermissionManager.SetPermissionsCalls())
type MoqOsManager ¶
type MoqOsManager struct {
// AddSudoAccessFunc mocks the AddSudoAccess method.
AddSudoAccessFunc func(username string) error
// AddUserFunc mocks the AddUser method.
AddUserFunc func(username string) error
// AddUserToGroupFunc mocks the AddUserToGroup method.
AddUserToGroupFunc func(username string, group string) error
// EnsureShellInEtcShellsFunc mocks the EnsureShellInEtcShells method.
EnsureShellInEtcShellsFunc func(shellPath string) error
// GetChezmoiConfigHomeFunc mocks the GetChezmoiConfigHome method.
GetChezmoiConfigHomeFunc func() (string, error)
// GetConfigDirFunc mocks the GetConfigDir method.
GetConfigDirFunc func() (string, error)
// GetCurrentUsernameFunc mocks the GetCurrentUsername method.
GetCurrentUsernameFunc func() (string, error)
// GetFileOwnerFunc mocks the GetFileOwner method.
GetFileOwnerFunc func(path string) (string, error)
// GetHomeDirFunc mocks the GetHomeDir method.
GetHomeDirFunc func() (string, error)
// GetProgramPathFunc mocks the GetProgramPath method.
GetProgramPathFunc func(program string) (string, error)
// GetProgramVersionFunc mocks the GetProgramVersion method.
GetProgramVersionFunc func(program string, versionExtractor VersionExtractor, queryArgs ...string) (string, error)
// GetUserShellFunc mocks the GetUserShell method.
GetUserShellFunc func(username string) (string, error)
// GetenvFunc mocks the Getenv method.
GetenvFunc func(key string) string
// ProgramExistsFunc mocks the ProgramExists method.
ProgramExistsFunc func(program string) (bool, error)
// SetOwnershipFunc mocks the SetOwnership method.
SetOwnershipFunc func(path string, username string) error
// SetPermissionsFunc mocks the SetPermissions method.
SetPermissionsFunc func(path string, mode os.FileMode) error
// SetUserShellFunc mocks the SetUserShell method.
SetUserShellFunc func(username string, shellPath string) error
// UserExistsFunc mocks the UserExists method.
UserExistsFunc func(username string) (bool, error)
// contains filtered or unexported fields
}
MoqOsManager is a mock implementation of OsManager.
func TestSomethingThatUsesOsManager(t *testing.T) {
// make and configure a mocked OsManager
mockedOsManager := &MoqOsManager{
AddSudoAccessFunc: func(username string) error {
panic("mock out the AddSudoAccess method")
},
AddUserFunc: func(username string) error {
panic("mock out the AddUser method")
},
AddUserToGroupFunc: func(username string, group string) error {
panic("mock out the AddUserToGroup method")
},
EnsureShellInEtcShellsFunc: func(shellPath string) error {
panic("mock out the EnsureShellInEtcShells method")
},
GetChezmoiConfigHomeFunc: func() (string, error) {
panic("mock out the GetChezmoiConfigHome method")
},
GetConfigDirFunc: func() (string, error) {
panic("mock out the GetConfigDir method")
},
GetCurrentUsernameFunc: func() (string, error) {
panic("mock out the GetCurrentUsername method")
},
GetFileOwnerFunc: func(path string) (string, error) {
panic("mock out the GetFileOwner method")
},
GetHomeDirFunc: func() (string, error) {
panic("mock out the GetHomeDir method")
},
GetProgramPathFunc: func(program string) (string, error) {
panic("mock out the GetProgramPath method")
},
GetProgramVersionFunc: func(program string, versionExtractor VersionExtractor, queryArgs ...string) (string, error) {
panic("mock out the GetProgramVersion method")
},
GetUserShellFunc: func(username string) (string, error) {
panic("mock out the GetUserShell method")
},
GetenvFunc: func(key string) string {
panic("mock out the Getenv method")
},
ProgramExistsFunc: func(program string) (bool, error) {
panic("mock out the ProgramExists method")
},
SetOwnershipFunc: func(path string, username string) error {
panic("mock out the SetOwnership method")
},
SetPermissionsFunc: func(path string, mode os.FileMode) error {
panic("mock out the SetPermissions method")
},
SetUserShellFunc: func(username string, shellPath string) error {
panic("mock out the SetUserShell method")
},
UserExistsFunc: func(username string) (bool, error) {
panic("mock out the UserExists method")
},
}
// use mockedOsManager in code that requires OsManager
// and then make assertions.
}
func (*MoqOsManager) AddSudoAccess ¶
func (mock *MoqOsManager) AddSudoAccess(username string) error
AddSudoAccess calls AddSudoAccessFunc.
func (*MoqOsManager) AddSudoAccessCalls ¶
func (mock *MoqOsManager) AddSudoAccessCalls() []struct { Username string }
AddSudoAccessCalls gets all the calls that were made to AddSudoAccess. Check the length with:
len(mockedOsManager.AddSudoAccessCalls())
func (*MoqOsManager) AddUser ¶
func (mock *MoqOsManager) AddUser(username string) error
AddUser calls AddUserFunc.
func (*MoqOsManager) AddUserCalls ¶
func (mock *MoqOsManager) AddUserCalls() []struct { Username string }
AddUserCalls gets all the calls that were made to AddUser. Check the length with:
len(mockedOsManager.AddUserCalls())
func (*MoqOsManager) AddUserToGroup ¶
func (mock *MoqOsManager) AddUserToGroup(username string, group string) error
AddUserToGroup calls AddUserToGroupFunc.
func (*MoqOsManager) AddUserToGroupCalls ¶
func (mock *MoqOsManager) AddUserToGroupCalls() []struct { Username string Group string }
AddUserToGroupCalls gets all the calls that were made to AddUserToGroup. Check the length with:
len(mockedOsManager.AddUserToGroupCalls())
func (*MoqOsManager) EnsureShellInEtcShells ¶
func (mock *MoqOsManager) EnsureShellInEtcShells(shellPath string) error
EnsureShellInEtcShells calls EnsureShellInEtcShellsFunc.
func (*MoqOsManager) EnsureShellInEtcShellsCalls ¶
func (mock *MoqOsManager) EnsureShellInEtcShellsCalls() []struct { ShellPath string }
EnsureShellInEtcShellsCalls gets all the calls that were made to EnsureShellInEtcShells. Check the length with:
len(mockedOsManager.EnsureShellInEtcShellsCalls())
func (*MoqOsManager) GetChezmoiConfigHome ¶
func (mock *MoqOsManager) GetChezmoiConfigHome() (string, error)
GetChezmoiConfigHome calls GetChezmoiConfigHomeFunc.
func (*MoqOsManager) GetChezmoiConfigHomeCalls ¶
func (mock *MoqOsManager) GetChezmoiConfigHomeCalls() []struct { }
GetChezmoiConfigHomeCalls gets all the calls that were made to GetChezmoiConfigHome. Check the length with:
len(mockedOsManager.GetChezmoiConfigHomeCalls())
func (*MoqOsManager) GetConfigDir ¶
func (mock *MoqOsManager) GetConfigDir() (string, error)
GetConfigDir calls GetConfigDirFunc.
func (*MoqOsManager) GetConfigDirCalls ¶
func (mock *MoqOsManager) GetConfigDirCalls() []struct { }
GetConfigDirCalls gets all the calls that were made to GetConfigDir. Check the length with:
len(mockedOsManager.GetConfigDirCalls())
func (*MoqOsManager) GetCurrentUsername ¶
func (mock *MoqOsManager) GetCurrentUsername() (string, error)
GetCurrentUsername calls GetCurrentUsernameFunc.
func (*MoqOsManager) GetCurrentUsernameCalls ¶
func (mock *MoqOsManager) GetCurrentUsernameCalls() []struct { }
GetCurrentUsernameCalls gets all the calls that were made to GetCurrentUsername. Check the length with:
len(mockedOsManager.GetCurrentUsernameCalls())
func (*MoqOsManager) GetFileOwner ¶
func (mock *MoqOsManager) GetFileOwner(path string) (string, error)
GetFileOwner calls GetFileOwnerFunc.
func (*MoqOsManager) GetFileOwnerCalls ¶
func (mock *MoqOsManager) GetFileOwnerCalls() []struct { Path string }
GetFileOwnerCalls gets all the calls that were made to GetFileOwner. Check the length with:
len(mockedOsManager.GetFileOwnerCalls())
func (*MoqOsManager) GetHomeDir ¶
func (mock *MoqOsManager) GetHomeDir() (string, error)
GetHomeDir calls GetHomeDirFunc.
func (*MoqOsManager) GetHomeDirCalls ¶
func (mock *MoqOsManager) GetHomeDirCalls() []struct { }
GetHomeDirCalls gets all the calls that were made to GetHomeDir. Check the length with:
len(mockedOsManager.GetHomeDirCalls())
func (*MoqOsManager) GetProgramPath ¶
func (mock *MoqOsManager) GetProgramPath(program string) (string, error)
GetProgramPath calls GetProgramPathFunc.
func (*MoqOsManager) GetProgramPathCalls ¶
func (mock *MoqOsManager) GetProgramPathCalls() []struct { Program string }
GetProgramPathCalls gets all the calls that were made to GetProgramPath. Check the length with:
len(mockedOsManager.GetProgramPathCalls())
func (*MoqOsManager) GetProgramVersion ¶
func (mock *MoqOsManager) GetProgramVersion(program string, versionExtractor VersionExtractor, queryArgs ...string) (string, error)
GetProgramVersion calls GetProgramVersionFunc.
func (*MoqOsManager) GetProgramVersionCalls ¶
func (mock *MoqOsManager) GetProgramVersionCalls() []struct { Program string VersionExtractor VersionExtractor QueryArgs []string }
GetProgramVersionCalls gets all the calls that were made to GetProgramVersion. Check the length with:
len(mockedOsManager.GetProgramVersionCalls())
func (*MoqOsManager) GetUserShell ¶
func (mock *MoqOsManager) GetUserShell(username string) (string, error)
GetUserShell calls GetUserShellFunc.
func (*MoqOsManager) GetUserShellCalls ¶
func (mock *MoqOsManager) GetUserShellCalls() []struct { Username string }
GetUserShellCalls gets all the calls that were made to GetUserShell. Check the length with:
len(mockedOsManager.GetUserShellCalls())
func (*MoqOsManager) Getenv ¶
func (mock *MoqOsManager) Getenv(key string) string
Getenv calls GetenvFunc.
func (*MoqOsManager) GetenvCalls ¶
func (mock *MoqOsManager) GetenvCalls() []struct { Key string }
GetenvCalls gets all the calls that were made to Getenv. Check the length with:
len(mockedOsManager.GetenvCalls())
func (*MoqOsManager) ProgramExists ¶
func (mock *MoqOsManager) ProgramExists(program string) (bool, error)
ProgramExists calls ProgramExistsFunc.
func (*MoqOsManager) ProgramExistsCalls ¶
func (mock *MoqOsManager) ProgramExistsCalls() []struct { Program string }
ProgramExistsCalls gets all the calls that were made to ProgramExists. Check the length with:
len(mockedOsManager.ProgramExistsCalls())
func (*MoqOsManager) SetOwnership ¶
func (mock *MoqOsManager) SetOwnership(path string, username string) error
SetOwnership calls SetOwnershipFunc.
func (*MoqOsManager) SetOwnershipCalls ¶
func (mock *MoqOsManager) SetOwnershipCalls() []struct { Path string Username string }
SetOwnershipCalls gets all the calls that were made to SetOwnership. Check the length with:
len(mockedOsManager.SetOwnershipCalls())
func (*MoqOsManager) SetPermissions ¶
func (mock *MoqOsManager) SetPermissions(path string, mode os.FileMode) error
SetPermissions calls SetPermissionsFunc.
func (*MoqOsManager) SetPermissionsCalls ¶
func (mock *MoqOsManager) SetPermissionsCalls() []struct { Path string Mode os.FileMode }
SetPermissionsCalls gets all the calls that were made to SetPermissions. Check the length with:
len(mockedOsManager.SetPermissionsCalls())
func (*MoqOsManager) SetUserShell ¶
func (mock *MoqOsManager) SetUserShell(username string, shellPath string) error
SetUserShell calls SetUserShellFunc.
func (*MoqOsManager) SetUserShellCalls ¶
func (mock *MoqOsManager) SetUserShellCalls() []struct { Username string ShellPath string }
SetUserShellCalls gets all the calls that were made to SetUserShell. Check the length with:
len(mockedOsManager.SetUserShellCalls())
func (*MoqOsManager) UserExists ¶
func (mock *MoqOsManager) UserExists(username string) (bool, error)
UserExists calls UserExistsFunc.
func (*MoqOsManager) UserExistsCalls ¶
func (mock *MoqOsManager) UserExistsCalls() []struct { Username string }
UserExistsCalls gets all the calls that were made to UserExists. Check the length with:
len(mockedOsManager.UserExistsCalls())
type MoqProgramQuery ¶
type MoqProgramQuery struct {
// GetProgramPathFunc mocks the GetProgramPath method.
GetProgramPathFunc func(program string) (string, error)
// GetProgramVersionFunc mocks the GetProgramVersion method.
GetProgramVersionFunc func(program string, versionExtractor VersionExtractor, queryArgs ...string) (string, error)
// ProgramExistsFunc mocks the ProgramExists method.
ProgramExistsFunc func(program string) (bool, error)
// contains filtered or unexported fields
}
MoqProgramQuery is a mock implementation of ProgramQuery.
func TestSomethingThatUsesProgramQuery(t *testing.T) {
// make and configure a mocked ProgramQuery
mockedProgramQuery := &MoqProgramQuery{
GetProgramPathFunc: func(program string) (string, error) {
panic("mock out the GetProgramPath method")
},
GetProgramVersionFunc: func(program string, versionExtractor VersionExtractor, queryArgs ...string) (string, error) {
panic("mock out the GetProgramVersion method")
},
ProgramExistsFunc: func(program string) (bool, error) {
panic("mock out the ProgramExists method")
},
}
// use mockedProgramQuery in code that requires ProgramQuery
// and then make assertions.
}
func (*MoqProgramQuery) GetProgramPath ¶
func (mock *MoqProgramQuery) GetProgramPath(program string) (string, error)
GetProgramPath calls GetProgramPathFunc.
func (*MoqProgramQuery) GetProgramPathCalls ¶
func (mock *MoqProgramQuery) GetProgramPathCalls() []struct { Program string }
GetProgramPathCalls gets all the calls that were made to GetProgramPath. Check the length with:
len(mockedProgramQuery.GetProgramPathCalls())
func (*MoqProgramQuery) GetProgramVersion ¶
func (mock *MoqProgramQuery) GetProgramVersion(program string, versionExtractor VersionExtractor, queryArgs ...string) (string, error)
GetProgramVersion calls GetProgramVersionFunc.
func (*MoqProgramQuery) GetProgramVersionCalls ¶
func (mock *MoqProgramQuery) GetProgramVersionCalls() []struct { Program string VersionExtractor VersionExtractor QueryArgs []string }
GetProgramVersionCalls gets all the calls that were made to GetProgramVersion. Check the length with:
len(mockedProgramQuery.GetProgramVersionCalls())
func (*MoqProgramQuery) ProgramExists ¶
func (mock *MoqProgramQuery) ProgramExists(program string) (bool, error)
ProgramExists calls ProgramExistsFunc.
func (*MoqProgramQuery) ProgramExistsCalls ¶
func (mock *MoqProgramQuery) ProgramExistsCalls() []struct { Program string }
ProgramExistsCalls gets all the calls that were made to ProgramExists. Check the length with:
len(mockedProgramQuery.ProgramExistsCalls())
type MoqSudoManager ¶
type MoqSudoManager struct {
// AddSudoAccessFunc mocks the AddSudoAccess method.
AddSudoAccessFunc func(username string) error
// contains filtered or unexported fields
}
MoqSudoManager is a mock implementation of SudoManager.
func TestSomethingThatUsesSudoManager(t *testing.T) {
// make and configure a mocked SudoManager
mockedSudoManager := &MoqSudoManager{
AddSudoAccessFunc: func(username string) error {
panic("mock out the AddSudoAccess method")
},
}
// use mockedSudoManager in code that requires SudoManager
// and then make assertions.
}
func (*MoqSudoManager) AddSudoAccess ¶
func (mock *MoqSudoManager) AddSudoAccess(username string) error
AddSudoAccess calls AddSudoAccessFunc.
func (*MoqSudoManager) AddSudoAccessCalls ¶
func (mock *MoqSudoManager) AddSudoAccessCalls() []struct { Username string }
AddSudoAccessCalls gets all the calls that were made to AddSudoAccess. Check the length with:
len(mockedSudoManager.AddSudoAccessCalls())
type MoqUserManager ¶
type MoqUserManager struct {
// AddUserFunc mocks the AddUser method.
AddUserFunc func(username string) error
// AddUserToGroupFunc mocks the AddUserToGroup method.
AddUserToGroupFunc func(username string, group string) error
// GetChezmoiConfigHomeFunc mocks the GetChezmoiConfigHome method.
GetChezmoiConfigHomeFunc func() (string, error)
// GetConfigDirFunc mocks the GetConfigDir method.
GetConfigDirFunc func() (string, error)
// GetCurrentUsernameFunc mocks the GetCurrentUsername method.
GetCurrentUsernameFunc func() (string, error)
// GetHomeDirFunc mocks the GetHomeDir method.
GetHomeDirFunc func() (string, error)
// GetUserShellFunc mocks the GetUserShell method.
GetUserShellFunc func(username string) (string, error)
// SetUserShellFunc mocks the SetUserShell method.
SetUserShellFunc func(username string, shellPath string) error
// UserExistsFunc mocks the UserExists method.
UserExistsFunc func(username string) (bool, error)
// contains filtered or unexported fields
}
MoqUserManager is a mock implementation of UserManager.
func TestSomethingThatUsesUserManager(t *testing.T) {
// make and configure a mocked UserManager
mockedUserManager := &MoqUserManager{
AddUserFunc: func(username string) error {
panic("mock out the AddUser method")
},
AddUserToGroupFunc: func(username string, group string) error {
panic("mock out the AddUserToGroup method")
},
GetChezmoiConfigHomeFunc: func() (string, error) {
panic("mock out the GetChezmoiConfigHome method")
},
GetConfigDirFunc: func() (string, error) {
panic("mock out the GetConfigDir method")
},
GetCurrentUsernameFunc: func() (string, error) {
panic("mock out the GetCurrentUsername method")
},
GetHomeDirFunc: func() (string, error) {
panic("mock out the GetHomeDir method")
},
GetUserShellFunc: func(username string) (string, error) {
panic("mock out the GetUserShell method")
},
SetUserShellFunc: func(username string, shellPath string) error {
panic("mock out the SetUserShell method")
},
UserExistsFunc: func(username string) (bool, error) {
panic("mock out the UserExists method")
},
}
// use mockedUserManager in code that requires UserManager
// and then make assertions.
}
func (*MoqUserManager) AddUser ¶
func (mock *MoqUserManager) AddUser(username string) error
AddUser calls AddUserFunc.
func (*MoqUserManager) AddUserCalls ¶
func (mock *MoqUserManager) AddUserCalls() []struct { Username string }
AddUserCalls gets all the calls that were made to AddUser. Check the length with:
len(mockedUserManager.AddUserCalls())
func (*MoqUserManager) AddUserToGroup ¶
func (mock *MoqUserManager) AddUserToGroup(username string, group string) error
AddUserToGroup calls AddUserToGroupFunc.
func (*MoqUserManager) AddUserToGroupCalls ¶
func (mock *MoqUserManager) AddUserToGroupCalls() []struct { Username string Group string }
AddUserToGroupCalls gets all the calls that were made to AddUserToGroup. Check the length with:
len(mockedUserManager.AddUserToGroupCalls())
func (*MoqUserManager) GetChezmoiConfigHome ¶
func (mock *MoqUserManager) GetChezmoiConfigHome() (string, error)
GetChezmoiConfigHome calls GetChezmoiConfigHomeFunc.
func (*MoqUserManager) GetChezmoiConfigHomeCalls ¶
func (mock *MoqUserManager) GetChezmoiConfigHomeCalls() []struct { }
GetChezmoiConfigHomeCalls gets all the calls that were made to GetChezmoiConfigHome. Check the length with:
len(mockedUserManager.GetChezmoiConfigHomeCalls())
func (*MoqUserManager) GetConfigDir ¶
func (mock *MoqUserManager) GetConfigDir() (string, error)
GetConfigDir calls GetConfigDirFunc.
func (*MoqUserManager) GetConfigDirCalls ¶
func (mock *MoqUserManager) GetConfigDirCalls() []struct { }
GetConfigDirCalls gets all the calls that were made to GetConfigDir. Check the length with:
len(mockedUserManager.GetConfigDirCalls())
func (*MoqUserManager) GetCurrentUsername ¶
func (mock *MoqUserManager) GetCurrentUsername() (string, error)
GetCurrentUsername calls GetCurrentUsernameFunc.
func (*MoqUserManager) GetCurrentUsernameCalls ¶
func (mock *MoqUserManager) GetCurrentUsernameCalls() []struct { }
GetCurrentUsernameCalls gets all the calls that were made to GetCurrentUsername. Check the length with:
len(mockedUserManager.GetCurrentUsernameCalls())
func (*MoqUserManager) GetHomeDir ¶
func (mock *MoqUserManager) GetHomeDir() (string, error)
GetHomeDir calls GetHomeDirFunc.
func (*MoqUserManager) GetHomeDirCalls ¶
func (mock *MoqUserManager) GetHomeDirCalls() []struct { }
GetHomeDirCalls gets all the calls that were made to GetHomeDir. Check the length with:
len(mockedUserManager.GetHomeDirCalls())
func (*MoqUserManager) GetUserShell ¶
func (mock *MoqUserManager) GetUserShell(username string) (string, error)
GetUserShell calls GetUserShellFunc.
func (*MoqUserManager) GetUserShellCalls ¶
func (mock *MoqUserManager) GetUserShellCalls() []struct { Username string }
GetUserShellCalls gets all the calls that were made to GetUserShell. Check the length with:
len(mockedUserManager.GetUserShellCalls())
func (*MoqUserManager) SetUserShell ¶
func (mock *MoqUserManager) SetUserShell(username string, shellPath string) error
SetUserShell calls SetUserShellFunc.
func (*MoqUserManager) SetUserShellCalls ¶
func (mock *MoqUserManager) SetUserShellCalls() []struct { Username string ShellPath string }
SetUserShellCalls gets all the calls that were made to SetUserShell. Check the length with:
len(mockedUserManager.SetUserShellCalls())
func (*MoqUserManager) UserExists ¶
func (mock *MoqUserManager) UserExists(username string) (bool, error)
UserExists calls UserExistsFunc.
func (*MoqUserManager) UserExistsCalls ¶
func (mock *MoqUserManager) UserExistsCalls() []struct { Username string }
UserExistsCalls gets all the calls that were made to UserExists. Check the length with:
len(mockedUserManager.UserExistsCalls())
type OsManager ¶
type OsManager interface {
UserManager
SudoManager
EtcShellsManager
FilePermissionManager
ProgramQuery
EnvironmentManager
}
OsManager combines all system operation interfaces.
type ProgramQuery ¶
type ProgramQuery interface {
// GetProgramPath retrieves the full path of a program if it's available in one of the system's PATH directories.
// If the program is not found, it returns an error.
GetProgramPath(program string) (string, error)
// ProgramExists checks if a program exists in the system's PATH directories.
// It returns true if the program is found, false if not, and an error if there was an issue checking.
ProgramExists(program string) (bool, error)
// GetProgramVersion retrieves the version of a program by executing it with the provided query arguments.
GetProgramVersion(program string, versionExtractor VersionExtractor, queryArgs ...string) (string, error)
}
type SudoManager ¶
type SudoManager interface {
// AddSudoAccess grants password-less sudo access to a user.
AddSudoAccess(username string) error
}
SudoManager defines operations for managing sudo permissions.
type UnixOsManager ¶
type UnixOsManager struct {
// contains filtered or unexported fields
}
UnixOsManager implements OsManager for Unix-like systems.
func NewUnixOsManager ¶
func NewUnixOsManager( logger logger.Logger, commander utils.Commander, escalator privilege.Escalator, fileSystem utils.FileSystem, ) *UnixOsManager
NewUnixOsManager creates a new UnixOsManager with injected Escalator and FileSystem. Intended for deterministic unit tests.
func (*UnixOsManager) AddSudoAccess ¶
func (u *UnixOsManager) AddSudoAccess(username string) error
func (*UnixOsManager) AddUser ¶
func (u *UnixOsManager) AddUser(username string) error
func (*UnixOsManager) AddUserToGroup ¶
func (u *UnixOsManager) AddUserToGroup(username, group string) error
func (*UnixOsManager) EnsureShellInEtcShells ¶
func (u *UnixOsManager) EnsureShellInEtcShells(shellPath string) error
func (*UnixOsManager) GetChezmoiConfigHome ¶
func (u *UnixOsManager) GetChezmoiConfigHome() (string, error)
func (*UnixOsManager) GetConfigDir ¶
func (u *UnixOsManager) GetConfigDir() (string, error)
func (*UnixOsManager) GetCurrentUsername ¶
func (u *UnixOsManager) GetCurrentUsername() (string, error)
GetCurrentUsername returns the current user's username.
func (*UnixOsManager) GetFileOwner ¶
func (u *UnixOsManager) GetFileOwner(path string) (string, error)
func (*UnixOsManager) GetHomeDir ¶
func (u *UnixOsManager) GetHomeDir() (string, error)
func (*UnixOsManager) GetProgramPath ¶
func (u *UnixOsManager) GetProgramPath(program string) (string, error)
func (*UnixOsManager) GetProgramVersion ¶
func (u *UnixOsManager) GetProgramVersion( program string, versionExtractor VersionExtractor, queryArgs ...string, ) (string, error)
func (*UnixOsManager) GetUserShell ¶
func (u *UnixOsManager) GetUserShell(username string) (string, error)
GetUserShell returns the default login shell for the specified user. On macOS, uses dscl. On Linux, reads /etc/passwd.
func (*UnixOsManager) Getenv ¶
func (u *UnixOsManager) Getenv(key string) string
func (*UnixOsManager) ProgramExists ¶
func (u *UnixOsManager) ProgramExists(program string) (bool, error)
func (*UnixOsManager) SetOwnership ¶
func (u *UnixOsManager) SetOwnership(path, username string) error
func (*UnixOsManager) SetPermissions ¶
func (u *UnixOsManager) SetPermissions(path string, mode os.FileMode) error
func (*UnixOsManager) SetUserShell ¶
func (u *UnixOsManager) SetUserShell(username, shellPath string) error
SetUserShell sets the default login shell for the specified user. On macOS, uses dscl. On Linux, uses usermod -s.
func (*UnixOsManager) UserExists ¶
func (u *UnixOsManager) UserExists(username string) (bool, error)
type UserManager ¶
type UserManager interface {
// AddUser creates a new user in the system.
AddUser(username string) error
// AddUserToGroup adds a user to a specified group.
AddUserToGroup(username, group string) error
// UserExists checks if a user exists in the system.
UserExists(username string) (bool, error)
// GetHomeDirectory returns the home directory of the current user.
GetHomeDir() (string, error)
// GetConfigDir returns the configuration directory of the current user.
GetConfigDir() (string, error)
// GetChezmoiConfigHome returns the configuration directory where chezmoi actually looks for its config.
// This is always ~/.config regardless of XDG specification on different platforms.
GetChezmoiConfigHome() (string, error)
// GetCurrentUsername returns the current user's username.
GetCurrentUsername() (string, error)
// GetUserShell returns the default login shell for the specified user.
GetUserShell(username string) (string, error)
// SetUserShell sets the default login shell for the specified user.
// On Linux, uses usermod -s. On macOS, uses dscl.
SetUserShell(username, shellPath string) error
}
UserManager defines operations for managing system users.