File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -10,15 +10,6 @@ import (
1010 "gorm.io/datatypes"
1111)
1212
13- func isValidAdapterConditionStatus (status api.AdapterConditionStatus ) bool {
14- switch status {
15- case api .AdapterConditionTrue , api .AdapterConditionFalse , api .AdapterConditionUnknown :
16- return true
17- default :
18- return false
19- }
20- }
21-
2213// ConvertAdapterStatus converts openapi.AdapterStatusCreateRequest to api.AdapterStatus (GORM model)
2314func ConvertAdapterStatus (
2415 resourceType , resourceID string ,
@@ -95,7 +86,7 @@ func PresentAdapterStatus(adapterStatus *api.AdapterStatus) (openapi.AdapterStat
9586 // conditions with empty/invalid status (legacy data before validation was added).
9687 openapiConditions := make ([]openapi.AdapterCondition , 0 , len (conditions ))
9788 for _ , cond := range conditions {
98- if ! isValidAdapterConditionStatus ( cond .Status ) {
89+ if ! cond .Status . IsValid ( ) {
9990 continue
10091 }
10192 openapiConditions = append (openapiConditions , openapi.AdapterCondition {
Original file line number Diff line number Diff line change @@ -21,6 +21,11 @@ const (
2121 AdapterConditionUnknown AdapterConditionStatus = "Unknown"
2222)
2323
24+ // IsValid returns true if the status is one of the accepted enum values (True, False, Unknown).
25+ func (s AdapterConditionStatus ) IsValid () bool {
26+ return s == AdapterConditionTrue || s == AdapterConditionFalse || s == AdapterConditionUnknown
27+ }
28+
2429// Condition type constants
2530const (
2631 ConditionTypeAvailable = "Available"
Original file line number Diff line number Diff line change @@ -33,6 +33,19 @@ func TestAdapterConditionStatus_Constants(t *testing.T) {
3333 // which has "True", "False", and "Unknown" values
3434}
3535
36+ // TestAdapterConditionStatus_IsValid verifies that IsValid accepts valid statuses and rejects invalid ones
37+ func TestAdapterConditionStatus_IsValid (t * testing.T ) {
38+ RegisterTestingT (t )
39+
40+ Expect (AdapterConditionTrue .IsValid ()).To (BeTrue ())
41+ Expect (AdapterConditionFalse .IsValid ()).To (BeTrue ())
42+ Expect (AdapterConditionUnknown .IsValid ()).To (BeTrue ())
43+
44+ Expect (AdapterConditionStatus ("" ).IsValid ()).To (BeFalse ())
45+ Expect (AdapterConditionStatus ("garbage" ).IsValid ()).To (BeFalse ())
46+ Expect (AdapterConditionStatus ("true" ).IsValid ()).To (BeFalse ())
47+ }
48+
3649// TestAdapterConditionStatus_StringConversion tests type casting to/from string
3750func TestAdapterConditionStatus_StringConversion (t * testing.T ) {
3851 RegisterTestingT (t )
You can’t perform that action at this time.
0 commit comments