mockbackend_test.go 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. package dockerfile
  2. import (
  3. "io"
  4. "time"
  5. "github.com/docker/distribution/reference"
  6. "github.com/docker/docker/api/types"
  7. "github.com/docker/docker/api/types/backend"
  8. "github.com/docker/docker/api/types/container"
  9. "github.com/docker/docker/builder"
  10. "github.com/docker/docker/image"
  11. "golang.org/x/net/context"
  12. )
  13. // MockBackend implements the builder.Backend interface for unit testing
  14. type MockBackend struct {
  15. getImageOnBuildFunc func(string) (builder.Image, error)
  16. }
  17. func (m *MockBackend) GetImageOnBuild(name string) (builder.Image, error) {
  18. if m.getImageOnBuildFunc != nil {
  19. return m.getImageOnBuildFunc(name)
  20. }
  21. return &mockImage{id: "theid"}, nil
  22. }
  23. func (m *MockBackend) TagImageWithReference(image.ID, reference.Named) error {
  24. return nil
  25. }
  26. func (m *MockBackend) PullOnBuild(ctx context.Context, name string, authConfigs map[string]types.AuthConfig, output io.Writer) (builder.Image, error) {
  27. return nil, nil
  28. }
  29. func (m *MockBackend) ContainerAttachRaw(cID string, stdin io.ReadCloser, stdout, stderr io.Writer, stream bool, attached chan struct{}) error {
  30. return nil
  31. }
  32. func (m *MockBackend) ContainerCreate(config types.ContainerCreateConfig) (container.ContainerCreateCreatedBody, error) {
  33. return container.ContainerCreateCreatedBody{}, nil
  34. }
  35. func (m *MockBackend) ContainerRm(name string, config *types.ContainerRmConfig) error {
  36. return nil
  37. }
  38. func (m *MockBackend) Commit(string, *backend.ContainerCommitConfig) (string, error) {
  39. return "", nil
  40. }
  41. func (m *MockBackend) ContainerKill(containerID string, sig uint64) error {
  42. return nil
  43. }
  44. func (m *MockBackend) ContainerStart(containerID string, hostConfig *container.HostConfig, checkpoint string, checkpointDir string) error {
  45. return nil
  46. }
  47. func (m *MockBackend) ContainerWait(containerID string, timeout time.Duration) (int, error) {
  48. return 0, nil
  49. }
  50. func (m *MockBackend) ContainerUpdateCmdOnBuild(containerID string, cmd []string) error {
  51. return nil
  52. }
  53. func (m *MockBackend) ContainerCreateWorkdir(containerID string) error {
  54. return nil
  55. }
  56. func (m *MockBackend) CopyOnBuild(containerID string, destPath string, src builder.FileInfo, decompress bool) error {
  57. return nil
  58. }
  59. func (m *MockBackend) HasExperimental() bool {
  60. return false
  61. }
  62. func (m *MockBackend) SquashImage(from string, to string) (string, error) {
  63. return "", nil
  64. }
  65. func (m *MockBackend) MountImage(name string) (string, func() error, error) {
  66. return "", func() error { return nil }, nil
  67. }
  68. type mockImage struct {
  69. id string
  70. config *container.Config
  71. }
  72. func (i *mockImage) ImageID() string {
  73. return i.id
  74. }
  75. func (i *mockImage) RunConfig() *container.Config {
  76. return i.config
  77. }