github.com/ali-iotechsys/cli@v20.10.0+incompatible/cli/command/manifest/client_test.go (about)

     1  package manifest
     2  
     3  import (
     4  	"context"
     5  
     6  	manifesttypes "github.com/docker/cli/cli/manifest/types"
     7  	"github.com/docker/cli/cli/registry/client"
     8  	"github.com/docker/distribution"
     9  	"github.com/docker/distribution/reference"
    10  	"github.com/opencontainers/go-digest"
    11  )
    12  
    13  type fakeRegistryClient struct {
    14  	getManifestFunc     func(ctx context.Context, ref reference.Named) (manifesttypes.ImageManifest, error)
    15  	getManifestListFunc func(ctx context.Context, ref reference.Named) ([]manifesttypes.ImageManifest, error)
    16  	mountBlobFunc       func(ctx context.Context, source reference.Canonical, target reference.Named) error
    17  	putManifestFunc     func(ctx context.Context, source reference.Named, mf distribution.Manifest) (digest.Digest, error)
    18  	getTagsFunc         func(ctx context.Context, ref reference.Named) ([]string, error)
    19  }
    20  
    21  func (c *fakeRegistryClient) GetManifest(ctx context.Context, ref reference.Named) (manifesttypes.ImageManifest, error) {
    22  	if c.getManifestFunc != nil {
    23  		return c.getManifestFunc(ctx, ref)
    24  	}
    25  	return manifesttypes.ImageManifest{}, nil
    26  }
    27  
    28  func (c *fakeRegistryClient) GetManifestList(ctx context.Context, ref reference.Named) ([]manifesttypes.ImageManifest, error) {
    29  	if c.getManifestListFunc != nil {
    30  		return c.getManifestListFunc(ctx, ref)
    31  	}
    32  	return nil, nil
    33  }
    34  
    35  func (c *fakeRegistryClient) MountBlob(ctx context.Context, source reference.Canonical, target reference.Named) error {
    36  	if c.mountBlobFunc != nil {
    37  		return c.mountBlobFunc(ctx, source, target)
    38  	}
    39  	return nil
    40  }
    41  
    42  func (c *fakeRegistryClient) PutManifest(ctx context.Context, ref reference.Named, mf distribution.Manifest) (digest.Digest, error) {
    43  	if c.putManifestFunc != nil {
    44  		return c.putManifestFunc(ctx, ref, mf)
    45  	}
    46  	return digest.Digest(""), nil
    47  }
    48  
    49  func (c *fakeRegistryClient) GetTags(ctx context.Context, ref reference.Named) ([]string, error) {
    50  	if c.getTagsFunc != nil {
    51  		return c.getTagsFunc(ctx, ref)
    52  	}
    53  	return nil, nil
    54  }
    55  
    56  var _ client.RegistryClient = &fakeRegistryClient{}