From db30106ee2d39fbab14d0beb1a98c88beb2ae9dd Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 27 Feb 2026 20:59:21 +0000 Subject: [PATCH 1/3] Initial plan From b00c5c13a1b62cc2648ee70a405048ecdf0adf30 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 27 Feb 2026 21:06:31 +0000 Subject: [PATCH 2/3] DI Refactor: inject IAppLensService into ResourceDiagnoseCommand constructor Co-authored-by: conniey <10136526+conniey@users.noreply.github.com> --- .../Azure.Mcp.Server/changelog-entries/1772200000001.yaml | 3 +++ .../src/Commands/Resource/ResourceDiagnoseCommand.cs | 7 +++---- .../Resource/ResourceDiagnoseCommandTests.cs | 3 +-- 3 files changed, 7 insertions(+), 6 deletions(-) create mode 100644 servers/Azure.Mcp.Server/changelog-entries/1772200000001.yaml diff --git a/servers/Azure.Mcp.Server/changelog-entries/1772200000001.yaml b/servers/Azure.Mcp.Server/changelog-entries/1772200000001.yaml new file mode 100644 index 0000000000..7e2a082571 --- /dev/null +++ b/servers/Azure.Mcp.Server/changelog-entries/1772200000001.yaml @@ -0,0 +1,3 @@ +changes: + - section: "Other Changes" + description: "AppLens: Improve testability by removing dependency on CommandContext.ServiceProvider in ExecuteAsync" diff --git a/tools/Azure.Mcp.Tools.AppLens/src/Commands/Resource/ResourceDiagnoseCommand.cs b/tools/Azure.Mcp.Tools.AppLens/src/Commands/Resource/ResourceDiagnoseCommand.cs index f4ae939ef3..01684f444b 100644 --- a/tools/Azure.Mcp.Tools.AppLens/src/Commands/Resource/ResourceDiagnoseCommand.cs +++ b/tools/Azure.Mcp.Tools.AppLens/src/Commands/Resource/ResourceDiagnoseCommand.cs @@ -17,11 +17,12 @@ namespace Azure.Mcp.Tools.AppLens.Commands.Resource; /// /// Command to diagnose Azure resources using AppLens conversational diagnostics. /// -public sealed class ResourceDiagnoseCommand(ILogger logger) +public sealed class ResourceDiagnoseCommand(ILogger logger, IAppLensService appLensService) : SubscriptionCommand { private const string CommandTitle = "Diagnose Azure Resource Issues"; private readonly ILogger _logger = logger; + private readonly IAppLensService _appLensService = appLensService; public override string Id => "92fb5b7d-f1d7-4834-a61a-e170ad8594ac"; @@ -73,12 +74,10 @@ public override async Task ExecuteAsync(CommandContext context, ResourceDiagnoseOptions options = BindOptions(parseResult); - var service = context.GetService(); - _logger.LogInformation("Diagnosing resource. Question: {Question}, Resource: {Resource}, Options: {Options}", options.Question, options.Resource, options); - var result = await service.DiagnoseResourceAsync( + var result = await _appLensService.DiagnoseResourceAsync( options.Question, options.Resource, options.Subscription!, diff --git a/tools/Azure.Mcp.Tools.AppLens/tests/Azure.Mcp.Tools.AppLens.UnitTests/Resource/ResourceDiagnoseCommandTests.cs b/tools/Azure.Mcp.Tools.AppLens/tests/Azure.Mcp.Tools.AppLens.UnitTests/Resource/ResourceDiagnoseCommandTests.cs index 7c28d8ace7..2092944614 100644 --- a/tools/Azure.Mcp.Tools.AppLens/tests/Azure.Mcp.Tools.AppLens.UnitTests/Resource/ResourceDiagnoseCommandTests.cs +++ b/tools/Azure.Mcp.Tools.AppLens/tests/Azure.Mcp.Tools.AppLens.UnitTests/Resource/ResourceDiagnoseCommandTests.cs @@ -28,9 +28,8 @@ public ResourceDiagnoseCommandTests() _appLensService = Substitute.For(); _logger = Substitute.For>(); - _command = new(_logger); + _command = new(_logger, _appLensService); _serviceProvider = new ServiceCollection() - .AddSingleton(_appLensService) .BuildServiceProvider(); _context = new(_serviceProvider); } From 2097770bfeca4989cbfbf97183923898cd314aed Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 2 Mar 2026 18:58:32 +0000 Subject: [PATCH 3/3] Fix changelog entry PR number to 1884 Co-authored-by: conniey <10136526+conniey@users.noreply.github.com> --- servers/Azure.Mcp.Server/changelog-entries/1772200000001.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/servers/Azure.Mcp.Server/changelog-entries/1772200000001.yaml b/servers/Azure.Mcp.Server/changelog-entries/1772200000001.yaml index 7e2a082571..76c708ba02 100644 --- a/servers/Azure.Mcp.Server/changelog-entries/1772200000001.yaml +++ b/servers/Azure.Mcp.Server/changelog-entries/1772200000001.yaml @@ -1,3 +1,4 @@ +pr: 1884 changes: - section: "Other Changes" description: "AppLens: Improve testability by removing dependency on CommandContext.ServiceProvider in ExecuteAsync"