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"));
                }
Exemple #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);
                }
Exemple #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"));
                }
Exemple #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);
                }
Exemple #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);
                }
Exemple #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())));
                }
Exemple #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"));
                }
                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"));
                }
Exemple #10
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"));
                }