public void ReturnsResultFromResponse() { var @params = new WaitForProcessExitParams { key = Guid.NewGuid(), timeout = 5000, }; var result = Client.WaitForProcessExit(@params); Assert.Same(ExpectedResult, result); }
public bool WaitForExit(int milliseconds) { var @params = new WaitForProcessExitParams { key = key, timeout = milliseconds, }; var result = hostClient.WaitForProcessExit(@params); if (result.exited) exitCode = result.exitCode; return result.exited; }
public WaitForProcessExitHandlerTests() { ProcessTracker = Substitute.For <IProcessTracker>(); Handler = new WaitForProcessExitHandler(ProcessTracker); ExpectedParams = new WaitForProcessExitParams { key = Guid.NewGuid(), timeout = 100, }; ExpectedProcess = Substitute.For <IProcess>(); ProcessTracker.GetProcessByKey(ExpectedParams.key).Returns(ExpectedProcess); }
public WaitForProcessExitHandlerTests() { ProcessTracker = Substitute.For<IProcessTracker>(); Handler = new WaitForProcessExitHandler(ProcessTracker); ExpectedParams = new WaitForProcessExitParams { key = Guid.NewGuid(), timeout = 100, }; ExpectedProcess = Substitute.For<IProcess>(); ProcessTracker.GetProcessByKey(ExpectedParams.key).Returns(ExpectedProcess); }
public void SendsRequestWithParams() { var @params = new WaitForProcessExitParams { key = Guid.NewGuid(), timeout = 5000, }; Client.WaitForProcessExit(@params); MessagingClient.Received(1).SendMessageAsync <WaitForProcessExitRequest, WaitForProcessExitResponse>( Arg.Is <WaitForProcessExitRequest>(request => request.@params == @params ) ); }
public bool WaitForExit(int milliseconds) { var @params = new WaitForProcessExitParams { key = key, timeout = milliseconds, }; var result = hostClient.WaitForProcessExit(@params); if (result.exited) { exitCode = result.exitCode; } return(result.exited); }
public Task <WaitForProcessExitResult> ExecuteAsync(WaitForProcessExitParams p) { var process = processTracker.GetProcessByKey(p.key); if (process == null) { throw new Exception(String.Format("A process with key '{0}' is not being tracked.", p.key)); } var success = process.WaitForExit(p.timeout); var result = new WaitForProcessExitResult { exited = success, exitCode = success ? process.ExitCode : 0, }; if (result.exited) { processTracker.RemoveProcess(p.key); } return(Task.FromResult(result)); }
public WaitForProcessExitResult WaitForProcessExit(WaitForProcessExitParams @params) { var response = SendMessage <WaitForProcessExitRequest, WaitForProcessExitResponse>(new WaitForProcessExitRequest(@params)); return(response.result); }