svrnty-mcp-gateway/tests/Svrnty.MCP.Gateway.Core.Tests/Models/GatewayRequestResponseTests.cs
Svrnty 19ef79362e refactor: rename OpenHarbor.MCP to Svrnty.MCP across all libraries
- Renamed all directories: OpenHarbor.MCP.* → Svrnty.MCP.*
- Updated all namespaces in 179 C# files
- Renamed 20 .csproj files and 3 .sln files
- Updated 193 documentation references
- Updated 33 references in main CODEX codebase
- Updated Codex.sln with new paths
- Build verified: 0 errors

Preparing for extraction to standalone repositories.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-22 21:04:17 -04:00

98 lines
2.5 KiB
C#

using Xunit;
using Svrnty.MCP.Gateway.Core.Models;
namespace Svrnty.MCP.Gateway.Core.Tests.Models;
/// <summary>
/// Unit tests for GatewayRequest and GatewayResponse models following TDD approach.
/// Tests request/response representation.
/// </summary>
public class GatewayRequestResponseTests
{
[Fact]
public void GatewayRequest_WithToolCall_CreatesSuccessfully()
{
// Arrange & Act
var request = new GatewayRequest
{
ToolName = "search_documents",
Arguments = new Dictionary<string, object>
{
{ "query", "architecture" },
{ "limit", 10 }
}
};
// Assert
Assert.Equal("search_documents", request.ToolName);
Assert.NotNull(request.Arguments);
Assert.Equal("architecture", request.Arguments["query"]);
Assert.Equal(10, request.Arguments["limit"]);
}
[Fact]
public void GatewayRequest_WithoutArguments_AllowsNull()
{
// Arrange & Act
var request = new GatewayRequest
{
ToolName = "list_tools"
};
// Assert
Assert.Equal("list_tools", request.ToolName);
Assert.Null(request.Arguments);
}
[Fact]
public void GatewayResponse_Success_CreatesSuccessfully()
{
// Arrange & Act
var response = new GatewayResponse
{
Success = true,
Result = new Dictionary<string, object>
{
{ "documents", new[] { "doc1", "doc2" } },
{ "count", 2 }
}
};
// Assert
Assert.True(response.Success);
Assert.NotNull(response.Result);
Assert.Equal(2, response.Result["count"]);
Assert.Null(response.Error);
}
[Fact]
public void GatewayResponse_Error_CreatesSuccessfully()
{
// Arrange & Act
var response = new GatewayResponse
{
Success = false,
Error = "Server unavailable",
ErrorCode = "SERVER_UNAVAILABLE"
};
// Assert
Assert.False(response.Success);
Assert.Equal("Server unavailable", response.Error);
Assert.Equal("SERVER_UNAVAILABLE", response.ErrorCode);
Assert.Null(response.Result);
}
[Fact]
public void GatewayResponse_DefaultState_IsNotSuccess()
{
// Arrange & Act
var response = new GatewayResponse();
// Assert
Assert.False(response.Success);
Assert.Null(response.Result);
Assert.Null(response.Error);
}
}