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