Refactor InspectImage method

pull/6/head
Harry Zhang 2016-04-06 10:15:38 -04:00
parent 7ecb44fe16
commit 3918eee5bf
6 changed files with 20 additions and 19 deletions

View File

@ -64,7 +64,7 @@ type DockerInterface interface {
StartContainer(id string) error
StopContainer(id string, timeout int) error
RemoveContainer(id string, opts dockertypes.ContainerRemoveOptions) error
InspectImage(image string) (*docker.Image, error)
InspectImage(image string) (*dockertypes.ImageInspect, error)
ListImages(opts dockertypes.ImageListOptions) ([]dockertypes.Image, error)
PullImage(opts docker.PullImageOptions, auth docker.AuthConfiguration) error
RemoveImage(image string) error

View File

@ -471,7 +471,7 @@ type imageTrackingDockerClient struct {
imageName string
}
func (f *imageTrackingDockerClient) InspectImage(name string) (image *docker.Image, err error) {
func (f *imageTrackingDockerClient) InspectImage(name string) (image *dockertypes.ImageInspect, err error) {
image, err = f.FakeDockerClient.InspectImage(name)
f.imageName = name
return

View File

@ -40,7 +40,7 @@ type FakeDockerClient struct {
RunningContainerList []dockertypes.Container
ExitedContainerList []dockertypes.Container
ContainerMap map[string]*dockertypes.ContainerJSON
Image *docker.Image
Image *dockertypes.ImageInspect
Images []dockertypes.Image
Errors map[string]error
called []string
@ -282,7 +282,7 @@ func (f *FakeDockerClient) InspectContainer(id string) (*dockertypes.ContainerJS
// InspectImage is a test-spy implementation of DockerInterface.InspectImage.
// It adds an entry "inspect" to the internal method call record.
func (f *FakeDockerClient) InspectImage(name string) (*docker.Image, error) {
func (f *FakeDockerClient) InspectImage(name string) (*dockertypes.ImageInspect, error) {
f.Lock()
defer f.Unlock()
f.called = append(f.called, "inspect_image")

View File

@ -103,7 +103,7 @@ func (in instrumentedDockerInterface) RemoveContainer(id string, opts dockertype
return err
}
func (in instrumentedDockerInterface) InspectImage(image string) (*docker.Image, error) {
func (in instrumentedDockerInterface) InspectImage(image string) (*dockertypes.ImageInspect, error) {
const operation = "inspect_image"
defer recordOperation(operation, time.Now())

View File

@ -141,7 +141,7 @@ func (d *kubeDockerClient) RemoveContainer(id string, opts dockertypes.Container
return d.client.ContainerRemove(getDefaultContext(), opts)
}
func (d *kubeDockerClient) InspectImage(image string) (*docker.Image, error) {
func (d *kubeDockerClient) InspectImage(image string) (*dockertypes.ImageInspect, error) {
resp, _, err := d.client.ImageInspectWithRaw(getDefaultContext(), image, true)
if err != nil {
// TODO(random-liu): Use IsErrImageNotFound instead of ErrNoSuchImage
@ -150,7 +150,7 @@ func (d *kubeDockerClient) InspectImage(image string) (*docker.Image, error) {
}
return nil, err
}
imageInfo := &docker.Image{}
imageInfo := &dockertypes.ImageInspect{}
if err := convertType(&resp, imageInfo); err != nil {
return nil, err
}

View File

@ -30,6 +30,7 @@ import (
"time"
dockertypes "github.com/docker/engine-api/types"
containertypes "github.com/docker/engine-api/types/container"
dockercontainer "github.com/docker/engine-api/types/container"
dockerstrslice "github.com/docker/engine-api/types/strslice"
docker "github.com/fsouza/go-dockerclient"
@ -1415,7 +1416,7 @@ func TestVerifyNonRoot(t *testing.T) {
tests := map[string]struct {
container *api.Container
inspectImage *docker.Image
inspectImage *dockertypes.ImageInspect
expectedError string
}{
// success cases
@ -1428,16 +1429,16 @@ func TestVerifyNonRoot(t *testing.T) {
},
"numeric non-root image user": {
container: &api.Container{},
inspectImage: &docker.Image{
Config: &docker.Config{
inspectImage: &dockertypes.ImageInspect{
Config: &containertypes.Config{
User: "1",
},
},
},
"numeric non-root image user with gid": {
container: &api.Container{},
inspectImage: &docker.Image{
Config: &docker.Config{
inspectImage: &dockertypes.ImageInspect{
Config: &containertypes.Config{
User: "1:2",
},
},
@ -1454,8 +1455,8 @@ func TestVerifyNonRoot(t *testing.T) {
},
"non-numeric image user": {
container: &api.Container{},
inspectImage: &docker.Image{
Config: &docker.Config{
inspectImage: &dockertypes.ImageInspect{
Config: &containertypes.Config{
User: "foo",
},
},
@ -1463,8 +1464,8 @@ func TestVerifyNonRoot(t *testing.T) {
},
"numeric root image user": {
container: &api.Container{},
inspectImage: &docker.Image{
Config: &docker.Config{
inspectImage: &dockertypes.ImageInspect{
Config: &containertypes.Config{
User: "0",
},
},
@ -1472,8 +1473,8 @@ func TestVerifyNonRoot(t *testing.T) {
},
"numeric root image user with gid": {
container: &api.Container{},
inspectImage: &docker.Image{
Config: &docker.Config{
inspectImage: &dockertypes.ImageInspect{
Config: &containertypes.Config{
User: "0:1",
},
},
@ -1485,7 +1486,7 @@ func TestVerifyNonRoot(t *testing.T) {
},
"nil config in image inspect": {
container: &api.Container{},
inspectImage: &docker.Image{},
inspectImage: &dockertypes.ImageInspect{},
expectedError: "unable to inspect image",
},
}