go-crypt/trust/bench_test.go
Snider d6aa25c5bf refactor: apply go fix modernizers for Go 1.26
Automated fixes: interface{} → any, range-over-int, t.Context(),
wg.Go(), strings.SplitSeq, strings.Builder, slices.Contains,
maps helpers, min/max builtins.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-22 21:00:16 +00:00

69 lines
1.4 KiB
Go

package trust
import (
"fmt"
"testing"
)
// BenchmarkPolicyEvaluate measures policy evaluation across 100 registered agents.
func BenchmarkPolicyEvaluate(b *testing.B) {
r := NewRegistry()
for i := range 100 {
tier := TierUntrusted
switch i % 3 {
case 0:
tier = TierFull
case 1:
tier = TierVerified
}
_ = r.Register(Agent{
Name: fmt.Sprintf("agent-%d", i),
Tier: tier,
ScopedRepos: []string{"host-uk/core", "host-uk/docs"},
})
}
pe := NewPolicyEngine(r)
caps := []Capability{
CapPushRepo, CapCreatePR, CapMergePR, CapCommentIssue,
CapCreateIssue, CapReadSecrets, CapRunPrivileged,
CapAccessWorkspace, CapModifyFlows,
}
b.ResetTimer()
for i := 0; i < b.N; i++ {
agentName := fmt.Sprintf("agent-%d", i%100)
cap := caps[i%len(caps)]
_ = pe.Evaluate(agentName, cap, "host-uk/core")
}
}
// BenchmarkRegistryGet measures agent lookup performance.
func BenchmarkRegistryGet(b *testing.B) {
r := NewRegistry()
for i := range 100 {
_ = r.Register(Agent{
Name: fmt.Sprintf("agent-%d", i),
Tier: TierVerified,
})
}
b.ResetTimer()
for i := 0; i < b.N; i++ {
name := fmt.Sprintf("agent-%d", i%100)
_ = r.Get(name)
}
}
// BenchmarkRegistryRegister measures agent registration performance.
func BenchmarkRegistryRegister(b *testing.B) {
r := NewRegistry()
b.ResetTimer()
for i := 0; i < b.N; i++ {
_ = r.Register(Agent{
Name: fmt.Sprintf("bench-agent-%d", i),
Tier: TierVerified,
})
}
}