Use FakeDockerPuller to bypass auth/keyring logic in tests

pull/6/head
Yu-Ju Hong 2017-03-02 16:28:54 -08:00
parent 516848c37d
commit a0f90e1490
2 changed files with 20 additions and 1 deletions

View File

@ -33,6 +33,7 @@ import (
dockercontainer "github.com/docker/engine-api/types/container"
"k8s.io/client-go/util/clock"
"k8s.io/kubernetes/pkg/api/v1"
)
type calledDetail struct {
@ -797,3 +798,21 @@ func (f *FakeDockerClient) InjectImageHistory(data map[string][]dockertypes.Imag
defer f.Unlock()
f.ImageHistoryMap = data
}
// FakeDockerPuller is meant to be a simple wrapper around FakeDockerClient.
// Please do not add more functionalities to it.
type FakeDockerPuller struct {
client DockerInterface
}
func (f *FakeDockerPuller) Pull(image string, _ []v1.Secret) error {
return f.client.PullImage(image, dockertypes.AuthConfig{}, dockertypes.ImagePullOptions{})
}
func (f *FakeDockerPuller) GetImageRef(image string) (string, error) {
_, err := f.client.InspectImageByRef(image)
if err != nil && IsImageNotFoundError(err) {
return "", nil
}
return image, err
}

View File

@ -52,7 +52,7 @@ func NewFakeDockerManager(
dm := NewDockerManager(client, recorder, livenessManager, containerRefManager, fakePodGetter, machineInfo, podInfraContainerImage, qps,
burst, containerLogsDir, osInterface, networkPlugin, runtimeHelper, httpClient, &NativeExecHandler{},
fakeOOMAdjuster, fakeProcFs, false, imageBackOff, false, false, true, "/var/lib/kubelet/seccomp")
dm.dockerPuller = newDockerPuller(client)
dm.dockerPuller = &FakeDockerPuller{client: client}
// ttl of version cache is set to 0 so we always call version api directly in tests.
dm.versionCache = cache.NewObjectCache(