DI Refactor: Azure.Mcp.Tools.ManagedLustre#2063
Conversation
…gedLustre commands Co-authored-by: conniey <10136526+conniey@users.noreply.github.com>
....Mcp.Tools.ManagedLustre/src/Commands/FileSystem/AutoexportJob/AutoexportJobCreateCommand.cs
Outdated
Show resolved
Hide resolved
....Mcp.Tools.ManagedLustre/src/Commands/FileSystem/AutoexportJob/AutoexportJobDeleteCommand.cs
Outdated
Show resolved
Hide resolved
...ure.Mcp.Tools.ManagedLustre/src/Commands/FileSystem/AutoexportJob/AutoexportJobGetCommand.cs
Outdated
Show resolved
Hide resolved
…all command ExecuteAsync methods Co-authored-by: conniey <10136526+conniey@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Refactors the Azure.Mcp.Tools.ManagedLustre command implementations to use constructor dependency injection for IManagedLustreService instead of resolving services via context.GetService<T>(), improving testability and aligning with the broader DI refactor effort.
Changes:
- Updated ManagedLustre commands to accept
IManagedLustreServicevia constructor and use a private_servicefield inExecuteAsync. - Removed
context.GetService<IManagedLustreService>()usage across the affected commands. - Updated unit tests to construct commands with the injected service.
Reviewed changes
Copilot reviewed 36 out of 36 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| tools/Azure.Mcp.Tools.ManagedLustre/src/Commands/FileSystem/SubnetSize/SubnetSizeValidateCommand.cs | Inject IManagedLustreService via constructor; use _service in execution path. |
| tools/Azure.Mcp.Tools.ManagedLustre/src/Commands/FileSystem/SubnetSize/SubnetSizeAskCommand.cs | Inject IManagedLustreService via constructor; use _service in execution path. |
| tools/Azure.Mcp.Tools.ManagedLustre/src/Commands/FileSystem/Sku/SkuGetCommand.cs | Inject IManagedLustreService via constructor; replace context-based resolution with _service. |
| tools/Azure.Mcp.Tools.ManagedLustre/src/Commands/FileSystem/ImportJob/ImportJobGetCommand.cs | Inject IManagedLustreService via constructor; replace context-based resolution with _service for get/list. |
| tools/Azure.Mcp.Tools.ManagedLustre/src/Commands/FileSystem/ImportJob/ImportJobDeleteCommand.cs | Inject IManagedLustreService via constructor; replace context-based resolution with _service. |
| tools/Azure.Mcp.Tools.ManagedLustre/src/Commands/FileSystem/ImportJob/ImportJobCreateCommand.cs | Inject IManagedLustreService via constructor; replace context-based resolution with _service. |
| tools/Azure.Mcp.Tools.ManagedLustre/src/Commands/FileSystem/ImportJob/ImportJobCancelCommand.cs | Inject IManagedLustreService via constructor; replace context-based resolution with _service. |
| tools/Azure.Mcp.Tools.ManagedLustre/src/Commands/FileSystem/FileSystemUpdateCommand.cs | Inject IManagedLustreService via constructor; replace context-based resolution with _service. |
| tools/Azure.Mcp.Tools.ManagedLustre/src/Commands/FileSystem/FileSystemListCommand.cs | Inject IManagedLustreService via constructor; replace context-based resolution with _service. |
| tools/Azure.Mcp.Tools.ManagedLustre/src/Commands/FileSystem/FileSystemCreateCommand.cs | Inject IManagedLustreService via constructor; replace context-based resolution with _service. |
| tools/Azure.Mcp.Tools.ManagedLustre/src/Commands/FileSystem/AutoimportJob/AutoimportJobGetCommand.cs | Inject IManagedLustreService via constructor; replace context-based resolution with _service for get/list. |
| tools/Azure.Mcp.Tools.ManagedLustre/src/Commands/FileSystem/AutoimportJob/AutoimportJobDeleteCommand.cs | Inject IManagedLustreService via constructor; replace context-based resolution with _service. |
| tools/Azure.Mcp.Tools.ManagedLustre/src/Commands/FileSystem/AutoimportJob/AutoimportJobCreateCommand.cs | Inject IManagedLustreService via constructor; replace context-based resolution with _service. |
| tools/Azure.Mcp.Tools.ManagedLustre/src/Commands/FileSystem/AutoimportJob/AutoimportJobCancelCommand.cs | Inject IManagedLustreService via constructor; replace context-based resolution with _service. |
| tools/Azure.Mcp.Tools.ManagedLustre/src/Commands/FileSystem/AutoexportJob/AutoexportJobGetCommand.cs | Inject IManagedLustreService via constructor; replace context-based resolution with _service for get/list. |
| tools/Azure.Mcp.Tools.ManagedLustre/src/Commands/FileSystem/AutoexportJob/AutoexportJobDeleteCommand.cs | Inject IManagedLustreService via constructor; replace context-based resolution with _service. |
| tools/Azure.Mcp.Tools.ManagedLustre/src/Commands/FileSystem/AutoexportJob/AutoexportJobCreateCommand.cs | Inject IManagedLustreService via constructor; replace context-based resolution with _service. |
| tools/Azure.Mcp.Tools.ManagedLustre/src/Commands/FileSystem/AutoexportJob/AutoexportJobCancelCommand.cs | Inject IManagedLustreService via constructor; replace context-based resolution with _service. |
| tools/Azure.Mcp.Tools.ManagedLustre/tests/Azure.Mcp.Tools.ManagedLustre.UnitTests/FileSystem/SubnetSize/SubnetSizeValidateCommandTests.cs | Update command construction to pass injected IManagedLustreService. |
| tools/Azure.Mcp.Tools.ManagedLustre/tests/Azure.Mcp.Tools.ManagedLustre.UnitTests/FileSystem/SubnetSize/SubnetSizeAskCommandTests.cs | Update command construction to pass injected IManagedLustreService. |
| tools/Azure.Mcp.Tools.ManagedLustre/tests/Azure.Mcp.Tools.ManagedLustre.UnitTests/FileSystem/Sku/SkuGetCommandTests.cs | Update command construction to pass injected IManagedLustreService. |
| tools/Azure.Mcp.Tools.ManagedLustre/tests/Azure.Mcp.Tools.ManagedLustre.UnitTests/FileSystem/ImportJob/ImportJobGetCommandTests.cs | Update command construction to pass injected IManagedLustreService. |
| tools/Azure.Mcp.Tools.ManagedLustre/tests/Azure.Mcp.Tools.ManagedLustre.UnitTests/FileSystem/ImportJob/ImportJobDeleteCommandTests.cs | Update command construction to pass injected IManagedLustreService. |
| tools/Azure.Mcp.Tools.ManagedLustre/tests/Azure.Mcp.Tools.ManagedLustre.UnitTests/FileSystem/ImportJob/ImportJobCreateCommandTests.cs | Update command construction to pass injected IManagedLustreService. |
| tools/Azure.Mcp.Tools.ManagedLustre/tests/Azure.Mcp.Tools.ManagedLustre.UnitTests/FileSystem/ImportJob/ImportJobCancelCommandTests.cs | Update command construction to pass injected IManagedLustreService. |
| tools/Azure.Mcp.Tools.ManagedLustre/tests/Azure.Mcp.Tools.ManagedLustre.UnitTests/FileSystem/FileSystemUpdateCommandTests.cs | Update command construction to pass injected IManagedLustreService. |
| tools/Azure.Mcp.Tools.ManagedLustre/tests/Azure.Mcp.Tools.ManagedLustre.UnitTests/FileSystem/FileSystemListCommandTests.cs | Update command construction to pass injected IManagedLustreService. |
| tools/Azure.Mcp.Tools.ManagedLustre/tests/Azure.Mcp.Tools.ManagedLustre.UnitTests/FileSystem/FileSystemCreateCommandTests.cs | Update command construction to pass injected IManagedLustreService. |
| tools/Azure.Mcp.Tools.ManagedLustre/tests/Azure.Mcp.Tools.ManagedLustre.UnitTests/FileSystem/AutoimportJob/AutoimportJobGetCommandTests.cs | Update command construction to pass injected IManagedLustreService. |
| tools/Azure.Mcp.Tools.ManagedLustre/tests/Azure.Mcp.Tools.ManagedLustre.UnitTests/FileSystem/AutoimportJob/AutoimportJobDeleteCommandTests.cs | Update command construction to pass injected IManagedLustreService. |
| tools/Azure.Mcp.Tools.ManagedLustre/tests/Azure.Mcp.Tools.ManagedLustre.UnitTests/FileSystem/AutoimportJob/AutoimportJobCreateCommandTests.cs | Update command construction to pass injected IManagedLustreService. |
| tools/Azure.Mcp.Tools.ManagedLustre/tests/Azure.Mcp.Tools.ManagedLustre.UnitTests/FileSystem/AutoimportJob/AutoimportJobCancelCommandTests.cs | Update command construction to pass injected IManagedLustreService. |
| tools/Azure.Mcp.Tools.ManagedLustre/tests/Azure.Mcp.Tools.ManagedLustre.UnitTests/FileSystem/AutoexportJob/AutoexportJobGetCommandTests.cs | Update command construction to pass injected IManagedLustreService. |
| tools/Azure.Mcp.Tools.ManagedLustre/tests/Azure.Mcp.Tools.ManagedLustre.UnitTests/FileSystem/AutoexportJob/AutoexportJobDeleteCommandTests.cs | Update command construction to pass injected IManagedLustreService. |
| tools/Azure.Mcp.Tools.ManagedLustre/tests/Azure.Mcp.Tools.ManagedLustre.UnitTests/FileSystem/AutoexportJob/AutoexportJobCreateCommandTests.cs | Update command construction to pass injected IManagedLustreService. |
| tools/Azure.Mcp.Tools.ManagedLustre/tests/Azure.Mcp.Tools.ManagedLustre.UnitTests/FileSystem/AutoexportJob/AutoexportJobCancelCommandTests.cs | Update command construction to pass injected IManagedLustreService. |
You can also share your feedback on Copilot code review. Take the survey.
|
@copilot Tests in Azure.Mcp.Core.UnitTests are failing. Fix them. An example is: |
…monServices to fix ToolsListCommandTests Co-authored-by: conniey <10136526+conniey@users.noreply.github.com>
... Fixed in cbeffcc — added |
FileSystemListCommandto use constructor DIFileSystemCreateCommandto use constructor DIFileSystemUpdateCommandto use constructor DISkuGetCommandto use constructor DISubnetSizeValidateCommandto use constructor DISubnetSizeAskCommandto use constructor DIImportJobGetCommandto use constructor DIImportJobCreateCommandto use constructor DIImportJobDeleteCommandto use constructor DIImportJobCancelCommandto use constructor DIAutoimportJobCreateCommandto use constructor DIAutoimportJobGetCommandto use constructor DIAutoimportJobCancelCommandto use constructor DIAutoimportJobDeleteCommandto use constructor DIAutoexportJobCreateCommandto use constructor DIAutoexportJobGetCommandto use constructor DIAutoexportJobCancelCommandto use constructor DIAutoexportJobDeleteCommandto use constructor DIsvclocal variable; use_servicedirectly in all ExecuteAsync methodsAzure.Mcp.Core.UnitTestsfailures by registeringIResourceGroupServicemock inCommandFactoryHelpers.SetupCommonServicesOriginal prompt
🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.