chore: establish local platform baseline

This commit is contained in:
Codex Local
2026-08-26 06:41:54 +08:00
commit 29bdf4900f
575 changed files with 95644 additions and 0 deletions
+35
View File
@@ -0,0 +1,35 @@
package identity
import "testing"
func TestRoleCapabilityMatrix(t *testing.T) {
tests := []struct {
role Role
capability Capability
allowed bool
}{
{RoleOwner, CapabilityMemberManage, true},
{RoleAdmin, CapabilityMemberManage, true},
{RoleEditor, CapabilityMemberManage, false},
{RoleViewer, CapabilitySubjectWrite, false},
{RoleViewer, CapabilityConversationRead, true},
{RoleAdmin, CapabilityOwnershipTransfer, false},
{RoleOwner, CapabilityPrivacyManage, true},
{RoleAdmin, CapabilityPrivacyRead, true},
{RoleAdmin, CapabilityPrivacyManage, false},
{RoleEditor, CapabilityPrivacyRead, false},
}
for _, test := range tests {
if actual := Can(test.role, test.capability); actual != test.allowed {
t.Errorf("Can(%s, %s) = %t, want %t", test.role, test.capability, actual, test.allowed)
}
}
}
func TestHouseholdRoleNeverGrantsRecordingAccess(t *testing.T) {
for _, role := range []Role{RoleOwner, RoleAdmin, RoleEditor, RoleViewer} {
if Can(role, CapabilityRecordingPlay) || Can(role, CapabilityRecordingDownload) {
t.Fatalf("role %s must not implicitly grant recording access", role)
}
}
}