package clearance import ( "testing" ) func TestL2AgentCannotExecShellWithoutElevation(t *testing.T) { const agentClearance = L2 cases := []struct { cmdType string args map[string]interface{} }{ {"exec_shell", nil}, {"agent_command", map[string]interface{}{"action": "exec"}}, {"agent_command", map[string]interface{}{"action": "powershell"}}, } for _, tc := range cases { if err := EnforceClearance(tc.cmdType, tc.args, agentClearance); err == nil { t.Fatalf("expected clearance error for %s %+v at L2", tc.cmdType, tc.args) } } if err := EnforceClearance("discover_and_join", nil, agentClearance); err != nil { t.Fatalf("L2 should allow spread: %v", err) } if err := EnforceAction("exec", agentClearance); err == nil { t.Fatal("L2 should block exec action") } if err := EnforceAction("pause", agentClearance); err != nil { t.Fatalf("L2 should allow pause: %v", err) } } func TestCommandRequiredLevels(t *testing.T) { if CommandRequiredLevel("restart_mining", nil) != L1 { t.Fatal("restart_mining should be L1") } if CommandRequiredLevel("spread_now", nil) != L2 { t.Fatal("spread_now should be L2") } if CommandRequiredLevel("set_agent_version", nil) != L4 { t.Fatal("set_agent_version should be L4") } }