public void Setup() { _runner = new ProcessRunnerSpy(); _filesystem = new MockFileSystem(); _filesystem.AddFile("myProgram.exe", new MockFileData(string.Empty)); _executablePath = "myProgram.exe"; _sut = new RunProcessTask(_runner, _filesystem) { ExecutablePath = _executablePath }; }
public void GivenExecutableThatExitsWithCodeOne__WhenCallingRun__ShouldThrowProcessFailedException() { ProcessRunnerStub runner = new ProcessRunnerStub { ExitCode = 1 }; RunProcessTask sut = new RunProcessTask(runner, _filesystem) { ExecutablePath = _executablePath }; sut.Run(); }
public void GivenFailingProcessButAllowedToFail__WhenCallingRun__ShouldNotThrowProcessFailedException() { ProcessRunnerStub runner = new ProcessRunnerStub { ExitCode = 1 }; RunProcessTask sut = new RunProcessTask(runner, _filesystem) { ExecutablePath = _executablePath, AllowedToFail = true }; sut.Run(); }
GivenPathToExecutable__WhenCallingRun__ShouldCallStartFirst_Then_BlockUntilFinished_Then_CheckExitCode() { CallOrderVerifyingProcessRunnerMock runner = new CallOrderVerifyingProcessRunnerMock(); const string executablePath = "myProgram.exe"; RunProcessTask sut = new RunProcessTask(runner, _filesystem) { ExecutablePath = executablePath }; sut.Run(); runner.Verify(); }
public void WhenBuildingRunProcessTaskWithExePathAndArguments__ShouldReturnConfiguredTask() { RunProcessTaskBuilder sut = new RunProcessTaskBuilder(new MockFileSystem()); RunProcessTask task = (RunProcessTask)sut .With("Id", TaskId) .With("Name", TaskName) .With("ExecutablePath", PathToExe) .With("Arguments", Args) .With("WorkingDirectory", WorkingDirectory) .With("AllowedToFail", AllowedToFail) .Build(); Assert.AreEqual(TaskId, task.Id); Assert.AreEqual(TaskName, task.Name); Assert.AreEqual(PathToExe, task.ExecutablePath); Assert.AreEqual(Args, task.Arguments); Assert.AreEqual(WorkingDirectory, task.WorkingDirectory); Assert.AreEqual(AllowedToFail, task.AllowedToFail); }
public RunProcessTaskBuilder(IFileSystem fileSystem = null) { _runProcessTask = new RunProcessTask(new ProcessRunner(), fileSystem ?? new FileSystem()); }