Files
git.stella-ops.org/src/__Libraries/__Tests/StellaOps.TestKit.Tests/LongevityTests.StabilityMetrics.cs

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