45 lines
1.5 KiB
Go
45 lines
1.5 KiB
Go
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)
|
|
}
|
|
}
|