88using Nexus . CommandLine ;
99using Nexus . Config ;
1010using Nexus . Config . Models ;
11+ using Nexus . External . Apis . FileSystem ;
12+ using Nexus . External . Apis . ProcessManagement ;
1113using Nexus . Startup ;
1214
1315using Xunit ;
@@ -20,13 +22,18 @@ namespace Nexus.Tests;
2022public class ProgramTests
2123{
2224 private readonly Mock < ISettings > m_Settings ;
25+ private readonly Mock < IFileSystem > m_FileSystem ;
26+ private readonly Mock < IProcessManager > m_ProcessManager ;
2327
2428 /// <summary>
2529 /// Initializes a new instance of the <see cref="ProgramTests"/> class.
2630 /// </summary>
2731 public ProgramTests ( )
2832 {
2933 m_Settings = new Mock < ISettings > ( ) ;
34+ m_FileSystem = new Mock < IFileSystem > ( ) ;
35+ m_ProcessManager = new Mock < IProcessManager > ( ) ;
36+
3037 var sharedConfig = new SharedConfiguration
3138 {
3239 McpNexus = new McpNexusSettings
@@ -50,7 +57,7 @@ public void CreateHostBuilder_WithHttpMode_CreatesHostBuilder()
5057 var context = new CommandLineContext ( new [ ] { "--http" } ) ;
5158
5259 // Act
53- var hostBuilder = Program . CreateHostBuilder ( context , m_Settings . Object ) ;
60+ var hostBuilder = Program . CreateHostBuilder ( context , m_FileSystem . Object , m_ProcessManager . Object , m_Settings . Object ) ;
5461
5562 // Assert
5663 _ = hostBuilder . Should ( ) . NotBeNull ( ) ;
@@ -66,7 +73,7 @@ public void CreateHostBuilder_WithStdioMode_CreatesHostBuilder()
6673 var context = new CommandLineContext ( new [ ] { "--stdio" } ) ;
6774
6875 // Act
69- var hostBuilder = Program . CreateHostBuilder ( context , m_Settings . Object ) ;
76+ var hostBuilder = Program . CreateHostBuilder ( context , m_FileSystem . Object , m_ProcessManager . Object , m_Settings . Object ) ;
7077
7178 // Assert
7279 _ = hostBuilder . Should ( ) . NotBeNull ( ) ;
@@ -82,7 +89,7 @@ public void CreateHostBuilder_WithServiceMode_CreatesHostBuilder()
8289 var context = new CommandLineContext ( new [ ] { "--service" } ) ;
8390
8491 // Act
85- var hostBuilder = Program . CreateHostBuilder ( context , m_Settings . Object ) ;
92+ var hostBuilder = Program . CreateHostBuilder ( context , m_FileSystem . Object , m_ProcessManager . Object , m_Settings . Object ) ;
8693
8794 // Assert
8895 _ = hostBuilder . Should ( ) . NotBeNull ( ) ;
@@ -98,7 +105,7 @@ public void CreateHostBuilder_RegistersCommandLineContext()
98105 var context = new CommandLineContext ( Array . Empty < string > ( ) ) ;
99106
100107 // Act
101- var hostBuilder = Program . CreateHostBuilder ( context , m_Settings . Object ) ;
108+ var hostBuilder = Program . CreateHostBuilder ( context , m_FileSystem . Object , m_ProcessManager . Object , m_Settings . Object ) ;
102109 var host = hostBuilder . Build ( ) ;
103110 var registeredContext = host . Services . GetService < CommandLineContext > ( ) ;
104111
@@ -117,7 +124,7 @@ public void CreateHostBuilder_RegistersMainHostedService()
117124 var context = new CommandLineContext ( Array . Empty < string > ( ) ) ;
118125
119126 // Act
120- var hostBuilder = Program . CreateHostBuilder ( context , m_Settings . Object ) ;
127+ var hostBuilder = Program . CreateHostBuilder ( context , m_FileSystem . Object , m_ProcessManager . Object , m_Settings . Object ) ;
121128 _ = hostBuilder . ConfigureServices ( services => services . AddSingleton ( m_Settings . Object ) ) ;
122129 var host = hostBuilder . Build ( ) ;
123130 var hostedServices = host . Services . GetServices < IHostedService > ( ) ;
@@ -136,7 +143,7 @@ public void CreateHostBuilder_WithEmptyArgs_CreatesHostBuilder()
136143 var context = new CommandLineContext ( Array . Empty < string > ( ) ) ;
137144
138145 // Act
139- var hostBuilder = Program . CreateHostBuilder ( context , m_Settings . Object ) ;
146+ var hostBuilder = Program . CreateHostBuilder ( context , m_FileSystem . Object , m_ProcessManager . Object , m_Settings . Object ) ;
140147
141148 // Assert
142149 _ = hostBuilder . Should ( ) . NotBeNull ( ) ;
@@ -152,7 +159,7 @@ public void CreateHostBuilder_WithInstallMode_CreatesHostBuilder()
152159 var context = new CommandLineContext ( new [ ] { "--install" } ) ;
153160
154161 // Act
155- var hostBuilder = Program . CreateHostBuilder ( context , m_Settings . Object ) ;
162+ var hostBuilder = Program . CreateHostBuilder ( context , m_FileSystem . Object , m_ProcessManager . Object , m_Settings . Object ) ;
156163
157164 // Assert
158165 _ = hostBuilder . Should ( ) . NotBeNull ( ) ;
@@ -168,7 +175,7 @@ public void CreateHostBuilder_WithUpdateMode_CreatesHostBuilder()
168175 var context = new CommandLineContext ( new [ ] { "--update" } ) ;
169176
170177 // Act
171- var hostBuilder = Program . CreateHostBuilder ( context , m_Settings . Object ) ;
178+ var hostBuilder = Program . CreateHostBuilder ( context , m_FileSystem . Object , m_ProcessManager . Object , m_Settings . Object ) ;
172179
173180 // Assert
174181 _ = hostBuilder . Should ( ) . NotBeNull ( ) ;
@@ -184,7 +191,7 @@ public void CreateHostBuilder_WithUninstallMode_CreatesHostBuilder()
184191 var context = new CommandLineContext ( new [ ] { "--uninstall" } ) ;
185192
186193 // Act
187- var hostBuilder = Program . CreateHostBuilder ( context , m_Settings . Object ) ;
194+ var hostBuilder = Program . CreateHostBuilder ( context , m_FileSystem . Object , m_ProcessManager . Object , m_Settings . Object ) ;
188195
189196 // Assert
190197 _ = hostBuilder . Should ( ) . NotBeNull ( ) ;
0 commit comments