51 lines
1.4 KiB
C#
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 _));
|
|
}
|
|
}
|