func noAction(kubeClient *fake.Clientset, originClient *testclient.Fake) string { if len(kubeClient.Actions()) != 0 { return fmt.Sprintf("unexpected actions: %v", kubeClient.Actions()) } if len(originClient.Actions()) != 0 { return fmt.Sprintf("unexpected actions: %v", originClient.Actions()) } return "" }
func extractDeletedGroups(tc *testclient.Fake) []string { ret := []string{} for _, genericAction := range tc.Actions() { switch action := genericAction.(type) { case core.DeleteAction: ret = append(ret, action.GetName()) } } return ret }
func extractActualGroups(tc *testclient.Fake) []*userapi.Group { ret := []*userapi.Group{} for _, genericAction := range tc.Actions() { switch action := genericAction.(type) { case ktestclient.CreateAction: ret = append(ret, action.GetObject().(*userapi.Group)) case ktestclient.UpdateAction: ret = append(ret, action.GetObject().(*userapi.Group)) } } return ret }
func TestDeletingImagePruner(t *testing.T) { flag.Lookup("v").Value.Set(fmt.Sprint(*logLevel)) tests := map[string]struct { imageDeletionError error }{ "no error": {}, "delete error": { imageDeletionError: fmt.Errorf("foo"), }, } for name, test := range tests { imageClient := testclient.Fake{} imageClient.SetErr(test.imageDeletionError) imagePruner := NewDeletingImagePruner(imageClient.Images()) err := imagePruner.PruneImage(&imageapi.Image{ObjectMeta: kapi.ObjectMeta{Name: "id2"}}) if test.imageDeletionError != nil { if e, a := test.imageDeletionError, err; e != a { t.Errorf("%s: err: expected %v, got %v", name, e, a) } continue } if e, a := 1, len(imageClient.Actions()); e != a { t.Errorf("%s: expected %d actions, got %d: %#v", name, e, a, imageClient.Actions()) continue } if !imageClient.Actions()[0].Matches("delete", "images") { t.Errorf("%s: expected action %s, got %v", name, "delete-images", imageClient.Actions()[0]) } } }
func checkResult(t *testing.T, err error, c *testclient.Fake, admitter *StatusAdmitter, targetHost string, targetObjTime unversioned.Time, targetCachedTime *time.Time, ingressInd int, actionInd int) *routeapi.Route { if err != nil { t.Fatalf("unexpected error: %v", err) } if len(c.Actions()) != actionInd+1 { t.Fatalf("unexpected actions: %#v", c.Actions()) } action := c.Actions()[actionInd] if action.GetVerb() != "update" || action.GetResource() != "routes" || action.GetSubresource() != "status" { t.Fatalf("unexpected action: %#v", action) } obj := c.Actions()[actionInd].(ktestclient.UpdateAction).GetObject().(*routeapi.Route) if len(obj.Status.Ingress) != ingressInd+1 || obj.Status.Ingress[ingressInd].Host != targetHost { t.Fatalf("expected route reset: expected %q / actual %q -- %#v", targetHost, obj.Status.Ingress[ingressInd].Host, obj) } condition := obj.Status.Ingress[ingressInd].Conditions[0] if condition.LastTransitionTime == nil || *condition.LastTransitionTime != targetObjTime || condition.Status != kapi.ConditionTrue || condition.Reason != "" { t.Fatalf("%s: unexpected condition: %#v", targetHost, condition) } if targetCachedTime == nil { if v, ok := admitter.expected.Peek(types.UID("uid1")); ok { t.Fatalf("expected empty time: %#v", v) } } else { if v, ok := admitter.expected.Peek(types.UID("uid1")); !ok || !reflect.DeepEqual(v, *targetCachedTime) { t.Fatalf("did not record last modification time: %#v %#v", admitter.expected, v) } } return obj }
func makePass(t *testing.T, host string, admitter *StatusAdmitter, srcObj *routeapi.Route, expectUpdate bool, conflict bool) *routeapi.Route { // initialize a new client var c *testclient.Fake if conflict { c = testclient.NewSimpleFake(&(errors.NewConflict(kapi.Resource("Route"), "route1", nil).ErrStatus)) } else { c = testclient.NewSimpleFake(&routeapi.Route{}) } admitter.client = c inputObjRaw, err := kapi.Scheme.DeepCopy(srcObj) if err != nil { t.Fatalf("unexpected error: %v", err) } inputObj := inputObjRaw.(*routeapi.Route) inputObj.Spec.Host = host err = admitter.HandleRoute(watch.Modified, inputObj) if expectUpdate { now := nowFn() var nowTime *time.Time if !conflict { nowTime = &now.Time } return checkResult(t, err, c, admitter, inputObj.Spec.Host, now, nowTime, 0, 0) } else { if err != nil { t.Fatalf("unexpected error: %v", err) } // expect the last HandleRoute not to have performed any actions if len(c.Actions()) != 0 { t.Fatalf("unexpected actions: %#v", c) } return nil } }