mirror of
https://github.com/kyverno/kyverno.git
synced 2025-03-06 16:06:56 +00:00
63 lines
1.3 KiB
Go
63 lines
1.3 KiB
Go
package fs_test
|
|
|
|
import (
|
|
"os"
|
|
"testing"
|
|
|
|
"gotest.tools/assert"
|
|
"gotest.tools/fs"
|
|
)
|
|
|
|
func TestNewDirWithOpsAndManifestEqual(t *testing.T) {
|
|
var userOps []fs.PathOp
|
|
if os.Geteuid() == 0 {
|
|
userOps = append(userOps, fs.AsUser(1001, 1002))
|
|
}
|
|
|
|
ops := []fs.PathOp{
|
|
fs.WithFile("file1", "contenta", fs.WithMode(0400)),
|
|
fs.WithFile("file2", "", fs.WithBytes([]byte{0, 1, 2})),
|
|
fs.WithFile("file5", "", userOps...),
|
|
fs.WithSymlink("link1", "file1"),
|
|
fs.WithDir("sub",
|
|
fs.WithFiles(map[string]string{
|
|
"file3": "contentb",
|
|
"file4": "contentc",
|
|
}),
|
|
fs.WithMode(0705),
|
|
),
|
|
}
|
|
|
|
dir := fs.NewDir(t, "test-all", ops...)
|
|
defer dir.Remove()
|
|
|
|
manifestOps := append(
|
|
ops[:3],
|
|
fs.WithSymlink("link1", dir.Join("file1")),
|
|
ops[4],
|
|
)
|
|
assert.Assert(t, fs.Equal(dir.Path(), fs.Expected(t, manifestOps...)))
|
|
}
|
|
|
|
func TestNewFile(t *testing.T) {
|
|
t.Run("with test name", func(t *testing.T) {
|
|
tmpFile := fs.NewFile(t, t.Name())
|
|
_, err := os.Stat(tmpFile.Path())
|
|
assert.NilError(t, err)
|
|
|
|
tmpFile.Remove()
|
|
_, err = os.Stat(tmpFile.Path())
|
|
assert.ErrorType(t, err, os.IsNotExist)
|
|
})
|
|
|
|
t.Run(`with \ in name`, func(t *testing.T) {
|
|
tmpFile := fs.NewFile(t, `foo\thing`)
|
|
_, err := os.Stat(tmpFile.Path())
|
|
assert.NilError(t, err)
|
|
|
|
tmpFile.Remove()
|
|
_, err = os.Stat(tmpFile.Path())
|
|
assert.ErrorType(t, err, os.IsNotExist)
|
|
})
|
|
|
|
}
|