Browse Source

distribution: simplify mocks

embed the interface, so that we don't have to implement stubs.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Sebastiaan van Stijn 1 year ago
parent
commit
3a4a04e462
1 changed files with 5 additions and 79 deletions
  1. 5 79
      distribution/push_v2_test.go

+ 5 - 79
distribution/push_v2_test.go

@@ -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