test(refactor): refactor tests that use zot-test to use smaller images (#1690)

Signed-off-by: Laurentiu Niculae <niculae.laurentiu1@gmail.com>
This commit is contained in:
LaurentiuNiculae
2023-08-18 11:46:11 +03:00
committed by GitHub
parent e510df7c22
commit 0731fd3828
24 changed files with 536 additions and 194 deletions
+2 -2
View File
@@ -4,7 +4,6 @@ import (
"bytes"
"encoding/json"
"os"
"path"
"testing"
godigest "github.com/opencontainers/go-digest"
@@ -146,7 +145,8 @@ func TestGetReferrersErrors(t *testing.T) {
So(err, ShouldNotBeNil)
})
err := test.CopyFiles("../../../test/data/zot-test", path.Join(dir, "zot-test"))
storageCtlr := storage.StoreController{DefaultStore: imgStore}
err := test.WriteImageToFileSystem(test.CreateDefaultImage(), "zot-test", "0.0.1", storageCtlr)
So(err, ShouldBeNil)
digest := godigest.FromBytes([]byte("{}"))
+32 -10
View File
@@ -208,8 +208,11 @@ func TestGetOrasReferrers(t *testing.T) {
imgStore := local.NewImageStore(dir, true, storageConstants.DefaultGCDelay, true, true, log, metrics, nil, cacheDriver)
Convey("Get referrers", t, func(c C) {
err := test.CopyFiles("../../../test/data/zot-test", path.Join(dir, "zot-test"))
err := test.WriteImageToFileSystem(test.CreateDefaultVulnerableImage(), "zot-test", "0.0.1", storage.StoreController{
DefaultStore: imgStore,
})
So(err, ShouldBeNil)
body := []byte("this is a blob")
digest := godigest.FromBytes(body)
buf := bytes.NewBuffer(body)
@@ -1083,7 +1086,8 @@ func FuzzGetOrasReferrers(f *testing.F) {
imgStore := local.NewImageStore(dir, true, storageConstants.DefaultGCDelay, true, true, *log, metrics, nil,
cacheDriver)
err := test.CopyFiles("../../../test/data/zot-test", path.Join(dir, "zot-test"))
storageCtlr := storage.StoreController{DefaultStore: imgStore}
err := test.WriteImageToFileSystem(test.CreateDefaultVulnerableImage(), "zot-test", "0.0.1", storageCtlr)
if err != nil {
t.Error(err)
}
@@ -2551,11 +2555,14 @@ func TestGarbageCollectForImageStore(t *testing.T) {
imgStore := local.NewImageStore(dir, true, 1*time.Second, true, true, log, metrics, nil, cacheDriver)
repoName := "gc-all-repos-short"
test.CopyTestFiles("../../../test/data/zot-test", path.Join(dir, repoName))
image := test.CreateDefaultVulnerableImage()
err := test.WriteImageToFileSystem(image, repoName, "0.0.1", storage.StoreController{
DefaultStore: imgStore,
})
So(err, ShouldBeNil)
var manifestDigest godigest.Digest
manifestDigest, _, _ = test.GetOciLayoutDigests("../../../test/data/zot-test")
err := os.Remove(path.Join(dir, repoName, "blobs/sha256", manifestDigest.Encoded()))
manifestDigest := image.ManifestDescriptor.Digest
err = os.Remove(path.Join(dir, repoName, "blobs/sha256", manifestDigest.Encoded()))
if err != nil {
panic(err)
}
@@ -2586,11 +2593,15 @@ func TestGarbageCollectForImageStore(t *testing.T) {
imgStore := local.NewImageStore(dir, true, 1*time.Second, true, true, log, metrics, nil, cacheDriver)
repoName := "gc-all-repos-short"
test.CopyTestFiles("../../../test/data/zot-test", path.Join(dir, repoName))
image := test.CreateDefaultVulnerableImage()
err := test.WriteImageToFileSystem(image, repoName, "0.0.1", storage.StoreController{
DefaultStore: imgStore,
})
So(err, ShouldBeNil)
So(os.Chmod(path.Join(dir, repoName, "index.json"), 0o000), ShouldBeNil)
err := imgStore.RunGCRepo(repoName)
err = imgStore.RunGCRepo(repoName)
So(err, ShouldNotBeNil)
time.Sleep(500 * time.Millisecond)
@@ -3189,9 +3200,20 @@ func TestGetNextRepository(t *testing.T) {
firstRepoName := "repo1"
secondRepoName := "repo2"
test.CopyTestFiles("../../../test/data/zot-test", path.Join(dir, firstRepoName))
srcStorageCtlr := storage.StoreController{DefaultStore: imgStore}
image := test.CreateDefaultImage()
test.CopyTestFiles("../../../test/data/zot-test", path.Join(dir, secondRepoName))
err := test.WriteImageToFileSystem(image, firstRepoName, "0.0.1", srcStorageCtlr)
if err != nil {
t.Log(err)
t.FailNow()
}
err = test.WriteImageToFileSystem(image, secondRepoName, "0.0.1", srcStorageCtlr)
if err != nil {
t.Log(err)
t.FailNow()
}
Convey("Return first repository", t, func() {
firstRepo, err := imgStore.GetNextRepository("")