csharp-sdk/tests/ModelContextProtocol.Tests/Client/McpRequestHeadersTests.cs
Stephen Halter fd38f51e27
Tighten draft protocol negotiation boundaries (#1692)
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Tarek Mahmoud Sayed <tarekms@ntdev.microsoft.com>
2026-07-12 14:30:49 -07:00

36 lines
1.1 KiB
C#

using ModelContextProtocol.Protocol;
namespace ModelContextProtocol.Tests.Client;
public class McpRequestHeadersTests
{
[Fact]
public void McpHttpHeaders_HasCorrectValues()
{
Assert.Equal("Mcp-Session-Id", McpHttpHeaders.SessionId);
Assert.Equal("MCP-Protocol-Version", McpHttpHeaders.ProtocolVersion);
Assert.Equal("Last-Event-ID", McpHttpHeaders.LastEventId);
Assert.Equal("Mcp-Method", McpHttpHeaders.Method);
Assert.Equal("Mcp-Name", McpHttpHeaders.Name);
Assert.Equal("Mcp-Param-", McpHttpHeaders.ParamPrefix);
}
[Fact]
public void McpErrorCode_HeaderMismatch_HasCorrectValue()
{
Assert.Equal(-32020, (int)McpErrorCode.HeaderMismatch);
}
[Theory]
[InlineData("2026-07-28", true)]
[InlineData("2025-11-25", false)]
[InlineData("2025-06-18", false)]
[InlineData("2024-11-05", false)]
[InlineData(null, false)]
[InlineData("", false)]
public void RequiresStandardHeaders_ReturnsExpected(string? version, bool expected)
{
Assert.Equal(expected, McpProtocolVersions.RequiresStandardHeaders(version));
}
}