diff --git a/pkg/registry/core/replicationcontroller/storage/storage_test.go b/pkg/registry/core/replicationcontroller/storage/storage_test.go index e6b3934537d..b7312a3860c 100644 --- a/pkg/registry/core/replicationcontroller/storage/storage_test.go +++ b/pkg/registry/core/replicationcontroller/storage/storage_test.go @@ -259,7 +259,33 @@ func TestWatch(t *testing.T) { ) } -//TODO TestUpdateStatus +func TestUpdateStatus(t *testing.T) { + storage, server := newStorage(t) + defer server.Terminate(t) + defer storage.Controller.Store.Destroy() + + ctx := genericapirequest.WithNamespace(genericapirequest.NewContext(), namespace) + rcStart, err := createController(storage.Controller, *validController, t) + if err != nil { + t.Fatalf("error setting new replication controller %v: %v", *validController, err) + } + + rc := rcStart.DeepCopy() + rc.Status.Replicas++ + _, _, err = storage.Status.Update(ctx, rc.Name, rest.DefaultUpdatedObjectInfo(rc), rest.ValidateAllObjectFunc, rest.ValidateAllObjectUpdateFunc, false, &metav1.UpdateOptions{}) + if err != nil { + t.Fatalf("Unexpected error: %v", err) + } + obj, err := storage.Status.Get(ctx, rc.Name, &metav1.GetOptions{}) + if err != nil { + t.Errorf("unexpected error: %v", err) + } + rcGot := obj.(*api.ReplicationController) + // only compare relevant changes b/c of difference in metadata + if !apiequality.Semantic.DeepEqual(rc.Status, rcGot.Status) { + t.Errorf("unexpected object: %s", cmp.Diff(rc.Status, rcGot.Status)) + } +} func TestScaleGet(t *testing.T) { storage, server := newStorage(t)