mirror of
https://github.com/project-zot/zot.git
synced 2025-01-06 22:40:28 -05:00
8e68255946
fixed ping function taking too much time closes: #2213 #2212 Signed-off-by: Petu Eusebiu <peusebiu@cisco.com>
77 lines
1.9 KiB
Go
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
|
|
}
|