Some checks failed
CI Docker Mining Proof / Linux agent hashrate proof (push) Has been cancelled
Strain nodes replace host nodes in FleetTopologyMap; server queues epidemiology_fix on auth and reports interrupts to AI and Seer.
54 lines
1.4 KiB
Go
54 lines
1.4 KiB
Go
package strategy
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
)
|
|
|
|
func TestSpliceGraftGenomePrependsWinningTier(t *testing.T) {
|
|
graft := BuildGraftSourceFromAgent("src", "winner", "winrm", "#aabbcc", nil, 900)
|
|
order := SpliceGraftGenome([]string{"docker", "wsl", "gpo"}, graft)
|
|
if len(order) < 3 {
|
|
t.Fatalf("order too short: %v", order)
|
|
}
|
|
if order[0] != "winrm" {
|
|
t.Fatalf("winning tier should lead, got %v", order)
|
|
}
|
|
}
|
|
|
|
func TestGraftMetabolismGate(t *testing.T) {
|
|
if !GraftMetabolismGatePassed(100, 50) {
|
|
t.Fatal("expected pass above gate")
|
|
}
|
|
if GraftMetabolismGatePassed(10, 50) {
|
|
t.Fatal("expected fail below gate")
|
|
}
|
|
if !GraftMetabolismGatePassed(0, 0) {
|
|
t.Fatal("disabled gate should pass")
|
|
}
|
|
}
|
|
|
|
func TestBuildGraftPolicySplicesGenome(t *testing.T) {
|
|
graft := BuildGraftSourceFromAgent("a", "worker-07", "dns_txt", "#112233",
|
|
[]string{"dns_txt", "webrtc_mesh", "do_peer"}, 1200)
|
|
p := BuildGraftPolicy(graft, []string{"docker", "wsl"}, time.Date(2026, 6, 7, 12, 0, 0, 0, time.UTC))
|
|
if p.GraftTier != "dns_txt" || p.GraftSourceStrain != "#112233" {
|
|
t.Fatalf("graft fields: %+v", p)
|
|
}
|
|
if len(p.TierOrder) == 0 {
|
|
t.Fatal("expected spliced tier order")
|
|
}
|
|
if p.TierOrder[0] != "dns_txt" {
|
|
t.Fatalf("tier order = %v", p.TierOrder)
|
|
}
|
|
}
|
|
|
|
func TestGraftEnabledRequiresBothToggles(t *testing.T) {
|
|
if GraftEnabled(false, true) || GraftEnabled(true, false) {
|
|
t.Fatal("both toggles required")
|
|
}
|
|
if !GraftEnabled(true, true) {
|
|
t.Fatal("expected enabled")
|
|
}
|
|
}
|