feat(a2a-client): scaffold the A2A client extension behind A2AClient__Enabled

This commit is contained in:
EugeneTes
2026-10-08 12:35:26 +00:00
parent e70557725a
commit 76e465ed2a
6 changed files with 70 additions and 0 deletions

View File

@@ -0,0 +1,19 @@
using Volcanic.AgenticCore.Extensions.A2A;
namespace Volcanic.AgenticCore.Extensions.Tests.A2A;
public class A2AClientSettingsTests
{
[Fact]
public void Defaults_OffWithSpecValues()
{
var s = new A2AClientSettings();
Assert.False(s.Enabled);
Assert.Equal(60, s.WaitSeconds);
Assert.Equal(TimeSpan.FromDays(1), s.WatchTimeout);
Assert.Equal(10, s.CardTimeoutSeconds);
Assert.Equal(10 * 1024 * 1024, s.MaxFileBytes);
Assert.Null(s.PushBaseUrl);
Assert.Equal("A2AClient", A2AClientSettings.SectionName);
}
}

View File

@@ -11,6 +11,8 @@
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="10.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="10.0.0" />
<PackageReference Include="Microsoft.Extensions.TimeProvider.Testing" Version="10.9.0" />
<PackageReference Include="Microsoft.AspNetCore.TestHost" Version="10.0.0" />
<FrameworkReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>
<ItemGroup>
<None Include="ClaudeCode/Fixtures/*" CopyToOutputDirectory="PreserveNewest" />
@@ -18,6 +20,8 @@
<ItemGroup>
<ProjectReference Include="../../src/Volcanic.AgenticCore/Volcanic.AgenticCore.csproj" />
<ProjectReference Include="../../src/Volcanic.AgenticCore.Abstractions/Volcanic.AgenticCore.Abstractions.csproj" />
<ProjectReference Include="../../extensions/Volcanic.AgenticCore.Extensions.A2A/Volcanic.AgenticCore.Extensions.A2A.csproj" />
<ProjectReference Include="../../src/Volcanic.AgenticCore.A2A.Server/Volcanic.AgenticCore.A2A.Server.csproj" />
<ProjectReference Include="../../extensions/Volcanic.AgenticCore.Extensions.Anthropic/Volcanic.AgenticCore.Extensions.Anthropic.csproj" />
<ProjectReference Include="../../extensions/Volcanic.AgenticCore.Extensions.OpenAI/Volcanic.AgenticCore.Extensions.OpenAI.csproj" />
<ProjectReference Include="../../extensions/Volcanic.AgenticCore.Extensions.ClaudeCode/Volcanic.AgenticCore.Extensions.ClaudeCode.csproj" />
@@ -27,4 +31,12 @@
<ProjectReference Include="../../extensions/Volcanic.AgenticCore.Extensions.Scheduler/Volcanic.AgenticCore.Extensions.Scheduler.csproj" />
<ProjectReference Include="../Volcanic.AgenticCore.Extensions.Tests.FakeMcpServer/Volcanic.AgenticCore.Extensions.Tests.FakeMcpServer.csproj" />
</ItemGroup>
<!-- The ASP.NET shared framework (FrameworkReference above) makes the SDK skip copying Microsoft.Extensions.* assemblies,
but the fake MCP server runs on Microsoft.NETCore.App only and needs its own copies next to its dll. -->
<Target Name="CopyFakeMcpServerFrameworkAssemblies" AfterTargets="Build">
<ItemGroup>
<FakeMcpExtraDll Include="$(MSBuildProjectDirectory)/../Volcanic.AgenticCore.Extensions.Tests.FakeMcpServer/bin/$(Configuration)/$(TargetFramework)/Microsoft.Extensions.*.dll" />
</ItemGroup>
<Copy SourceFiles="@(FakeMcpExtraDll)" DestinationFolder="$(OutDir)" SkipUnchangedFiles="true" />
</Target>
</Project>