2025-02-27 13:14:23 +01:00
|
|
|
package v1alpha1
|
|
|
|
|
|
|
|
import (
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
"k8s.io/apimachinery/pkg/api/meta"
|
|
|
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
|
|
|
"k8s.io/utils/ptr"
|
|
|
|
)
|
|
|
|
|
|
|
|
func TestPolicyStatus_IsReady(t *testing.T) {
|
|
|
|
tests := []struct {
|
|
|
|
name string
|
2025-03-15 07:59:19 +08:00
|
|
|
status VpolStatus
|
2025-02-27 13:14:23 +01:00
|
|
|
want bool
|
|
|
|
}{{
|
|
|
|
name: "nil",
|
2025-03-15 07:59:19 +08:00
|
|
|
status: VpolStatus{},
|
2025-02-27 13:14:23 +01:00
|
|
|
want: false,
|
|
|
|
}, {
|
|
|
|
name: "true",
|
2025-03-15 07:59:19 +08:00
|
|
|
status: VpolStatus{
|
|
|
|
ConditionStatus: &ConditionStatus{
|
|
|
|
Ready: ptr.To(true),
|
|
|
|
},
|
2025-02-27 13:14:23 +01:00
|
|
|
},
|
|
|
|
want: true,
|
|
|
|
}, {
|
|
|
|
name: "false",
|
2025-03-15 07:59:19 +08:00
|
|
|
status: VpolStatus{
|
|
|
|
ConditionStatus: &ConditionStatus{
|
|
|
|
Ready: ptr.To(false),
|
|
|
|
},
|
2025-02-27 13:14:23 +01:00
|
|
|
},
|
|
|
|
want: false,
|
|
|
|
}}
|
|
|
|
for _, tt := range tests {
|
|
|
|
t.Run(tt.name, func(t *testing.T) {
|
2025-03-15 07:59:19 +08:00
|
|
|
got := tt.status.GetConditionStatus().IsReady()
|
2025-02-27 13:14:23 +01:00
|
|
|
assert.Equal(t, tt.want, got)
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestPolicyStatus_SetReadyByCondition_True(t *testing.T) {
|
2025-03-15 07:59:19 +08:00
|
|
|
var status ConditionStatus
|
2025-02-27 13:14:23 +01:00
|
|
|
status.SetReadyByCondition(PolicyConditionTypeWebhookConfigured, metav1.ConditionTrue, "dummy")
|
|
|
|
got := meta.FindStatusCondition(status.Conditions, string(PolicyConditionTypeWebhookConfigured))
|
|
|
|
assert.NotNil(t, got)
|
|
|
|
assert.Equal(t, string(PolicyConditionTypeWebhookConfigured), got.Type)
|
|
|
|
assert.Equal(t, metav1.ConditionTrue, got.Status)
|
|
|
|
assert.Equal(t, "Succeeded", got.Reason)
|
|
|
|
assert.Equal(t, "dummy", got.Message)
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestPolicyStatus_SetReadyByCondition_False(t *testing.T) {
|
2025-03-15 07:59:19 +08:00
|
|
|
var status ConditionStatus
|
2025-02-27 13:14:23 +01:00
|
|
|
status.SetReadyByCondition(PolicyConditionTypeWebhookConfigured, metav1.ConditionFalse, "dummy")
|
|
|
|
got := meta.FindStatusCondition(status.Conditions, string(PolicyConditionTypeWebhookConfigured))
|
|
|
|
assert.NotNil(t, got)
|
|
|
|
assert.Equal(t, string(PolicyConditionTypeWebhookConfigured), got.Type)
|
|
|
|
assert.Equal(t, metav1.ConditionFalse, got.Status)
|
|
|
|
assert.Equal(t, "Failed", got.Reason)
|
|
|
|
assert.Equal(t, "dummy", got.Message)
|
|
|
|
}
|