github.com/khulnasoft/cli@v0.0.0-20240402070845-01bcad7beefa/cli/command/manifest/client_test.go (about)

     1  package manifest
     2  
     3  import (
     4  	"context"
     5  
     6  	"github.com/distribution/reference"
     7  	"github.com/khulnasoft-lab/distribution"
     8  	manifesttypes "github.com/khulnasoft/cli/cli/manifest/types"
     9  	"github.com/khulnasoft/cli/cli/registry/client"
    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  }
    19  
    20  func (c *fakeRegistryClient) GetManifest(ctx context.Context, ref reference.Named) (manifesttypes.ImageManifest, error) {
    21  	if c.getManifestFunc != nil {
    22  		return c.getManifestFunc(ctx, ref)
    23  	}
    24  	return manifesttypes.ImageManifest{}, nil
    25  }
    26  
    27  func (c *fakeRegistryClient) GetManifestList(ctx context.Context, ref reference.Named) ([]manifesttypes.ImageManifest, error) {
    28  	if c.getManifestListFunc != nil {
    29  		return c.getManifestListFunc(ctx, ref)
    30  	}
    31  	return nil, nil
    32  }
    33  
    34  func (c *fakeRegistryClient) MountBlob(ctx context.Context, source reference.Canonical, target reference.Named) error {
    35  	if c.mountBlobFunc != nil {
    36  		return c.mountBlobFunc(ctx, source, target)
    37  	}
    38  	return nil
    39  }
    40  
    41  func (c *fakeRegistryClient) PutManifest(ctx context.Context, ref reference.Named, mf distribution.Manifest) (digest.Digest, error) {
    42  	if c.putManifestFunc != nil {
    43  		return c.putManifestFunc(ctx, ref, mf)
    44  	}
    45  	return digest.Digest(""), nil
    46  }
    47  
    48  var _ client.RegistryClient = &fakeRegistryClient{}