mirror of https://github.com/k3s-io/k3s
Refactor InspectImage method
parent
7ecb44fe16
commit
3918eee5bf
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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())
|
||||
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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",
|
||||
},
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue