@@ -52,6 +52,49 @@ func Test_conditions_entries(t *testing.T) {
52
52
},
53
53
},
54
54
},
55
+ {
56
+ name : "Condition array is always sorted by type" ,
57
+ fields : fields {entryMap : map [configv1.ClusterStatusConditionType ]configv1.ClusterOperatorStatusCondition {
58
+ configv1 .OperatorProgressing : {
59
+ Type : configv1 .OperatorProgressing ,
60
+ Status : configv1 .ConditionUnknown ,
61
+ LastTransitionTime : time ,
62
+ Reason : "" ,
63
+ },
64
+ configv1 .OperatorAvailable : {
65
+ Type : configv1 .OperatorAvailable ,
66
+ Status : configv1 .ConditionUnknown ,
67
+ LastTransitionTime : time ,
68
+ Reason : "" ,
69
+ },
70
+ configv1 .OperatorDegraded : {
71
+ Type : configv1 .OperatorDegraded ,
72
+ Status : configv1 .ConditionUnknown ,
73
+ LastTransitionTime : time ,
74
+ Reason : "" ,
75
+ },
76
+ }},
77
+ want : []configv1.ClusterOperatorStatusCondition {
78
+ {
79
+ Type : configv1 .OperatorAvailable ,
80
+ Status : configv1 .ConditionUnknown ,
81
+ LastTransitionTime : time ,
82
+ Reason : "" ,
83
+ },
84
+ {
85
+ Type : configv1 .OperatorDegraded ,
86
+ Status : configv1 .ConditionUnknown ,
87
+ LastTransitionTime : time ,
88
+ Reason : "" ,
89
+ },
90
+ {
91
+ Type : configv1 .OperatorProgressing ,
92
+ Status : configv1 .ConditionUnknown ,
93
+ LastTransitionTime : time ,
94
+ Reason : "" ,
95
+ },
96
+ },
97
+ },
55
98
}
56
99
for _ , tt := range tests {
57
100
t .Run (tt .name , func (t * testing.T ) {
@@ -60,6 +103,9 @@ func Test_conditions_entries(t *testing.T) {
60
103
}
61
104
got := c .entries ()
62
105
assert .ElementsMatchf (t , got , tt .want , "entries() = %v, want %v" , got , tt .want )
106
+ for i , expected := range tt .want {
107
+ assert .Equal (t , expected , got [i ])
108
+ }
63
109
})
64
110
}
65
111
}
0 commit comments