Simplify tests by testing.TempDir instead of os.MkdirTemp
Signed-off-by: Oleksandr Redko <Oleksandr_Redko@epam.com>
This commit is contained in:
parent
b683ff68e1
commit
a1db72dfa0
|
|
@ -16,8 +16,7 @@ import (
|
|||
|
||||
func TestCorruptedLayers(t *testing.T) {
|
||||
// Regression tests for https://bugzilla.redhat.com/show_bug.cgi?id=1966872.
|
||||
runtime, cleanup := testNewRuntime(t)
|
||||
defer cleanup()
|
||||
runtime := testNewRuntime(t)
|
||||
ctx := context.Background()
|
||||
pullOptions := &PullOptions{}
|
||||
pullOptions.Writer = os.Stdout
|
||||
|
|
|
|||
|
|
@ -17,8 +17,7 @@ func TestFilterReference(t *testing.T) {
|
|||
busyboxLatest := "quay.io/libpod/busybox:latest"
|
||||
alpineLatest := "quay.io/libpod/alpine:latest"
|
||||
|
||||
runtime, cleanup := testNewRuntime(t)
|
||||
defer cleanup()
|
||||
runtime := testNewRuntime(t)
|
||||
ctx := context.Background()
|
||||
|
||||
pullOptions := &PullOptions{}
|
||||
|
|
@ -93,8 +92,7 @@ func TestFilterDigest(t *testing.T) {
|
|||
busyboxLatest := "quay.io/libpod/busybox:latest"
|
||||
alpineLatest := "quay.io/libpod/alpine:latest"
|
||||
|
||||
runtime, cleanup := testNewRuntime(t)
|
||||
defer cleanup()
|
||||
runtime := testNewRuntime(t)
|
||||
ctx := context.Background()
|
||||
|
||||
pullOptions := &PullOptions{}
|
||||
|
|
@ -136,8 +134,7 @@ func TestFilterID(t *testing.T) {
|
|||
busyboxLatest := "quay.io/libpod/busybox:latest"
|
||||
alpineLatest := "quay.io/libpod/alpine:latest"
|
||||
|
||||
runtime, cleanup := testNewRuntime(t)
|
||||
defer cleanup()
|
||||
runtime := testNewRuntime(t)
|
||||
ctx := context.Background()
|
||||
|
||||
pullOptions := &PullOptions{}
|
||||
|
|
@ -175,8 +172,7 @@ func TestFilterManifest(t *testing.T) {
|
|||
busyboxLatest := "quay.io/libpod/busybox:latest"
|
||||
alpineLatest := "quay.io/libpod/alpine:latest"
|
||||
|
||||
runtime, cleanup := testNewRuntime(t)
|
||||
defer cleanup()
|
||||
runtime := testNewRuntime(t)
|
||||
ctx := context.Background()
|
||||
|
||||
pullOptions := &PullOptions{}
|
||||
|
|
@ -229,8 +225,7 @@ func TestFilterAfterSinceBeforeUntil(t *testing.T) {
|
|||
busyboxLatest := "quay.io/libpod/busybox:latest"
|
||||
alpineLatest := "quay.io/libpod/alpine:latest"
|
||||
|
||||
runtime, cleanup := testNewRuntime(t)
|
||||
defer cleanup()
|
||||
runtime := testNewRuntime(t)
|
||||
ctx := context.Background()
|
||||
|
||||
pullOptions := &PullOptions{}
|
||||
|
|
@ -282,8 +277,7 @@ func TestFilterIdLabel(t *testing.T) {
|
|||
busyboxLatest := "quay.io/libpod/busybox:latest"
|
||||
alpineLatest := "quay.io/libpod/alpine:latest"
|
||||
|
||||
runtime, cleanup := testNewRuntime(t)
|
||||
defer cleanup()
|
||||
runtime := testNewRuntime(t)
|
||||
ctx := context.Background()
|
||||
|
||||
pullOptions := &PullOptions{}
|
||||
|
|
|
|||
|
|
@ -11,8 +11,7 @@ import (
|
|||
)
|
||||
|
||||
func TestHistory(t *testing.T) {
|
||||
runtime, cleanup := testNewRuntime(t)
|
||||
defer cleanup()
|
||||
runtime := testNewRuntime(t)
|
||||
ctx := context.Background()
|
||||
|
||||
name := "quay.io/libpod/alpine:3.10.2"
|
||||
|
|
|
|||
|
|
@ -22,8 +22,7 @@ func TestImageFunctions(t *testing.T) {
|
|||
busyboxLatest := busybox + ":latest"
|
||||
busyboxDigest := busybox + "@"
|
||||
|
||||
runtime, cleanup := testNewRuntime(t)
|
||||
defer cleanup()
|
||||
runtime := testNewRuntime(t)
|
||||
ctx := context.Background()
|
||||
|
||||
// Looking up image by invalid sha.
|
||||
|
|
@ -190,8 +189,7 @@ func TestLookupImage(t *testing.T) {
|
|||
alpineNoTag := "quay.io/libpod/alpine"
|
||||
alpineLatest := alpineNoTag + ":latest"
|
||||
|
||||
runtime, cleanup := testNewRuntime(t)
|
||||
defer cleanup()
|
||||
runtime := testNewRuntime(t)
|
||||
ctx := context.Background()
|
||||
|
||||
pullOptions := &PullOptions{}
|
||||
|
|
@ -245,8 +243,7 @@ func TestLookupImage(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestInspectHealthcheck(t *testing.T) {
|
||||
runtime, cleanup := testNewRuntime(t)
|
||||
defer cleanup()
|
||||
runtime := testNewRuntime(t)
|
||||
ctx := context.Background()
|
||||
|
||||
imageName := "quay.io/libpod/healthcheck:config-only"
|
||||
|
|
@ -265,8 +262,7 @@ func TestInspectHealthcheck(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestTag(t *testing.T) {
|
||||
runtime, image, cleanup := getImageAndRuntime(t)
|
||||
defer cleanup()
|
||||
runtime, image := getImageAndRuntime(t)
|
||||
|
||||
digest := "sha256:adab3844f497ab9171f070d4cae4114b5aec565ac772e2f2579405b78be67c96"
|
||||
|
||||
|
|
@ -303,8 +299,7 @@ func TestTag(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestTagAndUntagParallel(t *testing.T) {
|
||||
runtime, image, cleanup := getImageAndRuntime(t)
|
||||
defer cleanup()
|
||||
runtime, image := getImageAndRuntime(t)
|
||||
|
||||
tagCount := 10
|
||||
wg := sync.WaitGroup{}
|
||||
|
|
@ -354,8 +349,7 @@ func TestTagAndUntagParallel(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestUntag(t *testing.T) {
|
||||
runtime, image, cleanup := getImageAndRuntime(t)
|
||||
defer cleanup()
|
||||
runtime, image := getImageAndRuntime(t)
|
||||
|
||||
digest := "sha256:adab3844f497ab9171f070d4cae4114b5aec565ac772e2f2579405b78be67c96"
|
||||
|
||||
|
|
@ -394,12 +388,12 @@ func TestUntag(t *testing.T) {
|
|||
require.ErrorIs(t, err, errUntagDigest, "check for specific digest error")
|
||||
}
|
||||
|
||||
func getImageAndRuntime(t *testing.T) (*Runtime, *Image, func()) {
|
||||
func getImageAndRuntime(t *testing.T) (*Runtime, *Image) {
|
||||
// Note: this will resolve pull from the GCR registry (see
|
||||
// testdata/registries.conf).
|
||||
busyboxLatest := "docker.io/library/busybox:latest"
|
||||
|
||||
runtime, cleanup := testNewRuntime(t)
|
||||
runtime := testNewRuntime(t)
|
||||
ctx := context.Background()
|
||||
|
||||
pullOptions := &PullOptions{}
|
||||
|
|
@ -410,5 +404,5 @@ func getImageAndRuntime(t *testing.T) (*Runtime, *Image, func()) {
|
|||
|
||||
image := pulledImages[0]
|
||||
|
||||
return runtime, image, cleanup
|
||||
return runtime, image
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,8 +11,7 @@ import (
|
|||
)
|
||||
|
||||
func TestImport(t *testing.T) {
|
||||
runtime, cleanup := testNewRuntime(t)
|
||||
defer cleanup()
|
||||
runtime := testNewRuntime(t)
|
||||
ctx := context.Background()
|
||||
|
||||
importOptions := &ImportOptions{}
|
||||
|
|
|
|||
|
|
@ -22,8 +22,7 @@ func TestLoad(t *testing.T) {
|
|||
os.Unsetenv("TMPDIR")
|
||||
}()
|
||||
|
||||
runtime, cleanup := testNewRuntime(t)
|
||||
defer cleanup()
|
||||
runtime := testNewRuntime(t)
|
||||
ctx := context.Background()
|
||||
loadOptions := &LoadOptions{}
|
||||
loadOptions.Writer = os.Stdout
|
||||
|
|
|
|||
|
|
@ -13,8 +13,7 @@ import (
|
|||
)
|
||||
|
||||
func TestCreateManifestList(t *testing.T) {
|
||||
runtime, cleanup := testNewRuntime(t)
|
||||
defer cleanup()
|
||||
runtime := testNewRuntime(t)
|
||||
ctx := context.Background()
|
||||
|
||||
list, err := runtime.CreateManifestList("mylist")
|
||||
|
|
@ -44,8 +43,7 @@ func TestCreateManifestList(t *testing.T) {
|
|||
// Inspect must contain both formats i.e OCIv1 and docker
|
||||
func TestInspectManifestListWithAnnotations(t *testing.T) {
|
||||
listName := "testinspect"
|
||||
runtime, cleanup := testNewRuntime(t)
|
||||
defer cleanup()
|
||||
runtime := testNewRuntime(t)
|
||||
ctx := context.Background()
|
||||
|
||||
list, err := runtime.CreateManifestList(listName)
|
||||
|
|
@ -84,8 +82,7 @@ func TestInspectManifestListWithAnnotations(t *testing.T) {
|
|||
func TestCreateAndTagManifestList(t *testing.T) {
|
||||
tagName := "testlisttagged"
|
||||
listName := "testlist"
|
||||
runtime, cleanup := testNewRuntime(t)
|
||||
defer cleanup()
|
||||
runtime := testNewRuntime(t)
|
||||
ctx := context.Background()
|
||||
|
||||
list, err := runtime.CreateManifestList(listName)
|
||||
|
|
@ -121,8 +118,7 @@ func TestCreateAndTagManifestList(t *testing.T) {
|
|||
func TestCreateAndRemoveManifestList(t *testing.T) {
|
||||
tagName := "manifestlisttagged"
|
||||
listName := "manifestlist"
|
||||
runtime, cleanup := testNewRuntime(t)
|
||||
defer cleanup()
|
||||
runtime := testNewRuntime(t)
|
||||
ctx := context.Background()
|
||||
|
||||
list, err := runtime.CreateManifestList(listName)
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ import (
|
|||
"bytes"
|
||||
"context"
|
||||
"fmt"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"testing"
|
||||
"time"
|
||||
|
|
@ -50,10 +49,7 @@ func TestSaveLoad(t *testing.T) {
|
|||
t.Skip("Test can only run as root")
|
||||
}
|
||||
|
||||
dir, err := os.MkdirTemp("", "manifests")
|
||||
assert.Nilf(t, err, "error creating temporary directory")
|
||||
defer os.RemoveAll(dir)
|
||||
|
||||
dir := t.TempDir()
|
||||
storeOptions := storage.StoreOptions{
|
||||
GraphRoot: filepath.Join(dir, "root"),
|
||||
RunRoot: filepath.Join(dir, "runroot"),
|
||||
|
|
@ -168,10 +164,7 @@ func TestReference(t *testing.T) {
|
|||
}
|
||||
ctx := context.Background()
|
||||
|
||||
dir, err := os.MkdirTemp("", "manifests")
|
||||
assert.Nilf(t, err, "error creating temporary directory")
|
||||
defer os.RemoveAll(dir)
|
||||
|
||||
dir := t.TempDir()
|
||||
storeOptions := storage.StoreOptions{
|
||||
GraphRoot: filepath.Join(dir, "root"),
|
||||
RunRoot: filepath.Join(dir, "runroot"),
|
||||
|
|
@ -268,10 +261,7 @@ func TestPushManifest(t *testing.T) {
|
|||
}
|
||||
ctx := context.Background()
|
||||
|
||||
dir, err := os.MkdirTemp("", "manifests")
|
||||
assert.Nilf(t, err, "error creating temporary directory")
|
||||
defer os.RemoveAll(dir)
|
||||
|
||||
dir := t.TempDir()
|
||||
storeOptions := storage.StoreOptions{
|
||||
GraphRoot: filepath.Join(dir, "root"),
|
||||
RunRoot: filepath.Join(dir, "runroot"),
|
||||
|
|
@ -288,11 +278,7 @@ func TestPushManifest(t *testing.T) {
|
|||
}
|
||||
}()
|
||||
|
||||
dest, err := os.MkdirTemp("", "manifests")
|
||||
assert.Nilf(t, err, "error creating temporary directory")
|
||||
defer os.RemoveAll(dest)
|
||||
|
||||
destRef, err := alltransports.ParseImageName(fmt.Sprintf("dir:%s", dest))
|
||||
destRef, err := alltransports.ParseImageName(fmt.Sprintf("dir:%s", t.TempDir()))
|
||||
assert.Nilf(t, err, "ParseImageName()")
|
||||
|
||||
ref, err := alltransports.ParseImageName(otherListImage)
|
||||
|
|
|
|||
|
|
@ -15,8 +15,7 @@ import (
|
|||
)
|
||||
|
||||
func TestPull(t *testing.T) {
|
||||
runtime, cleanup := testNewRuntime(t)
|
||||
defer cleanup()
|
||||
runtime := testNewRuntime(t)
|
||||
ctx := context.Background()
|
||||
pullOptions := &PullOptions{}
|
||||
pullOptions.Writer = os.Stdout
|
||||
|
|
@ -81,8 +80,8 @@ func TestPull(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestPullPlatforms(t *testing.T) {
|
||||
runtime, cleanup := testNewRuntime(t)
|
||||
defer cleanup()
|
||||
runtime := testNewRuntime(t)
|
||||
|
||||
ctx := context.Background()
|
||||
pullOptions := &PullOptions{}
|
||||
pullOptions.Writer = os.Stdout
|
||||
|
|
@ -141,8 +140,7 @@ func TestPullPlatforms(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestPullPlatformsWithEmptyRegistriesConf(t *testing.T) {
|
||||
runtime, cleanup := testNewRuntime(t, testNewRuntimeOptions{registriesConfPath: "/dev/null"})
|
||||
defer cleanup()
|
||||
runtime := testNewRuntime(t, testNewRuntimeOptions{registriesConfPath: "/dev/null"})
|
||||
ctx := context.Background()
|
||||
pullOptions := &PullOptions{}
|
||||
pullOptions.Writer = os.Stdout
|
||||
|
|
@ -171,8 +169,7 @@ func TestPullPlatformsWithEmptyRegistriesConf(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestPullPolicy(t *testing.T) {
|
||||
runtime, cleanup := testNewRuntime(t)
|
||||
defer cleanup()
|
||||
runtime := testNewRuntime(t)
|
||||
ctx := context.Background()
|
||||
pullOptions := &PullOptions{}
|
||||
|
||||
|
|
@ -191,8 +188,7 @@ func TestPullPolicy(t *testing.T) {
|
|||
|
||||
func TestShortNameAndIDconflict(t *testing.T) {
|
||||
// Regression test for https://github.com/containers/podman/issues/12761
|
||||
runtime, cleanup := testNewRuntime(t)
|
||||
defer cleanup()
|
||||
runtime := testNewRuntime(t)
|
||||
ctx := context.Background()
|
||||
pullOptions := &PullOptions{}
|
||||
pullOptions.Writer = os.Stdout
|
||||
|
|
@ -228,8 +224,7 @@ func TestPullOCINoReference(t *testing.T) {
|
|||
// specified reference is preserved in the image name.
|
||||
|
||||
busybox := "docker.io/library/busybox:latest"
|
||||
runtime, cleanup := testNewRuntime(t)
|
||||
defer cleanup()
|
||||
runtime := testNewRuntime(t)
|
||||
ctx := context.Background()
|
||||
pullOptions := &PullOptions{}
|
||||
pullOptions.Writer = os.Stdout
|
||||
|
|
|
|||
|
|
@ -16,8 +16,7 @@ import (
|
|||
)
|
||||
|
||||
func TestPush(t *testing.T) {
|
||||
runtime, cleanup := testNewRuntime(t)
|
||||
defer cleanup()
|
||||
runtime := testNewRuntime(t)
|
||||
ctx := context.Background()
|
||||
|
||||
// Prefetch alpine.
|
||||
|
|
@ -29,9 +28,7 @@ func TestPush(t *testing.T) {
|
|||
pushOptions := &PushOptions{}
|
||||
pushOptions.Writer = os.Stdout
|
||||
|
||||
workdir, err := os.MkdirTemp("", "libimagepush")
|
||||
require.NoError(t, err)
|
||||
defer os.RemoveAll(workdir)
|
||||
workdir := t.TempDir()
|
||||
|
||||
for _, test := range []struct {
|
||||
source string
|
||||
|
|
@ -77,8 +74,7 @@ func TestPush(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestPushOtherPlatform(t *testing.T) {
|
||||
runtime, cleanup := testNewRuntime(t)
|
||||
defer cleanup()
|
||||
runtime := testNewRuntime(t)
|
||||
ctx := context.Background()
|
||||
|
||||
// Prefetch alpine.
|
||||
|
|
@ -104,8 +100,7 @@ func TestPushOtherPlatform(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestPushWithForceCompression(t *testing.T) {
|
||||
runtime, cleanup := testNewRuntime(t)
|
||||
defer cleanup()
|
||||
runtime := testNewRuntime(t)
|
||||
ctx := context.Background()
|
||||
|
||||
// Prefetch alpine.
|
||||
|
|
|
|||
|
|
@ -16,8 +16,7 @@ func TestRemoveImages(t *testing.T) {
|
|||
// testdata/registries.conf).
|
||||
busyboxLatest := "docker.io/library/busybox:latest"
|
||||
|
||||
runtime, cleanup := testNewRuntime(t)
|
||||
defer cleanup()
|
||||
runtime := testNewRuntime(t)
|
||||
ctx := context.Background()
|
||||
|
||||
pullOptions := &PullOptions{}
|
||||
|
|
|
|||
|
|
@ -24,12 +24,9 @@ type testNewRuntimeOptions struct {
|
|||
registriesConfPath string
|
||||
}
|
||||
|
||||
// Create a new Runtime that can be used for testing. The second return value
|
||||
// is a clean-up function that should be called by users to make sure all
|
||||
// temporary test data gets removed.
|
||||
func testNewRuntime(t *testing.T, options ...testNewRuntimeOptions) (runtime *Runtime, cleanup func()) {
|
||||
workdir, err := os.MkdirTemp("", "testStorageRuntime")
|
||||
require.NoError(t, err)
|
||||
// Create a new Runtime that can be used for testing.
|
||||
func testNewRuntime(t *testing.T, options ...testNewRuntimeOptions) *Runtime {
|
||||
workdir := t.TempDir()
|
||||
storeOptions := &storage.StoreOptions{
|
||||
RunRoot: workdir,
|
||||
GraphRoot: workdir,
|
||||
|
|
@ -46,20 +43,17 @@ func testNewRuntime(t *testing.T, options ...testNewRuntimeOptions) (runtime *Ru
|
|||
systemContext.SystemRegistriesConfPath = options[0].registriesConfPath
|
||||
}
|
||||
|
||||
runtime, err = RuntimeFromStoreOptions(&RuntimeOptions{SystemContext: systemContext}, storeOptions)
|
||||
runtime, err := RuntimeFromStoreOptions(&RuntimeOptions{SystemContext: systemContext}, storeOptions)
|
||||
require.NoError(t, err)
|
||||
tmpd, err := tmpdir()
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, runtime.systemContext.BigFilesTemporaryDir, tmpd)
|
||||
|
||||
cleanup = func() {
|
||||
_ = runtime.Shutdown(true)
|
||||
_ = os.RemoveAll(workdir)
|
||||
}
|
||||
t.Cleanup(func() { _ = runtime.Shutdown(true) })
|
||||
|
||||
sys := runtime.SystemContext()
|
||||
require.NotNil(t, sys)
|
||||
return runtime, cleanup
|
||||
return runtime
|
||||
}
|
||||
|
||||
func TestTmpdir(t *testing.T) {
|
||||
|
|
|
|||
|
|
@ -13,8 +13,7 @@ import (
|
|||
)
|
||||
|
||||
func TestSave(t *testing.T) {
|
||||
runtime, cleanup := testNewRuntime(t)
|
||||
defer cleanup()
|
||||
runtime := testNewRuntime(t)
|
||||
ctx := context.Background()
|
||||
|
||||
// Prefetch alpine, busybox.
|
||||
|
|
@ -73,9 +72,7 @@ func TestSave(t *testing.T) {
|
|||
_, err = runtime.Load(ctx, imageCache.Name(), loadOptions)
|
||||
require.NoError(t, err)
|
||||
|
||||
tmp, err := os.MkdirTemp("", "libimagesavetest")
|
||||
require.NoError(t, err)
|
||||
defer os.RemoveAll(tmp)
|
||||
tmp := t.TempDir()
|
||||
if !test.isDir {
|
||||
tmp += "/archive.tar"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,13 +14,6 @@ func TestDangerousHostPath(t *testing.T) {
|
|||
t.Skip("Current paths are supported only by Linux")
|
||||
}
|
||||
|
||||
// Create a temp dir that is not dangerous
|
||||
td, err := os.MkdirTemp("/tmp", "validDir")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
defer os.RemoveAll(td)
|
||||
|
||||
tests := []struct {
|
||||
Path string
|
||||
Expected bool
|
||||
|
|
@ -34,7 +27,7 @@ func TestDangerousHostPath(t *testing.T) {
|
|||
"",
|
||||
},
|
||||
{
|
||||
td,
|
||||
t.TempDir(), // Create a temp dir that is not dangerous
|
||||
false,
|
||||
false,
|
||||
"",
|
||||
|
|
@ -65,11 +58,7 @@ func TestChangeHostPathOwnership(t *testing.T) {
|
|||
}
|
||||
|
||||
// Create a temp dir that is not dangerous
|
||||
td, err := os.MkdirTemp("/tmp", "validDir")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
defer os.RemoveAll(td)
|
||||
td := t.TempDir()
|
||||
|
||||
// Get host path info
|
||||
f, err := os.Lstat(td)
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@ package configmaps
|
|||
|
||||
import (
|
||||
"bytes"
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
|
|
@ -10,28 +9,17 @@ import (
|
|||
|
||||
var drivertype = "file"
|
||||
|
||||
var opts map[string]string
|
||||
|
||||
func setup() (*ConfigMapManager, string, error) {
|
||||
testpath, err := os.MkdirTemp("", "cmdata")
|
||||
if err != nil {
|
||||
return nil, "", err
|
||||
}
|
||||
func setup(t *testing.T) (manager *ConfigMapManager, opts map[string]string) {
|
||||
testpath := t.TempDir()
|
||||
manager, err := NewManager(testpath)
|
||||
opts = map[string]string{"path": testpath}
|
||||
return manager, testpath, err
|
||||
}
|
||||
|
||||
func cleanup(testpath string) {
|
||||
os.RemoveAll(testpath)
|
||||
require.NoError(t, err)
|
||||
return manager, map[string]string{"path": testpath}
|
||||
}
|
||||
|
||||
func TestAddSecretAndLookupData(t *testing.T) {
|
||||
manager, testpath, err := setup()
|
||||
require.NoError(t, err)
|
||||
defer cleanup(testpath)
|
||||
manager, opts := setup(t)
|
||||
|
||||
_, err = manager.Store("myconfigmap", []byte("mydata"), drivertype, opts)
|
||||
_, err := manager.Store("myconfigmap", []byte("mydata"), drivertype, opts)
|
||||
require.NoError(t, err)
|
||||
|
||||
_, err = manager.lookupConfigMap("myconfigmap")
|
||||
|
|
@ -45,12 +33,10 @@ func TestAddSecretAndLookupData(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestAddConfigMapName(t *testing.T) {
|
||||
manager, testpath, err := setup()
|
||||
require.NoError(t, err)
|
||||
defer cleanup(testpath)
|
||||
manager, opts := setup(t)
|
||||
|
||||
// test one char configmap name
|
||||
_, err = manager.Store("a", []byte("mydata"), drivertype, opts)
|
||||
_, err := manager.Store("a", []byte("mydata"), drivertype, opts)
|
||||
require.NoError(t, err)
|
||||
|
||||
_, err = manager.lookupConfigMap("a")
|
||||
|
|
@ -82,9 +68,7 @@ func TestAddConfigMapName(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestAddMultipleConfigMaps(t *testing.T) {
|
||||
manager, testpath, err := setup()
|
||||
require.NoError(t, err)
|
||||
defer cleanup(testpath)
|
||||
manager, opts := setup(t)
|
||||
|
||||
id, err := manager.Store("myconfigmap", []byte("mydata"), drivertype, opts)
|
||||
require.NoError(t, err)
|
||||
|
|
@ -116,11 +100,9 @@ func TestAddMultipleConfigMaps(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestAddConfigMapDupName(t *testing.T) {
|
||||
manager, testpath, err := setup()
|
||||
require.NoError(t, err)
|
||||
defer cleanup(testpath)
|
||||
manager, opts := setup(t)
|
||||
|
||||
_, err = manager.Store("myconfigmap", []byte("mydata"), drivertype, opts)
|
||||
_, err := manager.Store("myconfigmap", []byte("mydata"), drivertype, opts)
|
||||
require.NoError(t, err)
|
||||
|
||||
_, err = manager.Store("myconfigmap", []byte("mydata"), drivertype, opts)
|
||||
|
|
@ -128,9 +110,7 @@ func TestAddConfigMapDupName(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestAddConfigMapPrefix(t *testing.T) {
|
||||
manager, testpath, err := setup()
|
||||
require.NoError(t, err)
|
||||
defer cleanup(testpath)
|
||||
manager, opts := setup(t)
|
||||
|
||||
// If the randomly generated configmap id is something like "abcdeiuoergnadufigh"
|
||||
// we should still allow someone to store a configmap with the name "abcd" or "a"
|
||||
|
|
@ -142,11 +122,9 @@ func TestAddConfigMapPrefix(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestRemoveConfigMap(t *testing.T) {
|
||||
manager, testpath, err := setup()
|
||||
require.NoError(t, err)
|
||||
defer cleanup(testpath)
|
||||
manager, opts := setup(t)
|
||||
|
||||
_, err = manager.Store("myconfigmap", []byte("mydata"), drivertype, opts)
|
||||
_, err := manager.Store("myconfigmap", []byte("mydata"), drivertype, opts)
|
||||
require.NoError(t, err)
|
||||
|
||||
_, err = manager.lookupConfigMap("myconfigmap")
|
||||
|
|
@ -163,18 +141,14 @@ func TestRemoveConfigMap(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestRemoveConfigMapNoExist(t *testing.T) {
|
||||
manager, testpath, err := setup()
|
||||
require.NoError(t, err)
|
||||
defer cleanup(testpath)
|
||||
manager, _ := setup(t)
|
||||
|
||||
_, err = manager.Delete("myconfigmap")
|
||||
_, err := manager.Delete("myconfigmap")
|
||||
require.Error(t, err)
|
||||
}
|
||||
|
||||
func TestLookupAllConfigMaps(t *testing.T) {
|
||||
manager, testpath, err := setup()
|
||||
require.NoError(t, err)
|
||||
defer cleanup(testpath)
|
||||
manager, opts := setup(t)
|
||||
|
||||
id, err := manager.Store("myconfigmap", []byte("mydata"), drivertype, opts)
|
||||
require.NoError(t, err)
|
||||
|
|
@ -186,9 +160,7 @@ func TestLookupAllConfigMaps(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestInspectConfigMapId(t *testing.T) {
|
||||
manager, testpath, err := setup()
|
||||
require.NoError(t, err)
|
||||
defer cleanup(testpath)
|
||||
manager, opts := setup(t)
|
||||
|
||||
id, err := manager.Store("myconfigmap", []byte("mydata"), drivertype, opts)
|
||||
require.NoError(t, err)
|
||||
|
|
@ -209,20 +181,16 @@ func TestInspectConfigMapId(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestInspectConfigMapBogus(t *testing.T) {
|
||||
manager, testpath, err := setup()
|
||||
require.NoError(t, err)
|
||||
defer cleanup(testpath)
|
||||
manager, _ := setup(t)
|
||||
|
||||
_, err = manager.Lookup("bogus")
|
||||
_, err := manager.Lookup("bogus")
|
||||
require.Error(t, err)
|
||||
}
|
||||
|
||||
func TestConfigMapList(t *testing.T) {
|
||||
manager, testpath, err := setup()
|
||||
require.NoError(t, err)
|
||||
defer cleanup(testpath)
|
||||
manager, opts := setup(t)
|
||||
|
||||
_, err = manager.Store("myconfigmap", []byte("mydata"), drivertype, opts)
|
||||
_, err := manager.Store("myconfigmap", []byte("mydata"), drivertype, opts)
|
||||
require.NoError(t, err)
|
||||
_, err = manager.Store("myconfigmap2", []byte("mydata2"), drivertype, opts)
|
||||
require.NoError(t, err)
|
||||
|
|
|
|||
|
|
@ -1,24 +1,14 @@
|
|||
package filedriver
|
||||
|
||||
import (
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func setup() (*Driver, error) {
|
||||
tmppath, err := os.MkdirTemp("", "configmapsdata")
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return NewDriver(tmppath)
|
||||
}
|
||||
|
||||
func TestStoreAndLookupConfigMapData(t *testing.T) {
|
||||
tstdriver, err := setup()
|
||||
tstdriver, err := NewDriver(t.TempDir())
|
||||
require.NoError(t, err)
|
||||
defer os.Remove(tstdriver.configMapsDataFilePath)
|
||||
|
||||
err = tstdriver.Store("unique_id", []byte("somedata"))
|
||||
require.NoError(t, err)
|
||||
|
|
@ -29,9 +19,8 @@ func TestStoreAndLookupConfigMapData(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestStoreDupID(t *testing.T) {
|
||||
tstdriver, err := setup()
|
||||
tstdriver, err := NewDriver(t.TempDir())
|
||||
require.NoError(t, err)
|
||||
defer os.Remove(tstdriver.configMapsDataFilePath)
|
||||
|
||||
err = tstdriver.Store("unique_id", []byte("somedata"))
|
||||
require.NoError(t, err)
|
||||
|
|
@ -41,18 +30,16 @@ func TestStoreDupID(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestLookupBogus(t *testing.T) {
|
||||
tstdriver, err := setup()
|
||||
tstdriver, err := NewDriver(t.TempDir())
|
||||
require.NoError(t, err)
|
||||
defer os.Remove(tstdriver.configMapsDataFilePath)
|
||||
|
||||
_, err = tstdriver.Lookup("bogus")
|
||||
require.Error(t, err)
|
||||
}
|
||||
|
||||
func TestDeleteConfigMapData(t *testing.T) {
|
||||
tstdriver, err := setup()
|
||||
tstdriver, err := NewDriver(t.TempDir())
|
||||
require.NoError(t, err)
|
||||
defer os.Remove(tstdriver.configMapsDataFilePath)
|
||||
|
||||
err = tstdriver.Store("unique_id", []byte("somedata"))
|
||||
require.NoError(t, err)
|
||||
|
|
@ -64,18 +51,16 @@ func TestDeleteConfigMapData(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestDeleteConfigMapDataNotExist(t *testing.T) {
|
||||
tstdriver, err := setup()
|
||||
tstdriver, err := NewDriver(t.TempDir())
|
||||
require.NoError(t, err)
|
||||
defer os.Remove(tstdriver.configMapsDataFilePath)
|
||||
|
||||
err = tstdriver.Delete("bogus")
|
||||
require.Error(t, err)
|
||||
}
|
||||
|
||||
func TestList(t *testing.T) {
|
||||
tstdriver, err := setup()
|
||||
tstdriver, err := NewDriver(t.TempDir())
|
||||
require.NoError(t, err)
|
||||
defer os.Remove(tstdriver.configMapsDataFilePath)
|
||||
|
||||
err = tstdriver.Store("unique_id", []byte("somedata"))
|
||||
require.NoError(t, err)
|
||||
|
|
|
|||
|
|
@ -147,10 +147,7 @@ func TestRunCwd(t *testing.T) {
|
|||
Path: path,
|
||||
Args: []string{"sh", "-c", "pwd"},
|
||||
}
|
||||
cwd, err := os.MkdirTemp("", "userdata")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
cwd := t.TempDir()
|
||||
var stderr, stdout bytes.Buffer
|
||||
hookErr, err := RunWithOptions(ctx, RunOptions{Hook: hook, Dir: cwd, State: []byte("{}"), Stdout: &stdout, Stderr: &stderr, PostKillTimeout: DefaultPostKillTimeout})
|
||||
if err != nil {
|
||||
|
|
|
|||
|
|
@ -1,24 +1,14 @@
|
|||
package filedriver
|
||||
|
||||
import (
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func setup() (*Driver, error) {
|
||||
tmppath, err := os.MkdirTemp("", "secretsdata")
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return NewDriver(tmppath)
|
||||
}
|
||||
|
||||
func TestStoreAndLookupSecretData(t *testing.T) {
|
||||
tstdriver, err := setup()
|
||||
tstdriver, err := NewDriver(t.TempDir())
|
||||
require.NoError(t, err)
|
||||
defer os.Remove(tstdriver.secretsDataFilePath)
|
||||
|
||||
err = tstdriver.Store("unique_id", []byte("somedata"))
|
||||
require.NoError(t, err)
|
||||
|
|
@ -29,9 +19,8 @@ func TestStoreAndLookupSecretData(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestStoreDupID(t *testing.T) {
|
||||
tstdriver, err := setup()
|
||||
tstdriver, err := NewDriver(t.TempDir())
|
||||
require.NoError(t, err)
|
||||
defer os.Remove(tstdriver.secretsDataFilePath)
|
||||
|
||||
err = tstdriver.Store("unique_id", []byte("somedata"))
|
||||
require.NoError(t, err)
|
||||
|
|
@ -41,18 +30,16 @@ func TestStoreDupID(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestLookupBogus(t *testing.T) {
|
||||
tstdriver, err := setup()
|
||||
tstdriver, err := NewDriver(t.TempDir())
|
||||
require.NoError(t, err)
|
||||
defer os.Remove(tstdriver.secretsDataFilePath)
|
||||
|
||||
_, err = tstdriver.Lookup("bogus")
|
||||
require.Error(t, err)
|
||||
}
|
||||
|
||||
func TestDeleteSecretData(t *testing.T) {
|
||||
tstdriver, err := setup()
|
||||
tstdriver, err := NewDriver(t.TempDir())
|
||||
require.NoError(t, err)
|
||||
defer os.Remove(tstdriver.secretsDataFilePath)
|
||||
|
||||
err = tstdriver.Store("unique_id", []byte("somedata"))
|
||||
require.NoError(t, err)
|
||||
|
|
@ -64,18 +51,16 @@ func TestDeleteSecretData(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestDeleteSecretDataNotExist(t *testing.T) {
|
||||
tstdriver, err := setup()
|
||||
tstdriver, err := NewDriver(t.TempDir())
|
||||
require.NoError(t, err)
|
||||
defer os.Remove(tstdriver.secretsDataFilePath)
|
||||
|
||||
err = tstdriver.Delete("bogus")
|
||||
require.Error(t, err)
|
||||
}
|
||||
|
||||
func TestList(t *testing.T) {
|
||||
tstdriver, err := setup()
|
||||
tstdriver, err := NewDriver(t.TempDir())
|
||||
require.NoError(t, err)
|
||||
defer os.Remove(tstdriver.secretsDataFilePath)
|
||||
|
||||
err = tstdriver.Store("unique_id", []byte("somedata"))
|
||||
require.NoError(t, err)
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ package passdriver
|
|||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
|
|
@ -11,13 +10,11 @@ import (
|
|||
|
||||
const gpgTestID = "testing@passdriver"
|
||||
|
||||
func setupDriver(t *testing.T) (driver *Driver, cleanup func()) {
|
||||
base, err := os.MkdirTemp(os.TempDir(), "pass-test")
|
||||
require.NoError(t, err)
|
||||
gpghomedir, err := os.MkdirTemp(os.TempDir(), "gpg-dir")
|
||||
require.NoError(t, err)
|
||||
func setupDriver(t *testing.T) *Driver {
|
||||
base := t.TempDir()
|
||||
gpghomedir := t.TempDir()
|
||||
|
||||
driver, err = NewDriver(map[string]string{
|
||||
driver, err := NewDriver(map[string]string{
|
||||
"root": base,
|
||||
"key": gpgTestID,
|
||||
"gpghomedir": gpghomedir,
|
||||
|
|
@ -27,10 +24,7 @@ func setupDriver(t *testing.T) (driver *Driver, cleanup func()) {
|
|||
err = driver.gpg(context.TODO(), nil, nil, "--batch", "--passphrase", "--quick-generate-key", "testing@passdriver")
|
||||
require.NoError(t, err)
|
||||
|
||||
return driver, func() {
|
||||
os.RemoveAll(base)
|
||||
os.RemoveAll(gpghomedir)
|
||||
}
|
||||
return driver
|
||||
}
|
||||
|
||||
func TestStoreAndLookup(t *testing.T) {
|
||||
|
|
@ -67,8 +61,7 @@ func TestStoreAndLookup(t *testing.T) {
|
|||
for _, tc := range cases {
|
||||
tc := tc
|
||||
t.Run(tc.name, func(t *testing.T) {
|
||||
driver, cleanup := setupDriver(t)
|
||||
defer cleanup()
|
||||
driver := setupDriver(t)
|
||||
err := driver.Store(tc.key, tc.value)
|
||||
if tc.expStoreErr != nil {
|
||||
require.Error(t, err)
|
||||
|
|
@ -89,8 +82,7 @@ func TestStoreAndLookup(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestLookup(t *testing.T) {
|
||||
driver, cleanup := setupDriver(t)
|
||||
defer cleanup()
|
||||
driver := setupDriver(t)
|
||||
|
||||
// prepare a valid lookup target
|
||||
err := driver.Store("valid", []byte("abc"))
|
||||
|
|
@ -133,8 +125,7 @@ func TestLookup(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestList(t *testing.T) {
|
||||
driver, cleanup := setupDriver(t)
|
||||
defer cleanup()
|
||||
driver := setupDriver(t)
|
||||
require.NoError(t, driver.Store("a", []byte("abc")))
|
||||
require.NoError(t, driver.Store("b", []byte("abc")))
|
||||
require.NoError(t, driver.Store("c", []byte("abc")))
|
||||
|
|
@ -145,8 +136,7 @@ func TestList(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestDelete(t *testing.T) {
|
||||
driver, cleanup := setupDriver(t)
|
||||
defer cleanup()
|
||||
driver := setupDriver(t)
|
||||
require.NoError(t, driver.Store("a", []byte("abc")))
|
||||
|
||||
cases := []struct {
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@ package secrets
|
|||
|
||||
import (
|
||||
"bytes"
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
|
|
@ -10,26 +9,15 @@ import (
|
|||
|
||||
var drivertype = "file"
|
||||
|
||||
var opts map[string]string
|
||||
|
||||
func setup() (*SecretsManager, string, error) {
|
||||
testpath, err := os.MkdirTemp("", "secretsdata")
|
||||
if err != nil {
|
||||
return nil, "", err
|
||||
}
|
||||
func setup(t *testing.T) (manager *SecretsManager, opts map[string]string) {
|
||||
testpath := t.TempDir()
|
||||
manager, err := NewManager(testpath)
|
||||
opts = map[string]string{"path": testpath}
|
||||
return manager, testpath, err
|
||||
}
|
||||
|
||||
func cleanup(testpath string) {
|
||||
os.RemoveAll(testpath)
|
||||
require.NoError(t, err)
|
||||
return manager, map[string]string{"path": testpath}
|
||||
}
|
||||
|
||||
func TestAddSecretAndLookupData(t *testing.T) {
|
||||
manager, testpath, err := setup()
|
||||
require.NoError(t, err)
|
||||
defer cleanup(testpath)
|
||||
manager, opts := setup(t)
|
||||
|
||||
metaData := make(map[string]string)
|
||||
metaData["immutable"] = "true"
|
||||
|
|
@ -92,9 +80,7 @@ func TestAddSecretAndLookupData(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestAddSecretName(t *testing.T) {
|
||||
manager, testpath, err := setup()
|
||||
require.NoError(t, err)
|
||||
defer cleanup(testpath)
|
||||
manager, opts := setup(t)
|
||||
|
||||
storeOpts := StoreOptions{
|
||||
DriverOpts: opts,
|
||||
|
|
@ -104,7 +90,7 @@ func TestAddSecretName(t *testing.T) {
|
|||
|
||||
for _, value := range []string{"a", "user@mail.com", longstring[:253]} {
|
||||
// test one char secret name
|
||||
_, err = manager.Store(value, []byte("mydata"), drivertype, storeOpts)
|
||||
_, err := manager.Store(value, []byte("mydata"), drivertype, storeOpts)
|
||||
require.NoError(t, err)
|
||||
|
||||
_, err = manager.lookupSecret(value)
|
||||
|
|
@ -112,15 +98,13 @@ func TestAddSecretName(t *testing.T) {
|
|||
}
|
||||
|
||||
for _, value := range []string{"", "chocolate,vanilla", "file/path", "foo=bar", "bad\000Null", longstring[:254]} {
|
||||
_, err = manager.Store(value, []byte("mydata"), drivertype, storeOpts)
|
||||
_, err := manager.Store(value, []byte("mydata"), drivertype, storeOpts)
|
||||
require.Error(t, err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestAddMultipleSecrets(t *testing.T) {
|
||||
manager, testpath, err := setup()
|
||||
require.NoError(t, err)
|
||||
defer cleanup(testpath)
|
||||
manager, opts := setup(t)
|
||||
|
||||
storeOpts := StoreOptions{
|
||||
DriverOpts: opts,
|
||||
|
|
@ -156,15 +140,13 @@ func TestAddMultipleSecrets(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestAddSecretDupName(t *testing.T) {
|
||||
manager, testpath, err := setup()
|
||||
require.NoError(t, err)
|
||||
defer cleanup(testpath)
|
||||
manager, opts := setup(t)
|
||||
|
||||
storeOpts := StoreOptions{
|
||||
DriverOpts: opts,
|
||||
}
|
||||
|
||||
_, err = manager.Store("mysecret", []byte("mydata"), drivertype, storeOpts)
|
||||
_, err := manager.Store("mysecret", []byte("mydata"), drivertype, storeOpts)
|
||||
require.NoError(t, err)
|
||||
|
||||
_, err = manager.Store("mysecret", []byte("mydata"), drivertype, storeOpts)
|
||||
|
|
@ -172,9 +154,7 @@ func TestAddSecretDupName(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestAddSecretPrefix(t *testing.T) {
|
||||
manager, testpath, err := setup()
|
||||
require.NoError(t, err)
|
||||
defer cleanup(testpath)
|
||||
manager, opts := setup(t)
|
||||
|
||||
storeOpts := StoreOptions{
|
||||
DriverOpts: opts,
|
||||
|
|
@ -190,15 +170,13 @@ func TestAddSecretPrefix(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestRemoveSecret(t *testing.T) {
|
||||
manager, testpath, err := setup()
|
||||
require.NoError(t, err)
|
||||
defer cleanup(testpath)
|
||||
manager, opts := setup(t)
|
||||
|
||||
storeOpts := StoreOptions{
|
||||
DriverOpts: opts,
|
||||
}
|
||||
|
||||
_, err = manager.Store("mysecret", []byte("mydata"), drivertype, storeOpts)
|
||||
_, err := manager.Store("mysecret", []byte("mydata"), drivertype, storeOpts)
|
||||
require.NoError(t, err)
|
||||
|
||||
_, err = manager.lookupSecret("mysecret")
|
||||
|
|
@ -215,18 +193,14 @@ func TestRemoveSecret(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestRemoveSecretNoExist(t *testing.T) {
|
||||
manager, testpath, err := setup()
|
||||
require.NoError(t, err)
|
||||
defer cleanup(testpath)
|
||||
manager, _ := setup(t)
|
||||
|
||||
_, err = manager.Delete("mysecret")
|
||||
_, err := manager.Delete("mysecret")
|
||||
require.Error(t, err)
|
||||
}
|
||||
|
||||
func TestLookupAllSecrets(t *testing.T) {
|
||||
manager, testpath, err := setup()
|
||||
require.NoError(t, err)
|
||||
defer cleanup(testpath)
|
||||
manager, opts := setup(t)
|
||||
|
||||
storeOpts := StoreOptions{
|
||||
DriverOpts: opts,
|
||||
|
|
@ -242,9 +216,7 @@ func TestLookupAllSecrets(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestInspectSecretId(t *testing.T) {
|
||||
manager, testpath, err := setup()
|
||||
require.NoError(t, err)
|
||||
defer cleanup(testpath)
|
||||
manager, opts := setup(t)
|
||||
|
||||
storeOpts := StoreOptions{
|
||||
DriverOpts: opts,
|
||||
|
|
@ -269,24 +241,20 @@ func TestInspectSecretId(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestInspectSecretBogus(t *testing.T) {
|
||||
manager, testpath, err := setup()
|
||||
require.NoError(t, err)
|
||||
defer cleanup(testpath)
|
||||
manager, _ := setup(t)
|
||||
|
||||
_, err = manager.Lookup("bogus")
|
||||
_, err := manager.Lookup("bogus")
|
||||
require.Error(t, err)
|
||||
}
|
||||
|
||||
func TestSecretList(t *testing.T) {
|
||||
manager, testpath, err := setup()
|
||||
require.NoError(t, err)
|
||||
defer cleanup(testpath)
|
||||
manager, opts := setup(t)
|
||||
|
||||
storeOpts := StoreOptions{
|
||||
DriverOpts: opts,
|
||||
}
|
||||
|
||||
_, err = manager.Store("mysecret", []byte("mydata"), drivertype, storeOpts)
|
||||
_, err := manager.Store("mysecret", []byte("mydata"), drivertype, storeOpts)
|
||||
require.NoError(t, err)
|
||||
_, err = manager.Store("mysecret2", []byte("mydata2"), drivertype, storeOpts)
|
||||
require.NoError(t, err)
|
||||
|
|
|
|||
|
|
@ -2,23 +2,21 @@ package shelldriver
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func setupDriver(t *testing.T) (driver *Driver, cleanup func()) {
|
||||
base, err := os.MkdirTemp(os.TempDir(), "external-driver-test")
|
||||
require.NoError(t, err)
|
||||
driver, err = NewDriver(map[string]string{
|
||||
func setupDriver(t *testing.T) *Driver {
|
||||
base := t.TempDir()
|
||||
driver, err := NewDriver(map[string]string{
|
||||
"delete": fmt.Sprintf("rm %s/${SECRET_ID}", base),
|
||||
"list": fmt.Sprintf("ls %s", base),
|
||||
"lookup": fmt.Sprintf("cat %s/${SECRET_ID} ", base),
|
||||
"store": fmt.Sprintf("cat - > %s/${SECRET_ID}", base),
|
||||
})
|
||||
require.NoError(t, err)
|
||||
return driver, func() { os.RemoveAll(base) }
|
||||
return driver
|
||||
}
|
||||
|
||||
func TestStoreAndLookup(t *testing.T) {
|
||||
|
|
@ -55,8 +53,7 @@ func TestStoreAndLookup(t *testing.T) {
|
|||
for _, tc := range cases {
|
||||
tc := tc
|
||||
t.Run(tc.name, func(t *testing.T) {
|
||||
driver, cleanup := setupDriver(t)
|
||||
defer cleanup()
|
||||
driver := setupDriver(t)
|
||||
err := driver.Store(tc.key, tc.value)
|
||||
if tc.expStoreErr != nil {
|
||||
require.Error(t, err)
|
||||
|
|
@ -77,8 +74,7 @@ func TestStoreAndLookup(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestLookup(t *testing.T) {
|
||||
driver, cleanup := setupDriver(t)
|
||||
defer cleanup()
|
||||
driver := setupDriver(t)
|
||||
|
||||
// prepare a valid lookup target
|
||||
err := driver.Store("valid", []byte("abc"))
|
||||
|
|
@ -121,8 +117,7 @@ func TestLookup(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestList(t *testing.T) {
|
||||
driver, cleanup := setupDriver(t)
|
||||
defer cleanup()
|
||||
driver := setupDriver(t)
|
||||
require.NoError(t, driver.Store("a", []byte("abc")))
|
||||
require.NoError(t, driver.Store("b", []byte("abc")))
|
||||
require.NoError(t, driver.Store("c", []byte("abc")))
|
||||
|
|
@ -133,8 +128,7 @@ func TestList(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestDelete(t *testing.T) {
|
||||
driver, cleanup := setupDriver(t)
|
||||
defer cleanup()
|
||||
driver := setupDriver(t)
|
||||
require.NoError(t, driver.Store("a", []byte("abc")))
|
||||
|
||||
cases := []struct {
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@ import (
|
|||
"encoding/json"
|
||||
"fmt"
|
||||
"io"
|
||||
"os"
|
||||
"runtime"
|
||||
"testing"
|
||||
"time"
|
||||
|
|
@ -103,11 +102,10 @@ func makeManifest(layer, config []byte) v1.Manifest {
|
|||
}
|
||||
}
|
||||
|
||||
func makeImage(t *testing.T, arch, osStr string) (ref types.ImageReference, dir string, layer, config, manifest []byte) {
|
||||
func makeImage(t *testing.T, arch, osStr string) (ref types.ImageReference, layer, config, manifest []byte) {
|
||||
ctx := context.TODO()
|
||||
|
||||
dir, err := os.MkdirTemp("", "supplemented")
|
||||
assert.Nilf(t, err, "error creating temporary directory")
|
||||
dir := t.TempDir()
|
||||
|
||||
layerBytes := makeLayer(t)
|
||||
cb := makeConfig(arch, osStr, layer)
|
||||
|
|
@ -141,7 +139,7 @@ func makeImage(t *testing.T, arch, osStr string) (ref types.ImageReference, dir
|
|||
err = dest.Commit(ctx, nil)
|
||||
assert.Nilf(t, err, "error committing image to 'dir:%s'", dir)
|
||||
|
||||
return ref, dir, layerBytes, configBytes, manifestBytes
|
||||
return ref, layerBytes, configBytes, manifestBytes
|
||||
}
|
||||
|
||||
func TestSupplemented(t *testing.T) {
|
||||
|
|
@ -157,29 +155,18 @@ func TestSupplemented(t *testing.T) {
|
|||
policyContext, err := signature.NewPolicyContext(defaultPolicy)
|
||||
assert.Nilf(t, err, "error obtaining policy context")
|
||||
|
||||
ref1, dir1, layer1, config1, manifest1 := makeImage(t, runtime.GOARCH, runtime.GOOS)
|
||||
defer os.RemoveAll(dir1)
|
||||
ref1, layer1, config1, manifest1 := makeImage(t, runtime.GOARCH, runtime.GOOS)
|
||||
digest1, err := manifest.Digest(manifest1)
|
||||
assert.Nilf(t, err, "error digesting manifest")
|
||||
|
||||
ref2, dir2, layer2, config2, manifest2 := makeImage(t, arch2, runtime.GOOS)
|
||||
defer os.RemoveAll(dir2)
|
||||
ref2, layer2, config2, manifest2 := makeImage(t, arch2, runtime.GOOS)
|
||||
digest2, err := manifest.Digest(manifest2)
|
||||
assert.Nilf(t, err, "error digesting manifest")
|
||||
|
||||
ref3, dir3, layer3, config3, manifest3 := makeImage(t, arch3, runtime.GOOS)
|
||||
defer os.RemoveAll(dir3)
|
||||
ref3, layer3, config3, manifest3 := makeImage(t, arch3, runtime.GOOS)
|
||||
digest3, err := manifest.Digest(manifest3)
|
||||
assert.Nilf(t, err, "error digesting manifest")
|
||||
|
||||
multidir, err := os.MkdirTemp("", "supplemented")
|
||||
assert.Nilf(t, err, "error creating temporary directory")
|
||||
defer os.RemoveAll(multidir)
|
||||
|
||||
destDir, err := os.MkdirTemp("", "supplemented")
|
||||
assert.Nilf(t, err, "error creating temporary directory")
|
||||
defer os.RemoveAll(destDir)
|
||||
|
||||
index := v1.Index{
|
||||
Versioned: specs.Versioned{
|
||||
SchemaVersion: 2,
|
||||
|
|
@ -220,9 +207,11 @@ func TestSupplemented(t *testing.T) {
|
|||
indexDigest, err := manifest.Digest(indexBytes)
|
||||
assert.Nilf(t, err, "error digesting image index")
|
||||
|
||||
destDir := t.TempDir()
|
||||
destRef, err := alltransports.ParseImageName(fmt.Sprintf("dir:%s", destDir))
|
||||
assert.Nilf(t, err, "error parsing reference 'dir:%s'", destDir)
|
||||
|
||||
multidir := t.TempDir()
|
||||
multiRef, err := alltransports.ParseImageName(fmt.Sprintf("dir:%s", multidir))
|
||||
assert.Nilf(t, err, "error parsing reference 'dir:%s'", multidir)
|
||||
destImg, err := multiRef.NewImageDestination(ctx, sys)
|
||||
|
|
|
|||
|
|
@ -12,12 +12,10 @@ import (
|
|||
)
|
||||
|
||||
func TestReadProcBool(t *testing.T) {
|
||||
tmpDir, err := os.MkdirTemp("", "test-sysinfo-proc")
|
||||
require.NoError(t, err)
|
||||
defer os.RemoveAll(tmpDir)
|
||||
tmpDir := t.TempDir()
|
||||
|
||||
procFile := filepath.Join(tmpDir, "read-proc-bool")
|
||||
err = os.WriteFile(procFile, []byte("1"), 0o644)
|
||||
err := os.WriteFile(procFile, []byte("1"), 0o644)
|
||||
require.NoError(t, err)
|
||||
|
||||
if !readProcBool(procFile) {
|
||||
|
|
@ -37,15 +35,13 @@ func TestReadProcBool(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestCgroupEnabled(t *testing.T) {
|
||||
cgroupDir, err := os.MkdirTemp("", "cgroup-test")
|
||||
require.NoError(t, err)
|
||||
defer os.RemoveAll(cgroupDir)
|
||||
cgroupDir := t.TempDir()
|
||||
|
||||
if cgroupEnabled(cgroupDir, "test") {
|
||||
t.Fatal("cgroupEnabled should be false")
|
||||
}
|
||||
|
||||
err = os.WriteFile(path.Join(cgroupDir, "test"), []byte{}, 0o644)
|
||||
err := os.WriteFile(path.Join(cgroupDir, "test"), []byte{}, 0o644)
|
||||
require.NoError(t, err)
|
||||
|
||||
if !cgroupEnabled(cgroupDir, "test") {
|
||||
|
|
|
|||
Loading…
Reference in New Issue