Files
GL/interface/grpc/authority_test.go
T
nfel 88e227f80c
CI/CD Stage / stage (push) Failing after 1m12s
feat(gl): add standalone ledger authority mode
2026-10-06 22:40:07 +03:30

34 lines
1.1 KiB
Go

package grpcadapter
import (
"context"
ledgerv1 "gl/gen/ledger/v1"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/metadata"
"google.golang.org/grpc/status"
"testing"
)
func TestAuthorityCommandsRequireOneConfiguredAdministrativeToken(t *testing.T) {
for _, tc := range []struct {
name, configured string
tokens []string
}{
{"unconfigured", "", []string{"token"}},
{"missing", "token", nil},
{"wrong", "token", []string{"wrong"}},
{"duplicate", "token", []string{"token", "token"}},
} {
t.Run(tc.name, func(t *testing.T) {
handler := NewHandler(nil, nil).WithSettlementAdminToken(tc.configured)
ctx := metadata.NewIncomingContext(context.Background(), metadata.MD{"x-admin-token": tc.tokens})
if _, err := handler.SetOperatingMode(ctx, &ledgerv1.SetOperatingModeRequest{}); status.Code(err) != codes.PermissionDenied {
t.Fatalf("toggle: %v", err)
}
if _, err := handler.PostInternalJournal(ctx, &ledgerv1.AppendJournalRequest{}); status.Code(err) != codes.PermissionDenied {
t.Fatalf("internal posting: %v", err)
}
})
}
}