feat: 接通 PostgreSQL 角色与数据库创建闭环
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
package v1alpha1_test
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
databasev1alpha1 "git.ddupan.top/panxiao81/ayatori/api/database/v1alpha1"
|
||||
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||
"sigs.k8s.io/controller-runtime/pkg/client"
|
||||
)
|
||||
|
||||
func testResourceStatus(t *testing.T, api client.Client) {
|
||||
object := validDatabase("resource-status")
|
||||
if err := api.Create(t.Context(), object); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
invalid := object.DeepCopy()
|
||||
invalid.Status.RoleOID = 11
|
||||
if err := api.Status().Update(t.Context(), invalid); !apierrors.IsInvalid(err) {
|
||||
t.Fatal("无凭据不能确认角色", err)
|
||||
}
|
||||
object.Status.InstanceUID = "instance-uid"
|
||||
object.Status.CredentialRef = &databasev1alpha1.CredentialReference{Mount: "application-secrets", Path: "applications/test"}
|
||||
object.Status.CredentialVersion = 1
|
||||
object.Status.RoleOID, object.Status.DatabaseOID = 11, 22
|
||||
if err := api.Status().Update(t.Context(), object); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
for _, change := range []func(*databasev1alpha1.PostgreSQLDatabase){
|
||||
func(d *databasev1alpha1.PostgreSQLDatabase) { d.Status.RoleOID = 0 },
|
||||
func(d *databasev1alpha1.PostgreSQLDatabase) { d.Status.RoleOID = 12 },
|
||||
func(d *databasev1alpha1.PostgreSQLDatabase) { d.Status.DatabaseOID = 0 },
|
||||
func(d *databasev1alpha1.PostgreSQLDatabase) { d.Status.DatabaseOID = 23 },
|
||||
} {
|
||||
invalid = object.DeepCopy()
|
||||
change(invalid)
|
||||
if err := api.Status().Update(t.Context(), invalid); !apierrors.IsInvalid(err) {
|
||||
t.Fatal("已确认 OID 不得覆盖或移除", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user