distribution: simplify mocks
embed the interface, so that we don't have to implement stubs. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
parent
d390f86080
commit
3a4a04e462
1 changed files with 5 additions and 79 deletions
|
@ -2,7 +2,6 @@ package distribution // import "github.com/docker/docker/distribution"
|
|||
|
||||
import (
|
||||
"context"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"reflect"
|
||||
"testing"
|
||||
|
@ -466,32 +465,14 @@ func TestLayerAlreadyExists(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
type mockReferenceStore struct{}
|
||||
|
||||
func (s *mockReferenceStore) References(id digest.Digest) []reference.Named {
|
||||
return []reference.Named{}
|
||||
type mockReferenceStore struct {
|
||||
refstore.Store
|
||||
}
|
||||
|
||||
func (s *mockReferenceStore) ReferencesByName(ref reference.Named) []refstore.Association {
|
||||
return []refstore.Association{}
|
||||
}
|
||||
|
||||
func (s *mockReferenceStore) AddTag(ref reference.Named, id digest.Digest, force bool) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (s *mockReferenceStore) AddDigest(ref reference.Canonical, id digest.Digest, force bool) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (s *mockReferenceStore) Delete(ref reference.Named) (bool, error) {
|
||||
return true, nil
|
||||
}
|
||||
|
||||
func (s *mockReferenceStore) Get(ref reference.Named) (digest.Digest, error) {
|
||||
return "", nil
|
||||
}
|
||||
|
||||
func TestWhenEmptyAuthConfig(t *testing.T) {
|
||||
for _, authInfo := range []struct {
|
||||
username string
|
||||
|
@ -632,6 +613,7 @@ func taggedMetadata(key string, dgst string, sourceRepo string) metadata.V2Metad
|
|||
}
|
||||
|
||||
type mockRepo struct {
|
||||
distribution.Repository
|
||||
t *testing.T
|
||||
errors map[digest.Digest]error
|
||||
blobs map[digest.Digest]distribution.Descriptor
|
||||
|
@ -640,21 +622,6 @@ type mockRepo struct {
|
|||
|
||||
var _ distribution.Repository = &mockRepo{}
|
||||
|
||||
func (m *mockRepo) Named() reference.Named {
|
||||
m.t.Fatalf("Named() not implemented")
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *mockRepo) Manifests(ctc context.Context, options ...distribution.ManifestServiceOption) (distribution.ManifestService, error) {
|
||||
m.t.Fatalf("Manifests() not implemented")
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
func (m *mockRepo) Tags(ctc context.Context) distribution.TagService {
|
||||
m.t.Fatalf("Tags() not implemented")
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *mockRepo) Blobs(ctx context.Context) distribution.BlobStore {
|
||||
return &mockBlobStore{
|
||||
repo: m,
|
||||
|
@ -662,6 +629,7 @@ func (m *mockRepo) Blobs(ctx context.Context) distribution.BlobStore {
|
|||
}
|
||||
|
||||
type mockBlobStore struct {
|
||||
distribution.BlobStore
|
||||
repo *mockRepo
|
||||
}
|
||||
|
||||
|
@ -678,56 +646,14 @@ func (m *mockBlobStore) Stat(ctx context.Context, dgst digest.Digest) (distribut
|
|||
return distribution.Descriptor{}, distribution.ErrBlobUnknown
|
||||
}
|
||||
|
||||
func (m *mockBlobStore) Get(ctx context.Context, dgst digest.Digest) ([]byte, error) {
|
||||
m.repo.t.Fatal("Get() not implemented")
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
func (m *mockBlobStore) Open(ctx context.Context, dgst digest.Digest) (distribution.ReadSeekCloser, error) {
|
||||
m.repo.t.Fatal("Open() not implemented")
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
func (m *mockBlobStore) Put(ctx context.Context, mediaType string, p []byte) (distribution.Descriptor, error) {
|
||||
m.repo.t.Fatal("Put() not implemented")
|
||||
return distribution.Descriptor{}, nil
|
||||
}
|
||||
|
||||
func (m *mockBlobStore) Create(ctx context.Context, options ...distribution.BlobCreateOption) (distribution.BlobWriter, error) {
|
||||
m.repo.t.Fatal("Create() not implemented")
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
func (m *mockBlobStore) Resume(ctx context.Context, id string) (distribution.BlobWriter, error) {
|
||||
m.repo.t.Fatal("Resume() not implemented")
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
func (m *mockBlobStore) Delete(ctx context.Context, dgst digest.Digest) error {
|
||||
m.repo.t.Fatal("Delete() not implemented")
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *mockBlobStore) ServeBlob(ctx context.Context, w http.ResponseWriter, r *http.Request, dgst digest.Digest) error {
|
||||
m.repo.t.Fatalf("ServeBlob() not implemented")
|
||||
return nil
|
||||
}
|
||||
|
||||
type mockV2MetadataService struct {
|
||||
metadata.V2MetadataService
|
||||
added []metadata.V2Metadata
|
||||
removed []metadata.V2Metadata
|
||||
}
|
||||
|
||||
var _ metadata.V2MetadataService = &mockV2MetadataService{}
|
||||
|
||||
func (*mockV2MetadataService) GetMetadata(diffID layer.DiffID) ([]metadata.V2Metadata, error) {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
func (*mockV2MetadataService) GetDiffID(dgst digest.Digest) (layer.DiffID, error) {
|
||||
return "", nil
|
||||
}
|
||||
|
||||
func (m *mockV2MetadataService) Add(diffID layer.DiffID, metadata metadata.V2Metadata) error {
|
||||
m.added = append(m.added, metadata)
|
||||
return nil
|
||||
|
|
Loading…
Add table
Reference in a new issue