...

Package testutil

import "github.com/docker/distribution/testutil"
Overview
Index

Overview ▾

func CreateRandomLayers

func CreateRandomLayers(n int) (map[digest.Digest]io.ReadSeeker, error)

CreateRandomLayers returns a map of n digests. We don't particularly care about the order of said digests (since they're all random anyway).

func CreateRandomTarFile

func CreateRandomTarFile() (rs io.ReadSeeker, dgst digest.Digest, err error)

CreateRandomTarFile creates a random tarfile, returning it as an io.ReadSeeker along with its digest. An error is returned if there is a problem generating valid content.

func MakeManifestList

func MakeManifestList(blobstatter distribution.BlobStatter, manifestDigests []digest.Digest) (*manifestlist.DeserializedManifestList, error)

MakeManifestList constructs a manifest list out of a list of manifest digests

func MakeSchema1Manifest

func MakeSchema1Manifest(digests []digest.Digest) (distribution.Manifest, error)

MakeSchema1Manifest constructs a schema 1 manifest from a given list of digests and returns the digest of the manifest

func MakeSchema2Manifest

func MakeSchema2Manifest(repository distribution.Repository, digests []digest.Digest) (distribution.Manifest, error)

MakeSchema2Manifest constructs a schema 2 manifest from a given list of digests and returns the digest of the manifest

func NewHandler

func NewHandler(requestResponseMap RequestResponseMap) http.Handler

NewHandler returns a new test handler that responds to defined requests with specified responses Each time a Request is received, the next Response is returned in the mapping, until no Responses are defined, at which point a 404 is sent back

func UploadBlobs

func UploadBlobs(repository distribution.Repository, layers map[digest.Digest]io.ReadSeeker) error

UploadBlobs lets you upload blobs to a repository

type Request

Request is a simplified http.Request object

type Request struct {
    // Method is the http method of the request, for example GET
    Method string

    // Route is the http route of this request
    Route string

    // QueryParams are the query parameters of this request
    QueryParams map[string][]string

    // Body is the byte contents of the http request
    Body []byte

    // Headers are the header for this request
    Headers http.Header
}

func (Request) String

func (r Request) String() string

type RequestResponseMap

RequestResponseMap is an ordered mapping from Requests to Responses

type RequestResponseMap []RequestResponseMapping

type RequestResponseMapping

RequestResponseMapping defines a Response to be sent in response to a given Request

type RequestResponseMapping struct {
    Request  Request
    Response Response
}

type Response

Response is a simplified http.Response object

type Response struct {
    // Statuscode is the http status code of the Response
    StatusCode int

    // Headers are the http headers of this Response
    Headers http.Header

    // Body is the response body
    Body []byte
}