123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- // Package test is a test-only package that can be used by other cli package to write unit test
- package test
- import (
- "io"
- "io/ioutil"
- "github.com/docker/docker/cli/command"
- "github.com/docker/docker/client"
- "strings"
- )
- // FakeCli emulates the default DockerCli
- type FakeCli struct {
- command.DockerCli
- client client.APIClient
- out io.Writer
- in io.ReadCloser
- }
- // NewFakeCli returns a Cli backed by the fakeCli
- func NewFakeCli(client client.APIClient, out io.Writer) *FakeCli {
- return &FakeCli{
- client: client,
- out: out,
- in: ioutil.NopCloser(strings.NewReader("")),
- }
- }
- // SetIn sets the input of the cli to the specified ReadCloser
- func (c *FakeCli) SetIn(in io.ReadCloser) {
- c.in = in
- }
- // Client returns a docker API client
- func (c *FakeCli) Client() client.APIClient {
- return c.client
- }
- // Out returns the output stream the cli should write on
- func (c *FakeCli) Out() *command.OutStream {
- return command.NewOutStream(c.out)
- }
- // In returns thi input stream the cli will use
- func (c *FakeCli) In() *command.InStream {
- return command.NewInStream(c.in)
- }
|