Skip to content

Commit ac30b6a

Browse files
authored
Merge pull request kubernetes#121900 from carlory/rc-registry-test
rc registry: add unit test for UpdateStatus
2 parents de7d9a9 + 98353f1 commit ac30b6a

File tree

1 file changed

+27
-1
lines changed

1 file changed

+27
-1
lines changed

pkg/registry/core/replicationcontroller/storage/storage_test.go

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,33 @@ func TestWatch(t *testing.T) {
259259
)
260260
}
261261

262-
//TODO TestUpdateStatus
262+
func TestUpdateStatus(t *testing.T) {
263+
storage, server := newStorage(t)
264+
defer server.Terminate(t)
265+
defer storage.Controller.Store.Destroy()
266+
267+
ctx := genericapirequest.WithNamespace(genericapirequest.NewContext(), namespace)
268+
rcStart, err := createController(storage.Controller, *validController, t)
269+
if err != nil {
270+
t.Fatalf("error setting new replication controller %v: %v", *validController, err)
271+
}
272+
273+
rc := rcStart.DeepCopy()
274+
rc.Status.Replicas++
275+
_, _, err = storage.Status.Update(ctx, rc.Name, rest.DefaultUpdatedObjectInfo(rc), rest.ValidateAllObjectFunc, rest.ValidateAllObjectUpdateFunc, false, &metav1.UpdateOptions{})
276+
if err != nil {
277+
t.Fatalf("Unexpected error: %v", err)
278+
}
279+
obj, err := storage.Status.Get(ctx, rc.Name, &metav1.GetOptions{})
280+
if err != nil {
281+
t.Errorf("unexpected error: %v", err)
282+
}
283+
rcGot := obj.(*api.ReplicationController)
284+
// only compare relevant changes b/c of difference in metadata
285+
if !apiequality.Semantic.DeepEqual(rc.Status, rcGot.Status) {
286+
t.Errorf("unexpected object: %s", cmp.Diff(rc.Status, rcGot.Status))
287+
}
288+
}
263289

264290
func TestScaleGet(t *testing.T) {
265291
storage, server := newStorage(t)

0 commit comments

Comments
 (0)