Merge "Extend document filesystem with chmod and dir methods"

This commit is contained in:
Zuul 2020-12-02 23:38:33 +00:00 committed by Gerrit Code Review
commit c3fb0fce35
2 changed files with 28 additions and 0 deletions

View File

@ -16,6 +16,8 @@ package fs
import (
"io/ioutil"
"os"
"path/filepath"
kustfs "sigs.k8s.io/kustomize/api/filesys"
)
@ -31,6 +33,8 @@ type FileSystem interface {
kustfs.FileSystem
TempFile(string, string) (File, error)
TempDir(string, string) (string, error)
Chmod(string, os.FileMode) error
Dir(string) string
}
// Fs is adaptor to TempFile
@ -52,3 +56,13 @@ func (dfs Fs) TempFile(tmpDir string, prefix string) (File, error) {
func (dfs Fs) TempDir(rootDir string, prefix string) (string, error) {
return ioutil.TempDir(rootDir, prefix)
}
// Chmod applies desired permissions on file
func (dfs Fs) Chmod(path string, mode os.FileMode) error {
return os.Chmod(path, mode)
}
// Dir returns all but the last element of path, typically the path's directory
func (dfs Fs) Dir(path string) string {
return filepath.Dir(path)
}

View File

@ -15,6 +15,8 @@
package fs
import (
"os"
kustfs "sigs.k8s.io/kustomize/api/filesys"
"opendev.org/airship/airshipctl/pkg/fs"
@ -28,6 +30,8 @@ type MockFileSystem struct {
MockTempDir func() (string, error)
// allow to check content of the incoming parameters, root and patter for temp file
MockTempFile func(string, string) (fs.File, error)
MockChmod func(string, os.FileMode) error
MockDir func(string) string
kustfs.FileSystem
}
@ -44,6 +48,16 @@ func (fsys MockFileSystem) TempDir(string, string) (string, error) {
return fsys.MockTempDir()
}
// Chmod Filesystem interface implementation
func (fsys MockFileSystem) Chmod(path string, mode os.FileMode) error {
return fsys.MockChmod(path, mode)
}
// Dir Filesystem interface implementation
func (fsys MockFileSystem) Dir(path string) string {
return fsys.MockDir(path)
}
// TestFile implements file
type TestFile struct {
fs.File