AI Gateway Go 0.10.0 源码快照 + 旗舰版需求规划报告

M0-M7 已完成:核心网关(身份/RBAC/TOTP/OIDC/SAML/Provider/配额/路由/内容策略/审计/定价)+ 资源市场(MCP/Skills/数字员工)。
含 22 个 PostgreSQL 迁移、管理端/门户端前端源码、OpenAPI 契约、部署 compose。

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
ben
2026-08-12 11:45:54 +08:00
commit 5759c1862e
807 changed files with 114727 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
package identity
import "testing"
func TestRoleAndDirectPermissionsAreMerged(t *testing.T) {
account := Account{Role: "auditor", Permissions: []string{PermissionProviderManage}}
if !HasPermission(account, PermissionProviderRead) || !HasPermission(account, PermissionProviderManage) {
t.Fatal("expected role and direct permissions to be merged")
}
if HasPermission(account, PermissionIdentityManage) {
t.Fatal("unexpected identity management permission")
}
}
func TestSuperadminWildcard(t *testing.T) {
if !HasPermission(Account{Role: "superadmin"}, "future_resource:future_action") {
t.Fatal("superadmin wildcard must cover future permissions")
}
}
func TestNormalizePermissions(t *testing.T) {
permissions, err := normalizePermissions([]string{"provider:read", " provider:read ", "future.feature:execute"})
if err != nil || len(permissions) != 2 {
t.Fatalf("unexpected normalized permissions: %#v, %v", permissions, err)
}
if _, err := normalizePermissions([]string{"INVALID PERMISSION"}); err == nil {
t.Fatal("expected invalid permission to be rejected")
}
}