public void Should_Use_Environments_Working_Directory()
                {
                    // Given
                    var fixture = new ProcessFixture();

                    // When
                    fixture.Start("hello.exe");

                    // Then
                    fixture.ProcessRunner.Received(1).Start(Arg.Is <ProcessStartInfo>(info =>
                                                                                      info.WorkingDirectory == "/Working"));
                }
Esempio n. 2
0
                public void Should_Return_Exit_Code()
                {
                    // Given
                    var fixture = new ProcessFixture();

                    fixture.Process.GetExitCode().Returns(12);

                    // When
                    var result = fixture.Start("hello.exe");

                    // Then
                    Assert.Equal(12, result);
                }
Esempio n. 3
0
                public void Should_Use_Environments_Working_Directory()
                {
                    // Given
                    var fixture = new ProcessFixture();

                    // When
                    fixture.Start("hello.exe");

                    // Then
                    fixture.ProcessRunner.Received(1).Start(
                        Arg.Any <FilePath>(), Arg.Is <ProcessSettings>(info =>
                                                                       info.WorkingDirectory.FullPath == "/Working"));
                }
                public void Should_Use_Environments_Working_Directory_If_Not_Working_Directory_Is_Set()
                {
                    // Given
                    var          fixture  = new ProcessFixture();
                    const string fileName = "hello.exe";
                    var          settings = new ProcessSettings();

                    // When
                    fixture.Start(fileName, settings);

                    // Then
                    fixture.ProcessRunner.Received(1).Start(Arg.Is <ProcessStartInfo>(info =>
                                                                                      info.WorkingDirectory == "/Working"));
                }
Esempio n. 5
0
                public void Should_Throw_If_No_Process_Was_Returned_From_Process_Runner()
                {
                    // Given
                    var fixture = new ProcessFixture();

                    fixture.ProcessRunner.Start(Arg.Any <FilePath>(), Arg.Any <ProcessSettings>())
                    .Returns((IProcess)null);

                    // When
                    var result = Record.Exception(() => fixture.Start("hello.exe"));

                    // Then
                    Assert.IsType <CakeException>(result);
                    Assert.Equal("Could not start process.", result.Message);
                }
Esempio n. 6
0
                public void Should_Return_Exit_Code()
                {
                    // Given
                    var          fixture  = new ProcessFixture();
                    const string fileName = "hello.exe";
                    var          settings = new ProcessSettings();

                    fixture.Process.GetExitCode().Returns(12);

                    // When
                    var result = fixture.Start(fileName, settings);

                    // Then
                    Assert.Equal(12, result);
                }
Esempio n. 7
0
                public void Should_Not_Use_Arguments_If_Not_Set()
                {
                    // Given
                    const string fileName = "git";
                    var          fixture  = new ProcessFixture();

                    // When
                    fixture.Start(fileName, string.Empty);

                    // Then
                    fixture.ProcessRunner.Received(1).Start(
                        Arg.Any <FilePath>(),
                        Arg.Is <ProcessSettings>(info =>
                                                 string.IsNullOrEmpty(info.Arguments.Render())));
                }
Esempio n. 8
0
                public void Should_Use_Provided_Arguments_In_Process_Settings_If_Set()
                {
                    // Given
                    const string fileName = "git";
                    var          fixture  = new ProcessFixture();

                    // When
                    fixture.Start(fileName, "pull");

                    // Then
                    fixture.ProcessRunner.Received(1).Start(
                        Arg.Any <FilePath>(),
                        Arg.Is <ProcessSettings>(info =>
                                                 info.Arguments.Render() == "pull"));
                }
Esempio n. 9
0
                public void Should_Return_Process_Started_By_ProcessRunner()
                {
                    // Given
                    var          fixture  = new ProcessFixture();
                    const string fileName = "hello.exe";

                    var expected = fixture.Process;

                    fixture.ProcessRunner.Start(Arg.Any <FilePath>(), Arg.Any <ProcessSettings>()).Returns(p => expected);

                    // When
                    var result = fixture.StartNewProcess(fileName);

                    // Then
                    Assert.Same(expected, result);
                }
Esempio n. 10
0
                public void Should_Make_Working_Directory_Absolute_If_Set()
                {
                    // Given
                    var          fixture  = new ProcessFixture();
                    const string fileName = "hello.exe";
                    var          settings = new ProcessSettings();

                    settings.WorkingDirectory = "OtherWorking";

                    // When
                    fixture.Start(fileName, settings);

                    // Then
                    fixture.ProcessRunner.Received(1).Start(Arg.Is <ProcessStartInfo>(info =>
                                                                                      info.WorkingDirectory == "/Working/OtherWorking"));
                }
Esempio n. 11
0
                public void Should_Return_Process_Started_By_ProcessRunner()
                {
                    // Given
                    var          fixture  = new ProcessFixture();
                    const string fileName = "hello.exe";
                    var          settings = new ProcessSettings();

                    var expected = fixture.Process;

                    fixture.ProcessRunner.Start(Arg.Any <FilePath>(), Arg.Any <ProcessSettings>()).Returns(p => expected);

                    // When
                    fixture.StartNewProcess(fileName, settings);

                    // Then
                    Assert.IsAssignableFrom <IProcess>(expected);
                }
Esempio n. 12
0
                public void Should_Use_Provided_Working_Directory_If_Set()
                {
                    // Given
                    var          fixture  = new ProcessFixture();
                    const string fileName = "hello.exe";
                    var          settings = new ProcessSettings();

                    settings.WorkingDirectory = "/OtherWorking";

                    // When
                    fixture.Start(fileName, settings);

                    // Then
                    fixture.ProcessRunner.Received(1).Start(
                        Arg.Any <FilePath>(),
                        Arg.Is <ProcessSettings>(info =>
                                                 info.WorkingDirectory.FullPath == "/OtherWorking"));
                }