mirror of https://github.com/docker/docs.git
add load unit test
Signed-off-by: Xian Chaobo <xianchaobo@huawei.com>
This commit is contained in:
parent
def00ea0a0
commit
78957d527b
|
|
@ -358,10 +358,10 @@ func (c *Cluster) Load(imageReader io.Reader, callback func(what, status string)
|
||||||
for _, pipeW := range pipeWriters {
|
for _, pipeW := range pipeWriters {
|
||||||
listWriter = append(listWriter, pipeW)
|
listWriter = append(listWriter, pipeW)
|
||||||
}
|
}
|
||||||
mutiWriter := io.MultiWriter(listWriter...)
|
multiWriter := io.MultiWriter(listWriter...)
|
||||||
|
|
||||||
// copy image-reader to muti-writer
|
// copy image-reader to multi-writer
|
||||||
_, err := io.Copy(mutiWriter, imageReader)
|
_, err := io.Copy(multiWriter, imageReader)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error(err)
|
log.Error(err)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -150,3 +150,46 @@ func TestImportImage(t *testing.T) {
|
||||||
}
|
}
|
||||||
c.Import("-", "testImageError", "latest", bytes.NewReader(nil), callback)
|
c.Import("-", "testImageError", "latest", bytes.NewReader(nil), callback)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestLoadImage(t *testing.T) {
|
||||||
|
// create cluster
|
||||||
|
c := &Cluster{
|
||||||
|
engines: make(map[string]*cluster.Engine),
|
||||||
|
}
|
||||||
|
|
||||||
|
// create engione
|
||||||
|
id := "test-engine"
|
||||||
|
engine := cluster.NewEngine(id, 0)
|
||||||
|
engine.Name = id
|
||||||
|
engine.ID = id
|
||||||
|
|
||||||
|
// create mock client
|
||||||
|
client := mockclient.NewMockClient()
|
||||||
|
client.On("Info").Return(mockInfo, nil)
|
||||||
|
client.On("StartMonitorEvents", mock.Anything, mock.Anything, mock.Anything).Return()
|
||||||
|
client.On("ListContainers", true, false, "").Return([]dockerclient.Container{}, nil).Once()
|
||||||
|
client.On("ListImages").Return([]*dockerclient.Image{}, nil)
|
||||||
|
|
||||||
|
// connect client
|
||||||
|
engine.ConnectWithClient(client)
|
||||||
|
|
||||||
|
// add engine to cluster
|
||||||
|
c.engines[engine.ID] = engine
|
||||||
|
|
||||||
|
// load success
|
||||||
|
client.On("LoadImage", mock.AnythingOfType("*io.PipeReader")).Return(nil).Once()
|
||||||
|
callback := func(what, status string) {
|
||||||
|
//if load OK, will not come here
|
||||||
|
t.Fatalf("Load error")
|
||||||
|
}
|
||||||
|
c.Load(bytes.NewReader(nil), callback)
|
||||||
|
|
||||||
|
// load error
|
||||||
|
err := fmt.Errorf("Load error")
|
||||||
|
client.On("LoadImage", mock.AnythingOfType("*io.PipeReader")).Return(err).Once()
|
||||||
|
callback = func(what, status string) {
|
||||||
|
// load error
|
||||||
|
assert.Equal(t, status, "Load error")
|
||||||
|
}
|
||||||
|
c.Load(bytes.NewReader(nil), callback)
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue