Esempio n. 1
0
            public void Should_Set_Working_Directory()
            {
                // Given
                var fixture = new NSISFixture();

                // When
                var result = fixture.Run();

                // Then
                Assert.Equal("/Working", result.Process.WorkingDirectory.FullPath);
            }
Esempio n. 2
0
            public void Should_Find_MakeNSIS_Runner_If_Tool_Path_Not_Provided()
            {
                // Given
                var fixture = new NSISFixture();

                // When
                var result = fixture.Run();

                // Then
                Assert.Equal("/Working/tools/makensis.exe", result.Path.FullPath);
            }
Esempio n. 3
0
            public void Should_Throw_If_Script_File_Is_Null()
            {
                // Given
                var fixture = new NSISFixture();
                var runner  = fixture.CreateRunner();

                // When
                var result = Record.Exception(() => runner.Run(null, new MakeNSISSettings()));

                // Then
                Assert.IsArgumentNullException(result, "scriptFile");
            }
Esempio n. 4
0
            public void Should_Throw_If_Settings_Is_Null()
            {
                // Given
                var fixture = new NSISFixture();
                var runner  = fixture.CreateRunner();

                // When
                var result = Record.Exception(() => runner.Run("/Working/File.lol", null));

                // Then
                Assert.IsArgumentNullException(result, "settings");
            }
Esempio n. 5
0
            public void Should_Throw_If_Script_File_Is_Null()
            {
                // Given
                var fixture = new NSISFixture();

                fixture.ScriptPath = null;

                // When
                var result = Record.Exception(() => fixture.Run());

                // Then
                Assert.IsArgumentNullException(result, "scriptFile");
            }
Esempio n. 6
0
            public void Should_Add_NoConfig_To_Arguments_If_Provided()
            {
                // Given
                var fixture = new NSISFixture();

                fixture.Settings.NoConfig = true;

                // When
                var result = fixture.Run();

                // Then
                Assert.Equal("/NOCONFIG \"/Working/Test.nsi\"", result.Args);
            }
Esempio n. 7
0
            public void Should_Throw_If_Settings_Is_Null()
            {
                // Given
                var fixture = new NSISFixture();

                fixture.Settings = null;

                // When
                var result = Record.Exception(() => fixture.Run());

                // Then
                Assert.IsArgumentNullException(result, "settings");
            }
            public void Should_Add_NoChangeDirectory_To_Arguments_If_Provided()
            {
                // Given
                var fixture = new NSISFixture();

                fixture.Settings.NoChangeDirectory = true;

                // When
                var result = fixture.Run();

                // Then
                Assert.Equal("/NOCD /Working/Test.nsi", result.Args);
            }
Esempio n. 9
0
            public void Should_Find_MakeNSIS_Runner_If_Tool_Path_Not_Provided()
            {
                // Given
                var fixture = new NSISFixture();
                var runner  = fixture.CreateRunner();

                // When
                runner.Run("./Test.nsi", new MakeNSISSettings());

                // Then
                fixture.ProcessRunner.Received(1).Start(
                    Arg.Is <FilePath>(p => p.FullPath == "/Working/tools/makensis.exe"),
                    Arg.Any <ProcessSettings>());
            }
Esempio n. 10
0
            public void Should_Use_MakeNSIS_Runner_From_Tool_Path_If_Provided_On_Windows(string toolPath, string expected)
            {
                // Given
                var fixture = new NSISFixture();

                fixture.Settings.ToolPath = toolPath;
                fixture.GivenSettingsToolPathExist();

                // When
                var result = fixture.Run();

                // Then
                Assert.Equal(expected, result.Path.FullPath);
            }
Esempio n. 11
0
            public void Should_Throw_If_MakeNSIS_Runner_Was_Not_Found()
            {
                // Given
                var fixture = new NSISFixture();

                fixture.GivenDefaultToolDoNotExist();

                // When
                var result = Record.Exception(() => fixture.Run());

                // Then
                Assert.IsType <CakeException>(result);
                Assert.Equal("MakeNSIS: Could not locate executable.", result.Message);
            }
Esempio n. 12
0
            public void Should_Throw_If_Process_Has_A_Non_Zero_Exit_Code()
            {
                // Given
                var fixture = new NSISFixture();

                fixture.GivenProcessExitsWithCode(1);

                // When
                var result = Record.Exception(() => fixture.Run());

                // Then
                Assert.IsType <CakeException>(result);
                Assert.Equal("MakeNSIS: Process returned an error (exit code 1).", result.Message);
            }
