func TestHealthCheck(t *testing.T) { fw := newServerTest() fw.fakeKubelet.containerVersionFunc = func() (kubecontainer.Version, error) { return dockertools.NewVersion("1.15") } fw.fakeKubelet.hostnameFunc = func() string { return "127.0.0.1" } // Test with correct hostname, Docker version assertHealthIsOk(t, fw.testHTTPServer.URL+"/healthz") //Test with incorrect hostname fw.fakeKubelet.hostnameFunc = func() string { return "fake" } assertHealthIsOk(t, fw.testHTTPServer.URL+"/healthz") //Test with old container runtime version fw.fakeKubelet.containerVersionFunc = func() (kubecontainer.Version, error) { return dockertools.NewVersion("1.1") } assertHealthFails(t, fw.testHTTPServer.URL+"/healthz", http.StatusInternalServerError) }
func newServerTest() *serverTestFramework { fw := &serverTestFramework{} fw.fakeKubelet = &fakeKubelet{ containerVersionFunc: func() (kubecontainer.Version, error) { return dockertools.NewVersion("1.15") }, hostnameFunc: func() string { return "127.0.0.1" }, podByNameFunc: func(namespace, name string) (*api.Pod, bool) { return &api.Pod{ ObjectMeta: api.ObjectMeta{ Namespace: namespace, Name: name, }, }, true }, } fw.fakeAuth = &fakeAuth{ authenticateFunc: func(req *http.Request) (user.Info, bool, error) { return &user.DefaultInfo{Name: "test"}, true, nil }, attributesFunc: func(u user.Info, req *http.Request) authorizer.Attributes { return &authorizer.AttributesRecord{User: u} }, authorizeFunc: func(a authorizer.Attributes) (err error) { return nil }, } server := NewServer(fw.fakeKubelet, fw.fakeAuth, true) fw.serverUnderTest = &server fw.testHTTPServer = httptest.NewServer(fw.serverUnderTest) return fw }
func TestSyncLoopCheck(t *testing.T) { fw := newServerTest() fw.fakeKubelet.containerVersionFunc = func() (kubecontainer.Version, error) { return dockertools.NewVersion("1.15") } fw.fakeKubelet.hostnameFunc = func() string { return "127.0.0.1" } fw.fakeKubelet.resyncInterval = time.Minute fw.fakeKubelet.loopEntryTime = time.Now() // Test with correct hostname, Docker version assertHealthIsOk(t, fw.testHTTPServer.URL+"/healthz") fw.fakeKubelet.loopEntryTime = time.Now().Add(time.Minute * -10) assertHealthFails(t, fw.testHTTPServer.URL+"/healthz", http.StatusInternalServerError) }
func newServerTest() *serverTestFramework { fw := &serverTestFramework{} fw.fakeKubelet = &fakeKubelet{ containerVersionFunc: func() (kubecontainer.Version, error) { return dockertools.NewVersion("1.18") }, podByNameFunc: func(namespace, name string) (*api.Pod, bool) { return &api.Pod{ ObjectMeta: api.ObjectMeta{ Namespace: namespace, Name: name, }, }, true }, } server := NewServer(fw.fakeKubelet, true) fw.serverUnderTest = &server fw.testHTTPServer = httptest.NewServer(fw.serverUnderTest) return fw }