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"