Merge pull request #25 from rancherfederal/clean-test

ensure layout test cleans up after itself
This commit is contained in:
joshrwolf
2021-06-18 07:31:45 -06:00
committed by GitHub
2 changed files with 33 additions and 49 deletions

View File

@@ -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
}

View File

@@ -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)
}
})
}
}