@@ -3,6 +3,7 @@ package status_test
3
3
import (
4
4
"time"
5
5
6
+ "github.com/awslabs/operatorpkg/status"
6
7
. "github.com/onsi/ginkgo/v2"
7
8
. "github.com/onsi/gomega"
8
9
@@ -140,4 +141,27 @@ var _ = Describe("Conditions", func() {
140
141
Expect (testObject .StatusConditions ().IsTrue (ConditionTypeFoo , ConditionTypeBaz )).To (BeTrue ())
141
142
Expect (testObject .StatusConditions ().IsTrue (ConditionTypeFoo , ConditionTypeBar , ConditionTypeBaz )).To (BeTrue ())
142
143
})
144
+ It ("should sort status conditions" , func () {
145
+ testObject := TestObject {}
146
+ // Ready condition should be at the end
147
+ Expect (testObject .StatusConditions ().List ()[len (testObject .StatusConditions ().List ())- 1 ].Type ).To (Equal (status .ConditionReady ))
148
+
149
+ testObject .StatusConditions ().SetTrue (ConditionTypeFoo )
150
+ // Ready condition should be last with Foo condition second to last since it was recently updated
151
+ Expect (testObject .StatusConditions ().List ()[len (testObject .StatusConditions ().List ())- 1 ].Type ).To (Equal (status .ConditionReady ))
152
+ Expect (testObject .StatusConditions ().List ()[len (testObject .StatusConditions ().List ())- 2 ].Type ).To (Equal (ConditionTypeFoo ))
153
+
154
+ testObject .StatusConditions ().SetTrue (ConditionTypeBar )
155
+ // Ready condition should be last with Bar condition second to last since it was recently updated and Foo condition third to last
156
+ Expect (testObject .StatusConditions ().List ()[len (testObject .StatusConditions ().List ())- 1 ].Type ).To (Equal (status .ConditionReady ))
157
+ Expect (testObject .StatusConditions ().List ()[len (testObject .StatusConditions ().List ())- 2 ].Type ).To (Equal (ConditionTypeBar ))
158
+ Expect (testObject .StatusConditions ().List ()[len (testObject .StatusConditions ().List ())- 3 ].Type ).To (Equal (ConditionTypeFoo ))
159
+
160
+ testObject .StatusConditions ().SetTrue (ConditionTypeBaz )
161
+ // Ready condition should be last with Bar condition second to last since it was recently updated, Bar condition third to last, and Foo condition at the top
162
+ Expect (testObject .StatusConditions ().List ()[len (testObject .StatusConditions ().List ())- 1 ].Type ).To (Equal (status .ConditionReady ))
163
+ Expect (testObject .StatusConditions ().List ()[len (testObject .StatusConditions ().List ())- 2 ].Type ).To (Equal (ConditionTypeBaz ))
164
+ Expect (testObject .StatusConditions ().List ()[len (testObject .StatusConditions ().List ())- 3 ].Type ).To (Equal (ConditionTypeBar ))
165
+ Expect (testObject .StatusConditions ().List ()[len (testObject .StatusConditions ().List ())- 4 ].Type ).To (Equal (ConditionTypeFoo ))
166
+ })
143
167
})
0 commit comments