Files
ITWorx-Pulse-Public/internal/service/topology_reverseproxy_test.go
T
ITWorx Pulse release export bd774932d5
Public source validation / validate (push) Failing after 3m8s
Publish ITWorx Pulse source
2026-09-03 02:09:19 +02:00

23 lines
899 B
Go

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])
}
}