package agent import ( "testing" "github.com/example/remote-access-platform/agents/rap-node-agent/internal/state" ) func TestEnrollmentPayloadDoesNotRequestRolesByDefault(t *testing.T) { payload := EnrollmentPayload("cluster-1", "join-token", state.Identity{ NodeName: "node-a", NodeFingerprint: "fp", PublicKey: "pub", }) if payload.ClusterID != "cluster-1" || payload.JoinToken != "join-token" { t.Fatalf("unexpected enrollment payload: %+v", payload) } if len(payload.RequestedRoles) != 0 { t.Fatalf("agent must not self-assign roles: %+v", payload.RequestedRoles) } if payload.ReportedCapabilities["can_run_rdp_worker"] != true { t.Fatalf("expected rdp capability in MVP payload: %+v", payload.ReportedCapabilities) } } func TestHeartbeatPayloadIsStatusOnly(t *testing.T) { payload := HeartbeatPayload() if payload.HealthStatus != "healthy" { t.Fatalf("HealthStatus = %q", payload.HealthStatus) } if payload.ServiceStates["workload_supervision"] == "running" { t.Fatal("C3 must not pretend workload supervision is implemented") } } func TestMeshSelfObservationDoesNotEnableTrafficForwarding(t *testing.T) { payload := MeshSelfObservationPayload(state.Identity{NodeID: "node-1"}) if payload.SourceNodeID != "node-1" || payload.TargetNodeID != "node-1" { t.Fatalf("unexpected mesh self observation payload: %+v", payload) } if payload.Metadata["traffic_forwarding"] != false { t.Fatalf("traffic forwarding must stay disabled in C6: %+v", payload.Metadata) } }