Files
AetherForge/agent/config/fleet_role_test.go
AetherForge 7b2d41cda8
Some checks failed
CI Docker Mining Proof / Linux agent hashrate proof (push) Has been cancelled
Expand P2 test coverage: mining chain, spread lanes, path forge, WS/beacon, E2E onion, file handling
2026-06-07 04:58:55 -07:00

54 lines
1.4 KiB
Go

package config
import "testing"
func TestNormalizeFleetRole(t *testing.T) {
if NormalizeFleetRole("SEEDER") != FleetRoleSeeder {
t.Fatal("seeder")
}
if NormalizeFleetRole("miner") != FleetRoleMiner {
t.Fatal("miner")
}
if NormalizeFleetRole("") != FleetRoleAuto {
t.Fatal("auto default")
}
}
func TestEffectiveFleetRoleSeederMode(t *testing.T) {
cfg := RuntimeConfig{BuiltinConfig: BuiltinConfig{SeederMode: true}}
if cfg.EffectiveFleetRole("") != FleetRoleSeeder {
t.Fatalf("got %q", cfg.EffectiveFleetRole(""))
}
}
func TestEffectiveFleetRoleAutoHint(t *testing.T) {
cfg := RuntimeConfig{BuiltinConfig: BuiltinConfig{FleetRole: FleetRoleAuto}}
if cfg.EffectiveFleetRole(FleetRoleSeeder) != FleetRoleSeeder {
t.Fatal("hint seeder")
}
if cfg.EffectiveFleetRole(FleetRoleMiner) != FleetRoleMiner {
t.Fatal("hint miner")
}
if cfg.EffectiveFleetRole("") != FleetRoleMiner {
t.Fatal("auto defaults miner")
}
}
func TestFilterSeederLotlTiers(t *testing.T) {
got := FilterSeederLotlTiers([]string{"smb", "dns_txt", "winrm", "do_peer"})
if len(got) != 2 || got[0] != "dns_txt" || got[1] != "do_peer" {
t.Fatalf("got %v", got)
}
}
func TestApplySeederForgeDefaults(t *testing.T) {
b := BuiltinConfig{}
ApplySeederForgeDefaults(&b)
if !b.SeederMode || b.FleetRole != FleetRoleSeeder || !b.MiningDisabled {
t.Fatalf("seeder defaults: %+v", b)
}
if !b.DnsTxtSpread || !b.WebRTCMeshSpread || b.WinRMSpread {
t.Fatalf("spread flags: %+v", b)
}
}