public void ProcessIoCanBeNull() { var io = new TestProcessIO(); io.Output = null; io.Error = null; Container.Run(Spec, io); var proc = ConstrainedProcessRunner.Captured(x => x.Run(null)).Arg <ProcessRunSpec>(); Assert.Equal(null, proc.OutputCallback); Assert.Equal(null, proc.ErrorCallback); }
public void WhenPathMappingIsDisabled_DoesNotMapExecutablePath() { var io = Substitute.For <IProcessIO>(); Spec.DisablePathMapping = true; Spec.ExecutablePath = "cmd.exe"; var process = Container.Run(Spec, io); Assert.NotNull(process); var actual = ConstrainedProcessRunner.Captured(x => x.Run(null)).Arg <ProcessRunSpec>(); Assert.Equal("cmd.exe", actual.ExecutablePath); }
public void RunsTheProcessRemotely() { var io = Substitute.For <IProcessIO>(); var process = Container.Run(Spec, io); Assert.NotNull(process); var actual = ConstrainedProcessRunner.Captured(x => x.Run(null)).Arg <ProcessRunSpec>(); Assert.Equal(ExpectedRunSpec.ExecutablePath, actual.ExecutablePath); Assert.Equal(ExpectedRunSpec.Arguments, actual.Arguments); Assert.Superset( new HashSet <string>(ExpectedRunSpec.Environment.Keys), new HashSet <string>(actual.Environment.Keys)); Assert.Equal(ExpectedRunSpec.WorkingDirectory, actual.WorkingDirectory); }