Esempio n. 13
0
            public void Should_Throw_If_Process_Was_Not_Started()
            {
                // Given
                var fixture = new NSISFixture();

                fixture.GivenProcessCannotStart();

                // When
                var result = Record.Exception(() => fixture.Run());

                // Then
                Assert.IsType <CakeException>(result);
                Assert.Equal("MakeNSIS: Process was not started.", result.Message);
            }
Esempio n. 14
0
            public void Should_Set_Working_Directory()
            {
                // Given
                var fixture = new NSISFixture();
                var runner  = fixture.CreateRunner();

                // When
                runner.Run("./Test.nsi", new MakeNSISSettings());

                // Then
                fixture.ProcessRunner.Received(1).Start(
                    Arg.Any <FilePath>(),
                    Arg.Is <ProcessSettings>(p =>
                                             p.WorkingDirectory.FullPath == "/Working"));
            }
Esempio n. 15
0
            public void Should_Throw_If_Process_Has_A_Non_Zero_Exit_Code()
            {
                // Given
                var fixture = new NSISFixture();

                fixture.Process.GetExitCode().Returns(1);
                var runner = fixture.CreateRunner();

                // When
                var result = Record.Exception(() => runner.Run("./Test.nsi", new MakeNSISSettings()));

                // Then
                Assert.IsType <CakeException>(result);
                Assert.Equal("MakeNSIS: Process returned an error.", result.Message);
            }
Esempio n. 16
0
            public void Should_Throw_If_MakeNSIS_Runner_Was_Not_Found()
            {
                // Given
                var fixture = new NSISFixture();

                fixture.Globber.Match("./tools/**/makensis.exe").Returns(Enumerable.Empty <Path>());
                var runner = fixture.CreateRunner();

                // When
                var result = Record.Exception(() => runner.Run("/Test.nsi", new MakeNSISSettings()));

                // Then
                Assert.IsType <CakeException>(result);
                Assert.Equal("MakeNSIS: Could not locate executable.", result.Message);
            }
Esempio n. 17
0
            public void Should_Throw_If_Process_Was_Not_Started()
            {
                // Given
                var fixture = new NSISFixture();

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

                // When
                var result = Record.Exception(() => runner.Run("./Test.nsi", new MakeNSISSettings()));

                // Then
                Assert.IsType <CakeException>(result);
                Assert.Equal("MakeNSIS: Process was not started.", result.Message);
            }
Esempio n. 18
0
            public void Should_Add_Defines_To_Arguments_If_Provided()
            {
                // Given
                var fixture = new NSISFixture();

                fixture.Settings.Defines = new Dictionary <string, string>();
                fixture.Settings.Defines.Add("Foo", "Bar");
                fixture.Settings.Defines.Add("Test", null);
                fixture.Settings.Defines.Add("Test2", string.Empty);

                // When
                var result = fixture.Run();

                // Then
                Assert.Equal("/DFoo=Bar /DTest /DTest2 \"/Working/Test.nsi\"", result.Args);
            }
Esempio n. 19
0
            public void Should_Use_MakeNSIS_Runner_From_Tool_Path_If_Provided(string toolPath, string expected)
            {
                // Given
                var fixture = new NSISFixture(expected);
                var runner  = fixture.CreateRunner();

                // When
                runner.Run("./Test.nsi", new MakeNSISSettings
                {
                    ToolPath = toolPath
                });

                // Then
                fixture.ProcessRunner.Received(1).Start(
                    Arg.Is <FilePath>(p => p.FullPath == expected),
                    Arg.Any <ProcessSettings>());
            }
Esempio n. 20
0
            public void Should_Add_NoConfig_To_Arguments_If_Provided()
            {
                // Given
                var fixture = new NSISFixture();
                var runner  = fixture.CreateRunner();

                // When
                runner.Run("./Test.nsi", new MakeNSISSettings
                {
                    NoConfig = true
                });

                // Then
                fixture.ProcessRunner.Received(1).Start(
                    Arg.Any <FilePath>(),
                    Arg.Is <ProcessSettings>(p =>
                                             p.Arguments.Render() == "/NOCONFIG /Working/Test.nsi"));
            }
Esempio n. 21
0
            public void Should_Add_Defines_To_Arguments_If_Provided()
            {
                // Given
                var fixture = new NSISFixture();
                var runner  = fixture.CreateRunner();

                // When
                runner.Run("./Test.nsi", new MakeNSISSettings
                {
                    Defines = new Dictionary <string, string>
                    {
                        { "Foo", "Bar" },
                        { "Test", null },
                        { "Test2", string.Empty }
                    }
                });

                // Then
                fixture.ProcessRunner.Received(1).Start(
                    Arg.Any <FilePath>(),
                    Arg.Is <ProcessSettings>(p =>
                                             p.Arguments.Render() == "/DFoo=Bar /DTest /DTest2 /Working/Test.nsi"));
            }