using Microsoft.Extensions.Logging.Abstractions;
using NATS.Server.Configuration;
using NATS.Server.Routes;

namespace NATS.Server.Clustering.Tests;

public class RouteTopologyGossipTests
{
    [Fact]
    public void Topology_snapshot_reports_server_and_route_counts()
    {
        var manager = new RouteManager(
            new ClusterOptions { Host = "127.0.0.1", Port = 0 },
            new ServerStats(),
            "S1",
            _ => { },
            _ => { },
            NullLogger<RouteManager>.Instance);

        var snapshot = manager.BuildTopologySnapshot();
        snapshot.ServerId.ShouldBe("S1");
        snapshot.RouteCount.ShouldBe(0);
        snapshot.ConnectedServerIds.ShouldBeEmpty();
    }
}
