0
Fork 0
mirror of https://github.com/project-zot/zot.git synced 2025-01-06 22:40:28 -05:00
zot/pkg/test/mocks/sync_remote_mock.go
peusebiu 8e68255946
fix(sync): added bearer client for sync (#2222)
fixed ping function taking too much time

closes: #2213 #2212

Signed-off-by: Petu Eusebiu <peusebiu@cisco.com>
2024-02-14 09:18:10 -08:00

77 lines
1.9 KiB
Go

package mocks
import (
"context"
"github.com/containers/image/v5/types"
"github.com/opencontainers/go-digest"
)
type SyncRemote struct {
// Get temporary ImageReference, is used by functions in containers/image package
GetImageReferenceFn func(repo string, tag string) (types.ImageReference, error)
// Get local oci layout context, is used by functions in containers/image package
GetContextFn func() *types.SystemContext
// Get a list of repos (catalog)
GetRepositoriesFn func(ctx context.Context) ([]string, error)
// Get a list of tags given a repo
GetRepoTagsFn func(repo string) ([]string, error)
GetDockerRemoteRepoFn func(repo string) string
// Get manifest content, mediaType, digest given an ImageReference
GetManifestContentFn func(imageReference types.ImageReference) ([]byte, string, digest.Digest, error)
}
func (remote SyncRemote) GetDockerRemoteRepo(repo string) string {
if remote.GetDockerRemoteRepoFn != nil {
return remote.GetDockerRemoteRepoFn(repo)
}
return ""
}
func (remote SyncRemote) GetImageReference(repo string, tag string) (types.ImageReference, error) {
if remote.GetImageReferenceFn != nil {
return remote.GetImageReferenceFn(repo, tag)
}
return nil, nil
}
func (remote SyncRemote) GetContext() *types.SystemContext {
if remote.GetContextFn != nil {
return remote.GetContextFn()
}
return nil
}
func (remote SyncRemote) GetRepositories(ctx context.Context) ([]string, error) {
if remote.GetRepositoriesFn != nil {
return remote.GetRepositoriesFn(ctx)
}
return []string{}, nil
}
func (remote SyncRemote) GetRepoTags(repo string) ([]string, error) {
if remote.GetRepoTagsFn != nil {
return remote.GetRepoTagsFn(repo)
}
return []string{}, nil
}
func (remote SyncRemote) GetManifestContent(imageReference types.ImageReference) (
[]byte, string, digest.Digest, error,
) {
if remote.GetManifestContentFn != nil {
return remote.GetManifestContentFn(imageReference)
}
return nil, "", "", nil
}