Skip to content

MCP-CustomTool: Unit Tests #3040

@souvikghosh04

Description

@souvikghosh04

Goal: Add comprehensive unit tests for existing implementation

Files to Create:

src/Azure.DataApiBuilder.Mcp.Tests/DynamicCustomToolTests.cs

Tool metadata generation (name normalization, description)
Parameter schema building (type mapping, descriptions, required fields)
Input validation (constructor validation for non-SP entities)
Edge cases (null descriptions, empty parameters, special characters in names)
src/Azure.DataApiBuilder.Mcp.Tests/CustomMcpToolFactoryTests.cs

Tool filtering (SP + CustomToolEnabled = true)
Tool creation count validation
Skipping tables/views even with custom-tool enabled
Error handling for malformed entity configs
Logging verification
Test Coverage:

  • Tool name conversion (GetUserProfile → get_user_profile)
  • Parameter schema generation from ParameterMetadata
  • Description propagation (entity + parameters)
  • Fail-fast for non-stored-procedure entities
  • Factory filtering logic

Deliverable: Test coverage for infrastructure without integration concerns

Metadata

Metadata

Assignees

Labels

mcp-servermssqlan issue thats specific to mssql

Type

Projects

Status

Todo

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions