Skip to content

Commit c4864b2

Browse files
test: OCIRepositoryAdapter GetHealthiness
1 parent e188f14 commit c4864b2

File tree

1 file changed

+91
-0
lines changed

1 file changed

+91
-0
lines changed

pkg/juggler/fluxcd/flux_sources_test.go

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,3 +193,94 @@ func TestGitRepositoryAdapter_GetHealthiness(t *testing.T) {
193193
})
194194
}
195195
}
196+
197+
func TestOCIRepositoryAdapter_GetHealthiness(t *testing.T) {
198+
tests := []struct {
199+
name string
200+
adapter OCIRepositoryAdapter
201+
expected juggler.ResourceHealthiness
202+
}{
203+
{
204+
name: "OCIRepositoryAdapter - Status Condition nil - Ready condition not present",
205+
adapter: OCIRepositoryAdapter{
206+
Source: &sourcev1.OCIRepository{
207+
Status: sourcev1.OCIRepositoryStatus{
208+
Conditions: nil,
209+
},
210+
},
211+
},
212+
expected: juggler.ResourceHealthiness{
213+
Healthy: false,
214+
Message: msgReadyNotPresent,
215+
},
216+
},
217+
{
218+
name: "OCIRepositoryAdapter - Status Condition Ready not found",
219+
adapter: OCIRepositoryAdapter{
220+
Source: &sourcev1.OCIRepository{
221+
Status: sourcev1.OCIRepositoryStatus{
222+
Conditions: []metav1.Condition{
223+
{
224+
Type: "NotReady", // can not be found
225+
Status: metav1.ConditionTrue,
226+
Message: "The release is ready",
227+
},
228+
},
229+
},
230+
},
231+
},
232+
expected: juggler.ResourceHealthiness{
233+
Healthy: false,
234+
Message: msgReadyNotPresent,
235+
},
236+
},
237+
{
238+
name: "OCIRepositoryAdapter - Status Condition Ready = True",
239+
adapter: OCIRepositoryAdapter{
240+
Source: &sourcev1.OCIRepository{
241+
Status: sourcev1.OCIRepositoryStatus{
242+
Conditions: []metav1.Condition{
243+
{
244+
Type: fluxmeta.ReadyCondition,
245+
Status: metav1.ConditionTrue,
246+
Message: "The release is ready",
247+
},
248+
},
249+
},
250+
},
251+
},
252+
expected: juggler.ResourceHealthiness{
253+
Healthy: true,
254+
Message: "The release is ready",
255+
},
256+
},
257+
{
258+
name: "OCIRepositoryAdapter - Status Condition Ready = False",
259+
adapter: OCIRepositoryAdapter{
260+
Source: &sourcev1.OCIRepository{
261+
Status: sourcev1.OCIRepositoryStatus{
262+
Conditions: []metav1.Condition{
263+
{
264+
Type: fluxmeta.ReadyCondition,
265+
Status: metav1.ConditionFalse,
266+
Message: "The release is not ready",
267+
},
268+
},
269+
},
270+
},
271+
},
272+
expected: juggler.ResourceHealthiness{
273+
Healthy: false,
274+
Message: "The release is not ready",
275+
},
276+
},
277+
}
278+
for _, tt := range tests {
279+
t.Run(tt.name, func(t *testing.T) {
280+
actual := tt.adapter.GetHealthiness()
281+
if !assert.Equal(t, tt.expected, actual) {
282+
t.Errorf("OCIRepositoryAdapter.GetHealthiness() = %v, want %v", actual, tt.expected)
283+
}
284+
})
285+
}
286+
}

0 commit comments

Comments
 (0)