Move 39 monitoring, events, and system endpoint test files from NATS.Server.Tests into a dedicated NATS.Server.Monitoring.Tests project. Update namespaces, replace private GetFreePort/ReadUntilAsync with TestUtilities shared helpers, add InternalsVisibleTo, and register in the solution file. All 439 tests pass.
19 lines
705 B
C#
19 lines
705 B
C#
using System.Text.Json;
|
|
|
|
namespace NATS.Server.Monitoring.Tests.Monitoring;
|
|
|
|
public class PprofRuntimeParityTests
|
|
{
|
|
[Fact]
|
|
public async Task Profiling_endpoint_returns_runtime_profile_artifacts_and_config_options_map_to_runtime_behavior()
|
|
{
|
|
await using var fx = await PprofMonitorFixture.StartWithProfilingAsync();
|
|
var payload = await fx.GetBytesAsync("/debug/pprof/profile?seconds=2");
|
|
var doc = JsonDocument.Parse(payload);
|
|
|
|
doc.RootElement.GetProperty("profile").GetString().ShouldBe("cpu");
|
|
doc.RootElement.GetProperty("seconds").GetInt32().ShouldBe(2);
|
|
doc.RootElement.GetProperty("thread_count").GetInt32().ShouldBeGreaterThan(0);
|
|
}
|
|
}
|