Files
Omika/tests/Omika.Tests/Observability/Correlation/CorrelationHeadersTests.cs
T
2026-10-23 18:46:50 +02:00

51 lines
1.4 KiB
C#

using Omika.Core.Observability.Diagnostic;
namespace Omika.Tests.Observability.Correlation;
public class CorrelationHeadersTests
{
[Fact]
public void Headers_HaveExpectedNames()
{
Assert.Equal("X-Omika-TraceId", CorrelationHeaders.TraceId);
Assert.Equal("X-Omika-SessionId", CorrelationHeaders.SessionId);
}
[Fact]
public void TryParseTraceId_ValidGuid_ReturnsTrue()
{
Guid guid = Guid.NewGuid();
Assert.True(CorrelationHeaders.TryParseTraceId(guid.ToString("D"), out Guid parsed));
Assert.Equal(guid, parsed);
}
[Theory]
[InlineData("INVALID")]
[InlineData("")]
[InlineData(" ")]
[InlineData("2ddc12ae")]
[InlineData("not-a-guid")]
[InlineData("2ddc12ae-4f1b-4c3a-zzzz-123456789012")]
[InlineData(null)]
public void TryParseTraceId_Invalid_ReturnsFalse(string? value)
{
Assert.False(CorrelationHeaders.TryParseTraceId(value, out _));
}
[Fact]
public void TryParseSessionId_ValidGuid_ReturnsTrue()
{
Guid guid = Guid.NewGuid();
Assert.True(CorrelationHeaders.TryParseSessionId(guid.ToString("D"), out Guid parsed));
Assert.Equal(guid, parsed);
}
[Theory]
[InlineData("INVALID")]
[InlineData(null)]
public void TryParseSessionId_Invalid_ReturnsFalse(string? value)
{
Assert.False(CorrelationHeaders.TryParseSessionId(value, out _));
}
}