Skip to content

Commit aceaafe

Browse files
Commit conformance tester package version
1 parent 46d3044 commit aceaafe

3 files changed

Lines changed: 21 additions & 1 deletion

File tree

Directory.Packages.props

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
<System9Version>9.0.11</System9Version>
66
<System10Version>10.0.2</System10Version>
77
<MicrosoftExtensionsVersion>10.2.0</MicrosoftExtensionsVersion>
8+
<!-- Pin the conformance tester Node package version for CI stability -->
9+
<McpConformanceVersion>0.1.9</McpConformanceVersion>
810
</PropertyGroup>
911

1012
<!-- Product dependencies shared -->

tests/ModelContextProtocol.AspNetCore.Tests/ModelContextProtocol.AspNetCore.Tests.csproj

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,13 @@
5151
<PackageReference Include="System.Linq.AsyncEnumerable" />
5252
</ItemGroup>
5353

54+
<ItemGroup>
55+
<AssemblyAttribute Include="System.Reflection.AssemblyMetadataAttribute">
56+
<_Parameter1>McpConformanceVersion</_Parameter1>
57+
<_Parameter2>$(McpConformanceVersion)</_Parameter2>
58+
</AssemblyAttribute>
59+
</ItemGroup>
60+
5461
<ItemGroup>
5562
<ProjectReference Include="..\..\samples\TestServerWithHosting\TestServerWithHosting.csproj" />
5663
<ProjectReference Include="..\..\src\ModelContextProtocol.Core\ModelContextProtocol.Core.csproj" />

tests/ModelContextProtocol.AspNetCore.Tests/ServerConformanceTests.cs

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,9 +115,20 @@ private void StartConformanceServer()
115115
_serverTask = Task.Run(() => ConformanceServer.Program.MainAsync(["--urls", _serverUrl], new XunitLoggerProvider(_output), cancellationToken: _serverCts.Token));
116116
}
117117

118+
private static string GetConformanceVersion()
119+
{
120+
var assembly = typeof(ServerConformanceTests).Assembly;
121+
var attribute = assembly.GetCustomAttributes(typeof(System.Reflection.AssemblyMetadataAttribute), false)
122+
.Cast<System.Reflection.AssemblyMetadataAttribute>()
123+
.FirstOrDefault(a => a.Key == "McpConformanceVersion");
124+
return attribute?.Value ?? throw new InvalidOperationException("McpConformanceVersion not found in assembly metadata");
125+
}
126+
118127
private async Task<(bool Success, string Output, string Error)> RunNpxConformanceTests()
119128
{
120-
var startInfo = NodeHelpers.NpxStartInfo($"-y @modelcontextprotocol/conformance server --url {_serverUrl}");
129+
// Version is configured in Directory.Packages.props for central management
130+
var version = GetConformanceVersion();
131+
var startInfo = NodeHelpers.NpxStartInfo($"-y @modelcontextprotocol/conformance@{version} server --url {_serverUrl}");
121132

122133
var outputBuilder = new StringBuilder();
123134
var errorBuilder = new StringBuilder();

0 commit comments

Comments
 (0)