@@ -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