Skip to content

Commit

Permalink
prepare for unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
house-lee committed Feb 6, 2025
1 parent d392aaa commit 37d849b
Show file tree
Hide file tree
Showing 4 changed files with 54 additions and 1 deletion.
4 changes: 4 additions & 0 deletions internal/sysutil/common.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,10 +49,14 @@ type File interface {
Name() string
Close() error
Stat() (os.FileInfo, error)

Read(p []byte) (n int, err error)
}

type osOperator interface {
getpwnam(username string) (*User, error)
mkdir(dir string, user *User, perm os.FileMode) error
createFileForWrite(file string, user *User, perm os.FileMode) (io.WriteCloser, error)
createTempFile(dir, pattern string, user *User) (File, error)
openFile(name string, flag int, perm os.FileMode) (File, error)
}
45 changes: 45 additions & 0 deletions internal/sysutil/common_mocks.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions internal/sysutil/os_operations_unix.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,10 @@ type osOperatorImpl struct {
osOpHelper
}

func (o *osOperatorImpl) openFile(name string, flag int, perm os.FileMode) (File, error) {
return os.OpenFile(name, flag, perm)
}

func (o *osOperatorImpl) getpwnam(username string) (*User, error) {
content, err := o.ReadFile("/etc/passwd")
if err != nil {
Expand Down
2 changes: 1 addition & 1 deletion internal/sysutil/sysmanager_linux.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ func (s *SysManager) CopyFileAttribute(from, to string) error {
// ReadFileOfUser reads a file of the given user
// either the user is root (i.e. uid=0), or the file has to be owned by the user
func (s *SysManager) ReadFileOfUser(filename string, user *User) ([]byte, error) {
file, err := os.OpenFile(filename, os.O_RDONLY, 0)
file, err := s.openFile(filename, os.O_RDONLY, 0)
if err != nil {
return nil, err
}
Expand Down

0 comments on commit 37d849b

Please sign in to comment.