56 lines
1.4 KiB
C#
56 lines
1.4 KiB
C#
using FluentAssertions;
|
|
using StellaOps.TestKit.Longevity;
|
|
using Xunit;
|
|
|
|
namespace StellaOps.TestKit.Tests;
|
|
|
|
public sealed partial class LongevityTests
|
|
{
|
|
[Fact]
|
|
public void StabilityMetrics_CaptureBaseline_SetsBaseline()
|
|
{
|
|
var metrics = new StabilityMetrics();
|
|
|
|
metrics.CaptureBaseline();
|
|
|
|
metrics.MemoryBaseline.Should().BeGreaterThan(0);
|
|
metrics.Snapshots.Should().HaveCount(1);
|
|
}
|
|
|
|
[Fact]
|
|
public void StabilityMetrics_CaptureSnapshot_AddsSnapshot()
|
|
{
|
|
var metrics = new StabilityMetrics();
|
|
metrics.CaptureBaseline();
|
|
|
|
metrics.CaptureSnapshot();
|
|
metrics.CaptureSnapshot();
|
|
|
|
metrics.Snapshots.Should().HaveCount(3);
|
|
}
|
|
|
|
[Fact]
|
|
public void StabilityMetrics_RecordCounter_StoresValue()
|
|
{
|
|
var metrics = new StabilityMetrics();
|
|
metrics.CaptureBaseline();
|
|
|
|
metrics.RecordCounter("requests_total", 100);
|
|
|
|
metrics.CounterValues.Should().ContainKey("requests_total");
|
|
metrics.CounterValues["requests_total"].Should().Be(100);
|
|
}
|
|
|
|
[Fact]
|
|
public void StabilityMetrics_RecordConnectionPool_StoresValues()
|
|
{
|
|
var metrics = new StabilityMetrics();
|
|
metrics.CaptureBaseline();
|
|
|
|
metrics.RecordConnectionPool(active: 5, leaked: 1);
|
|
|
|
metrics.ConnectionPoolActive.Should().Be(5);
|
|
metrics.ConnectionPoolLeaked.Should().Be(1);
|
|
}
|
|
}
|