package service import ( "testing" "time" "github.com/itworx/pulse/internal/reverseproxy" ) func TestBuildTopologyWithRoutesPreservesRouteSourceAndConfirmedOverride(t *testing.T) { now := time.Date(2026, 8, 2, 12, 0, 0, 0, time.UTC) topology, err := BuildTopologyWithRoutes(Snapshot{ObservedAt: now, Services: []ServiceStatus{{ID: "svc-a", Name: "API", State: StateUp}}}, nil, []reverseproxy.Route{{ID: "host-1", URL: "https://pulse.example.test", SourceID: "npm", TargetServiceID: "svc-a", Enabled: true, Overridden: true}}, 10, 10) if err != nil { t.Fatal(err) } if len(topology.Nodes) != 2 || len(topology.Edges) != 1 { t.Fatalf("unexpected route topology: %+v", topology) } if topology.Edges[0].SourceID != "npm" || !topology.Edges[0].Confirmed || topology.Edges[0].RelationType != RelationExposes { t.Fatalf("route provenance was not preserved: %+v", topology.Edges[0]) } }