// TestContainerCreateEmptyImageCache() attempts a ContainerCreate() with an empty image // cache func TestContainerCreateEmptyImageCache(t *testing.T) { mockContainerProxy := NewMockContainerProxy() // Create our personality Container backend cb := &Container{ containerProxy: mockContainerProxy, } // mock a container create config var config types.ContainerCreateConfig config.HostConfig = &container.HostConfig{} config.Config = &container.Config{} config.NetworkingConfig = &dnetwork.NetworkingConfig{} config.Config.Image = "busybox" _, err := cb.ContainerCreate(config) assert.Contains(t, err.Error(), "No such image", "Error (%s) should have 'No such image' for an empty image cache", err.Error()) }
// TestContainerAddVolumes() assumes container handle create succeeded and cycles through all // possible input/outputs for committing the handle and calls vicbackends.ContainerCreate() func TestCommitHandle(t *testing.T) { mockContainerProxy := NewMockContainerProxy() // Create our personality Container backend cb := &Container{ containerProxy: mockContainerProxy, } AddMockImageToCache() // mock a container create config var config types.ContainerCreateConfig config.HostConfig = &container.HostConfig{} config.Config = &container.Config{} config.NetworkingConfig = &dnetwork.NetworkingConfig{} mockCommitHandleData := MockCommitData() // Iterate over create handler responses and see what the composite ContainerCreate() // returns. Since the handle is the first operation, we expect to receive a create handle // error. _, _, _, count := mockContainerProxy.GetMockDataCount() for i := 0; i < count; i++ { if i == SUCCESS { //skip success case continue } mockContainerProxy.SetMockDataResponse(0, 0, 0, i) config.Config.Image = mockCommitHandleData[i].createInputID _, err := cb.ContainerCreate(config) assert.Contains(t, err.Error(), mockCommitHandleData[i].createErrSubstr) } }