Files
xuanzhi-service/server/source/system/casbin_test.go
wdh-home 1e33640629
Some checks failed
CI / init (pull_request) Has been cancelled
CI / Frontend node 18.16.0 (pull_request) Has been cancelled
CI / Backend go (1.22) (pull_request) Has been cancelled
CI / release-pr (pull_request) Has been cancelled
CI / devops-test (1.22, 18.16.0) (pull_request) Has been cancelled
CI / release-please (pull_request) Has been cancelled
CI / devops-prod (1.22, 18.x) (pull_request) Has been cancelled
CI / docker (pull_request) Has been cancelled
基础项目
2026-04-26 15:32:21 +08:00

31 lines
909 B
Go

package system
import (
"context"
"testing"
adapter "github.com/casbin/gorm-adapter/v3"
"github.com/glebarez/sqlite"
"github.com/stretchr/testify/require"
"gorm.io/gorm"
)
func TestInitCasbinIncludesApiRoleManagementPolicies(t *testing.T) {
db, err := gorm.Open(sqlite.Open(":memory:"), &gorm.Config{})
require.NoError(t, err)
require.NoError(t, db.AutoMigrate(&adapter.CasbinRule{}))
_, err = (&initCasbin{}).InitializeData(context.WithValue(context.Background(), "db", db))
require.NoError(t, err)
requiredPolicies := []adapter.CasbinRule{
{Ptype: "p", V0: "888", V1: "/api/getApiRoles", V2: "GET"},
{Ptype: "p", V0: "888", V1: "/api/setApiRoles", V2: "POST"},
}
for _, policy := range requiredPolicies {
var count int64
require.NoError(t, db.Model(&adapter.CasbinRule{}).Where(policy).Count(&count).Error)
require.Equalf(t, int64(1), count, "missing policy: %+v", policy)
}
}