2013-11-09 15:12:23 -05:00
|
|
|
package docker
|
|
|
|
|
2013-11-09 16:15:51 -05:00
|
|
|
import (
|
|
|
|
"io"
|
|
|
|
)
|
|
|
|
|
2013-11-09 15:12:23 -05:00
|
|
|
// MockDriver is a driver implementation that can be used for tests.
|
|
|
|
type MockDriver struct {
|
2014-07-20 14:57:10 -04:00
|
|
|
CommitCalled bool
|
|
|
|
CommitContainerId string
|
|
|
|
CommitImageId string
|
|
|
|
CommitErr error
|
|
|
|
|
2014-01-19 22:48:06 -05:00
|
|
|
DeleteImageCalled bool
|
|
|
|
DeleteImageId string
|
|
|
|
DeleteImageErr error
|
|
|
|
|
2014-01-19 22:55:01 -05:00
|
|
|
ImportCalled bool
|
|
|
|
ImportPath string
|
|
|
|
ImportRepo string
|
|
|
|
ImportId string
|
|
|
|
ImportErr error
|
|
|
|
|
2014-01-19 23:42:42 -05:00
|
|
|
PushCalled bool
|
|
|
|
PushName string
|
|
|
|
PushErr error
|
|
|
|
|
2014-07-20 16:58:07 -04:00
|
|
|
SaveImageCalled bool
|
|
|
|
SaveImageId string
|
|
|
|
SaveImageReader io.Reader
|
|
|
|
SaveImageError error
|
|
|
|
|
2014-07-20 14:58:03 -04:00
|
|
|
TagImageCalled bool
|
|
|
|
TagImageImageId string
|
|
|
|
TagImageRepo string
|
|
|
|
TagImageErr error
|
|
|
|
|
2013-11-09 16:15:51 -05:00
|
|
|
ExportReader io.Reader
|
|
|
|
ExportError error
|
|
|
|
PullError error
|
|
|
|
StartID string
|
|
|
|
StartError error
|
|
|
|
StopError error
|
2013-11-10 00:26:05 -05:00
|
|
|
VerifyError error
|
2013-11-09 16:15:51 -05:00
|
|
|
|
|
|
|
ExportCalled bool
|
|
|
|
ExportID string
|
|
|
|
PullCalled bool
|
|
|
|
PullImage string
|
|
|
|
StartCalled bool
|
|
|
|
StartConfig *ContainerConfig
|
|
|
|
StopCalled bool
|
|
|
|
StopID string
|
2013-11-10 00:26:05 -05:00
|
|
|
VerifyCalled bool
|
2013-11-09 16:15:51 -05:00
|
|
|
}
|
|
|
|
|
2014-07-20 14:57:10 -04:00
|
|
|
func (d *MockDriver) Commit(id string) (string, error) {
|
|
|
|
d.CommitCalled = true
|
|
|
|
d.CommitContainerId = id
|
|
|
|
return d.CommitImageId, d.CommitErr
|
|
|
|
}
|
|
|
|
|
2014-01-19 22:48:06 -05:00
|
|
|
func (d *MockDriver) DeleteImage(id string) error {
|
|
|
|
d.DeleteImageCalled = true
|
|
|
|
d.DeleteImageId = id
|
|
|
|
return d.DeleteImageErr
|
|
|
|
}
|
|
|
|
|
2013-11-09 16:15:51 -05:00
|
|
|
func (d *MockDriver) Export(id string, dst io.Writer) error {
|
|
|
|
d.ExportCalled = true
|
|
|
|
d.ExportID = id
|
|
|
|
|
|
|
|
if d.ExportReader != nil {
|
|
|
|
_, err := io.Copy(dst, d.ExportReader)
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return d.ExportError
|
2013-11-09 15:12:23 -05:00
|
|
|
}
|
|
|
|
|
2014-01-19 22:55:01 -05:00
|
|
|
func (d *MockDriver) Import(path, repo string) (string, error) {
|
|
|
|
d.ImportCalled = true
|
|
|
|
d.ImportPath = path
|
|
|
|
d.ImportRepo = repo
|
|
|
|
return d.ImportId, d.ImportErr
|
|
|
|
}
|
|
|
|
|
2013-11-09 15:12:23 -05:00
|
|
|
func (d *MockDriver) Pull(image string) error {
|
|
|
|
d.PullCalled = true
|
|
|
|
d.PullImage = image
|
|
|
|
return d.PullError
|
|
|
|
}
|
2013-11-09 16:03:01 -05:00
|
|
|
|
2014-01-19 23:42:42 -05:00
|
|
|
func (d *MockDriver) Push(name string) error {
|
|
|
|
d.PushCalled = true
|
|
|
|
d.PushName = name
|
|
|
|
return d.PushErr
|
|
|
|
}
|
|
|
|
|
2014-07-20 16:58:07 -04:00
|
|
|
func (d *MockDriver) SaveImage(id string, dst io.Writer) error {
|
|
|
|
d.SaveImageCalled = true
|
|
|
|
d.SaveImageId = id
|
|
|
|
|
|
|
|
if d.SaveImageReader != nil {
|
|
|
|
_, err := io.Copy(dst, d.SaveImageReader)
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return d.SaveImageError
|
|
|
|
}
|
|
|
|
|
2013-11-09 16:03:01 -05:00
|
|
|
func (d *MockDriver) StartContainer(config *ContainerConfig) (string, error) {
|
|
|
|
d.StartCalled = true
|
|
|
|
d.StartConfig = config
|
|
|
|
return d.StartID, d.StartError
|
|
|
|
}
|
|
|
|
|
|
|
|
func (d *MockDriver) StopContainer(id string) error {
|
|
|
|
d.StopCalled = true
|
|
|
|
d.StopID = id
|
|
|
|
return d.StopError
|
|
|
|
}
|
2013-11-10 00:26:05 -05:00
|
|
|
|
2014-07-20 14:58:03 -04:00
|
|
|
func (d *MockDriver) TagImage(id string, repo string) error {
|
|
|
|
d.TagImageCalled = true
|
|
|
|
d.TagImageImageId = id
|
|
|
|
d.TagImageRepo = repo
|
|
|
|
return d.TagImageErr
|
|
|
|
}
|
|
|
|
|
2013-11-10 00:26:05 -05:00
|
|
|
func (d *MockDriver) Verify() error {
|
|
|
|
d.VerifyCalled = true
|
|
|
|
return d.VerifyError
|
|
|
|
}
|