From 6bf30bc6b5d7bedc285806700ed6a4e342055bbb Mon Sep 17 00:00:00 2001 From: Joshua Casey Date: Wed, 7 Aug 2024 10:20:35 -0500 Subject: [PATCH] Backfill test for existing exported function HadErrorCondition --- .../conditionsutil/conditions_util_test.go | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/internal/controller/conditionsutil/conditions_util_test.go b/internal/controller/conditionsutil/conditions_util_test.go index b3c473287..f5402286d 100644 --- a/internal/controller/conditionsutil/conditions_util_test.go +++ b/internal/controller/conditionsutil/conditions_util_test.go @@ -188,3 +188,77 @@ func TestMergeIDPConditions(t *testing.T) { }) } } + +func TestHadErrorCondition(t *testing.T) { + tests := []struct { + name string + conditions []*metav1.Condition + wantResult bool + }{ + { + name: "Returns false when all conditions have status true", + conditions: []*metav1.Condition{ + { + Status: metav1.ConditionTrue, + }, + { + Status: metav1.ConditionTrue, + }, + }, + wantResult: false, + }, + { + name: "Returns false when input is nil", + conditions: nil, + wantResult: false, + }, + { + name: "Returns false when input is empty", + conditions: []*metav1.Condition{}, + wantResult: false, + }, + { + name: "Returns true when any condition has status unknown", + conditions: []*metav1.Condition{ + { + Status: metav1.ConditionTrue, + }, + { + Status: metav1.ConditionUnknown, + }, + }, + wantResult: true, + }, + { + name: "Returns true when any condition has status false", + conditions: []*metav1.Condition{ + { + Status: metav1.ConditionTrue, + }, + { + Status: metav1.ConditionFalse, + }, + }, + wantResult: true, + }, + { + name: "Returns true when any condition has invalid status", + conditions: []*metav1.Condition{ + { + Status: metav1.ConditionTrue, + }, + { + Status: "not a valid status", + }, + }, + wantResult: true, + }, + } + + for _, test := range tests { + t.Run(test.name, func(t *testing.T) { + actual := HadErrorCondition(test.conditions) + require.Equal(t, test.wantResult, actual) + }) + } +}