func TestInstall_canary(t *testing.T) { fake := testclient.Fake{} fake.AddReactor("create", "deployments", func(action testclient.Action) (bool, runtime.Object, error) { obj := action.(testclient.CreateAction).GetObject().(*extensions.Deployment) i := obj.Spec.Template.Spec.Containers[0].Image if i != "gcr.io/kubernetes-helm/tiller:canary" { t.Errorf("expected canary image, got '%s'", i) } return true, obj, nil }) err := Install(fake.Extensions(), "default", "", true, false) if err != nil { t.Errorf("unexpected error: %#+v", err) } }
func TestInitCmd_exsits(t *testing.T) { home, err := ioutil.TempDir("", "helm_home") if err != nil { t.Fatal(err) } defer os.Remove(home) var buf bytes.Buffer fake := testclient.Fake{} fake.AddReactor("*", "*", func(action testclient.Action) (bool, runtime.Object, error) { return true, nil, errors.NewAlreadyExists(api.Resource("deployments"), "1") }) cmd := &initCmd{out: &buf, home: helmpath.Home(home), kubeClient: fake.Extensions()} if err := cmd.run(); err != nil { t.Errorf("expected error: %v", err) } expected := "Warning: Tiller is already installed in the cluster. (Use --client-only to suppress this message.)" if !strings.Contains(buf.String(), expected) { t.Errorf("expected %q, got %q", expected, buf.String()) } }
func TestSyncBatchIgnoresNotFound(t *testing.T) { client := testclient.Fake{} syncer := newTestManager(&client) client.AddReactor("get", "pods", func(action testclient.Action) (bool, runtime.Object, error) { return true, nil, errors.NewNotFound(api.Resource("pods"), "test-pod") }) syncer.SetPodStatus(testPod, getRandomPodStatus()) syncer.testSyncBatch() verifyActions(t, syncer.kubeClient, []testclient.Action{ testclient.GetActionImpl{ActionImpl: testclient.ActionImpl{Verb: "get", Resource: "pods"}}, }) }
func TestInstall(t *testing.T) { image := "gcr.io/kubernetes-helm/tiller:v2.0.0" fake := testclient.Fake{} fake.AddReactor("create", "deployments", func(action testclient.Action) (bool, runtime.Object, error) { obj := action.(testclient.CreateAction).GetObject().(*extensions.Deployment) l := obj.GetLabels() if reflect.DeepEqual(l, map[string]string{"app": "helm"}) { t.Errorf("expected labels = '', got '%s'", l) } i := obj.Spec.Template.Spec.Containers[0].Image if i != image { t.Errorf("expected image = '%s', got '%s'", image, i) } return true, obj, nil }) err := Install(fake.Extensions(), "default", image, false, false) if err != nil { t.Errorf("unexpected error: %#+v", err) } }
func TestSyncBatchIgnoresNotFound(t *testing.T) { client := testclient.Fake{} syncer := newTestManager(&client) client.AddReactor("get", "pods", func(action testclient.Action) (bool, runtime.Object, error) { return true, nil, errors.NewNotFound("pods", "test-pod") }) syncer.SetPodStatus(testPod, getRandomPodStatus()) syncer.syncBatch() verifyActions(t, syncer.kubeClient, []testclient.Action{ testclient.GetActionImpl{ActionImpl: testclient.ActionImpl{Verb: "get", Resource: "pods"}}, }) _, found := syncer.GetPodStatus(testPod.UID) assert.False(t, found, "Pod status should have been deleted") }