mirror of
https://github.com/hauler-dev/hauler.git
synced 2026-05-20 08:04:15 +00:00
Merge pull request #25 from rancherfederal/clean-test
ensure layout test cleans up after itself
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user