From 6c340424de9cfc7df2d200391942dba501b5f506 Mon Sep 17 00:00:00 2001 From: Josh Wolf Date: Fri, 18 Jun 2021 07:30:39 -0600 Subject: [PATCH] ensure layout test cleans up after itself --- pkg/oci/layout_test.go | 45 +++++++++++++++++++++++++---------- pkg/packager/packager_test.go | 37 ---------------------------- 2 files changed, 33 insertions(+), 49 deletions(-) delete mode 100644 pkg/packager/packager_test.go diff --git a/pkg/oci/layout_test.go b/pkg/oci/layout_test.go index 39adc28..d6ab242 100644 --- a/pkg/oci/layout_test.go +++ b/pkg/oci/layout_test.go @@ -2,6 +2,8 @@ package oci import ( "fmt" + "github.com/google/go-containerregistry/pkg/v1/empty" + "os" "testing" v1 "github.com/google/go-containerregistry/pkg/v1" @@ -10,6 +12,11 @@ import ( ) func Test_ListImages(t *testing.T) { + tmpdir, err := os.MkdirTemp(".", "hauler") + if err != nil { + t.Errorf("failed to setup test scaffolding: %v", err) + } + defer os.RemoveAll(tmpdir) img, err := random.Image(1024, 5) @@ -17,8 +24,15 @@ func Test_ListImages(t *testing.T) { fmt.Printf("error creating test image: %v", err) } - ly := createLayout(img, ".") - dg := getDigest(img) + ly, err := createLayout(img, tmpdir) + if err != nil { + t.Errorf("%v", err) + } + + dg, err := getDigest(img) + if err != nil { + t.Errorf("%v", err) + } m := ListImages(ly) @@ -30,24 +44,31 @@ func Test_ListImages(t *testing.T) { } -func createLayout(img v1.Image, path string) layout.Path { - +func createLayout(img v1.Image, path string) (layout.Path, error) { p, err := layout.FromPath(path) - if err != nil { - fmt.Printf("error creating layout: %v", err) + if os.IsNotExist(err) { + p, err = layout.Write(path, empty.Index) + if err != nil { + return "", err + } } - p.AppendImage(img) - return p + if err != nil { + return "", fmt.Errorf("error creating layout: %v", err) + } + if err := p.AppendImage(img); err != nil { + return "", err + } + + return p, nil } -func getDigest(img v1.Image) v1.Hash { - +func getDigest(img v1.Image) (v1.Hash, error) { digest, err := img.Digest() if err != nil { - fmt.Printf("error getting digest: %v", err) + return v1.Hash{}, fmt.Errorf("error getting digest: %v", err) } - return digest + return digest, nil } diff --git a/pkg/packager/packager_test.go b/pkg/packager/packager_test.go deleted file mode 100644 index dc942a3..0000000 --- a/pkg/packager/packager_test.go +++ /dev/null @@ -1,37 +0,0 @@ -package packager - -import ( - "context" - "testing" - - "github.com/rancherfederal/hauler/pkg/apis/hauler.cattle.io/v1alpha1" - "github.com/rancherfederal/hauler/pkg/fs" -) - -func Test_pkg_driver(t *testing.T) { - type fields struct { - fs fs.PkgFs - } - type args struct { - ctx context.Context - d v1alpha1.Driver - } - tests := []struct { - name string - fields fields - args args - wantErr bool - }{ - // TODO: Add test cases. - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - p := pkg{ - fs: tt.fields.fs, - } - if err := p.driver(tt.args.ctx, tt.args.d); (err != nil) != tt.wantErr { - t.Errorf("driver() error = %v, wantErr %v", err, tt.wantErr) - } - }) - } -}