Пример #1
0
            public void Should_Throw_If_Settings_Is_Null()
            {
                // Given
                var fixture = new OctopusDeployReleaseCreatorFixture();

                fixture.Settings = null;

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

                // Then
                Assert.IsArgumentNullException(result, "settings");
            }
Пример #2
0
            public void Should_Throw_If_Api_Key_Is_Null()
            {
                // Given
                var fixture = new OctopusDeployReleaseCreatorFixture();

                fixture.Settings.ApiKey = null;

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

                // Then
                Assert.IsArgumentException(result, "settings", "No API key specified.");
            }
Пример #3
0
            public void Should_Throw_If_Project_Name_Is_Null()
            {
                // Given
                var fixture = new OctopusDeployReleaseCreatorFixture();

                fixture.ProjectName = null;

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

                // Then
                Assert.IsArgumentNullException(result, "projectName");
            }
Пример #4
0
            public void Should_Throw_If_Process_Has_A_Non_Zero_Exit_Code()
            {
                // Given
                var fixture = new OctopusDeployReleaseCreatorFixture();

                fixture.GivenProcessExitsWithCode(1);

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

                // Then
                Assert.IsCakeException(result, "Octo: Process returned an error (exit code 1).");
            }
Пример #5
0
            public void Should_Throw_If_Process_Was_Not_Started()
            {
                // Given
                var fixture = new OctopusDeployReleaseCreatorFixture();

                fixture.GivenProcessCannotStart();

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

                // Then
                Assert.IsCakeException(result, "Octo: Process was not started.");
            }
Пример #6
0
            public void Should_Throw_If_Octo_Executable_Was_Not_Found()
            {
                // Given
                var fixture = new OctopusDeployReleaseCreatorFixture();

                fixture.GivenDefaultToolDoNotExist();

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

                // Then
                Assert.IsCakeException(result, "Octo: Could not locate executable.");
            }
Пример #7
0
            public void Should_Use_Octo_Executable_From_Tool_Path_If_Provided(string toolPath, string expected)
            {
                // Given
                var fixture = new OctopusDeployReleaseCreatorFixture();

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

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

                // Then
                Assert.Equal(expected, result.Path.FullPath);
            }
Пример #8
0
            public void Should_Use_Octo_Executable_From_Tool_Path_If_Provided(string toolPath, string expected)
            {
                // Given
                var fixture = new OctopusDeployReleaseCreatorFixture(expected);

                fixture.Settings.ToolPath = toolPath;

                // When
                fixture.CreateRelease();

                // Then
                fixture.ProcessRunner.Received(1).Start(
                    Arg.Is <FilePath>(p => p.FullPath == expected),
                    Arg.Any <ProcessSettings>());
            }
Пример #9
0
            public void Should_Add_Deployment_Progress_To_Arguments_If_True()
            {
                // Given
                var fixture = new OctopusDeployReleaseCreatorFixture();

                fixture.Settings.DeploymentProgress = true;

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

                // Then
                Assert.Equal("create-release --project \"testProject\" " +
                             "--server http://octopus --apiKey API-12345 " +
                             "--progress", result.Args);
            }
Пример #10
0
            public void Should_Add_Ignore_Existing_Flag_To_Arguments_If_Not_Null()
            {
                // Given
                var fixture = new OctopusDeployReleaseCreatorFixture();

                fixture.Settings.IgnoreExisting = true;

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

                // Then
                Assert.Equal("create-release --project \"testProject\" " +
                             "--server http://octopus --apiKey API-12345 " +
                             "--ignoreexisting", result.Args);
            }
Пример #11
0
            public void Should_Add_Default_Package_Version_To_Arguments_If_Not_Null()
            {
                // Given
                var fixture = new OctopusDeployReleaseCreatorFixture();

                fixture.Settings.DefaultPackageVersion = "1.5.2-beta";

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

                // Then
                Assert.Equal("create-release --project \"testProject\" " +
                             "--server http://octopus --apiKey API-12345 " +
                             "--defaultpackageversion \"1.5.2-beta\"", result.Args);
            }
Пример #12
0
            public void Should_Add_Release_Notes_To_Arguments_If_Not_Null()
            {
                // Given
                var fixture = new OctopusDeployReleaseCreatorFixture();

                fixture.Settings.ReleaseNotes = @"LOL";

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

                // Then
                Assert.Equal("create-release --project \"testProject\" " +
                             "--server http://octopus --apiKey API-12345 " +
                             "--releasenotes \"LOL\"", result.Args);
            }
Пример #13
0
            public void Should_Add_Username_To_Arguments_If_Not_Null()
            {
                // Given
                var fixture = new OctopusDeployReleaseCreatorFixture();

                fixture.Settings.Username = "******";

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

                // Then
                Assert.Equal("create-release --project \"testProject\" " +
                             "--server http://octopus --apiKey API-12345 " +
                             "--username \"mike123\"", result.Args);
            }
Пример #14
0
            public void Should_Add_Release_Notes_File_To_Arguments_If_Not_Null()
            {
                // Given
                var fixture = new OctopusDeployReleaseCreatorFixture();

                fixture.Settings.ReleaseNotesFile = @"some\folder\releaseNotes.txt";

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

                // Then
                Assert.Equal("create-release --project \"testProject\" " +
                             "--server http://octopus --apiKey API-12345 " +
                             "--releasenotesfile \"/Working/some/folder/releaseNotes.txt\"", result.Args);
            }
Пример #15
0
            public void Should_Add_Enable_Service_Messages_Flag_To_Arguments_If_Not_Null()
            {
                // Given
                var fixture = new OctopusDeployReleaseCreatorFixture();

                fixture.Settings.EnableServiceMessages = true;

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

                // Then
                Assert.Equal("create-release --project \"testProject\" " +
                             "--server http://octopus --apiKey API-12345 " +
                             "--enableServiceMessages", result.Args);
            }
Пример #16
0
            public void Should_Add_Configuration_File_To_Arguments_If_Not_Null()
            {
                // Given
                var fixture = new OctopusDeployReleaseCreatorFixture();

                fixture.Settings.ConfigurationFile = "configFile.txt";

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

                // Then
                Assert.Equal("create-release --project \"testProject\" " +
                             "--server http://octopus --apiKey API-12345 " +
                             "--configFile \"/Working/configFile.txt\"", result.Args);
            }
Пример #17
0
            public void Should_Add_Deployment_Environment_To_Arguments_If_Not_Null()
            {
                // Given
                var fixture = new OctopusDeployReleaseCreatorFixture();

                fixture.Settings.DeployTo = @"someenvironment";

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

                // Then
                Assert.Equal("create-release --project \"testProject\" " +
                             "--server http://octopus --apiKey API-12345 " +
                             "--deployto \"someenvironment\"", result.Args);
            }
Пример #18
0
            public void Should_Add_Default_Package_Version_To_Arguments_If_Not_Null()
            {
                // Given
                var fixture = new OctopusDeployReleaseCreatorFixture();

                fixture.Settings.DefaultPackageVersion = "1.5.2-beta";

                // When
                fixture.CreateRelease();

                // Then
                fixture.ProcessRunner.Received(1).Start(
                    Arg.Any <FilePath>(),
                    Arg.Is <ProcessSettings>(p =>
                                             p.Arguments.Render() ==
                                             fixture.GetDefaultArguments() + " --defaultpackageversion \"1.5.2-beta\""));
            }
Пример #19
0
            public void Should_Add_Release_Number_To_Arguments_If_Not_Null()
            {
                // Given
                var fixture = new OctopusDeployReleaseCreatorFixture();

                fixture.Settings.ReleaseNumber = "3.0.0";

                // When
                fixture.CreateRelease();

                // Then
                fixture.ProcessRunner.Received(1).Start(
                    Arg.Any <FilePath>(),
                    Arg.Is <ProcessSettings>(p =>
                                             p.Arguments.Render() ==
                                             fixture.GetDefaultArguments() + " --releaseNumber \"3.0.0\""));
            }
Пример #20
0
            public void Should_Add_Enable_Service_Messages_Flag_To_Arguments_If_Not_Null()
            {
                // Given
                var fixture = new OctopusDeployReleaseCreatorFixture();

                fixture.Settings.EnableServiceMessages = true;

                // When
                fixture.CreateRelease();

                // Then
                fixture.ProcessRunner.Received(1).Start(
                    Arg.Any <FilePath>(),
                    Arg.Is <ProcessSettings>(p =>
                                             p.Arguments.Render() ==
                                             fixture.GetDefaultArguments() + " --enableServiceMessages"));
            }
Пример #21
0
            public void Should_Add_Configuration_File_To_Arguments_If_Not_Null()
            {
                // Given
                var fixture = new OctopusDeployReleaseCreatorFixture();

                fixture.Settings.ConfigurationFile = "configFile.txt";

                // When
                fixture.CreateRelease();

                // Then
                fixture.ProcessRunner.Received(1).Start(
                    Arg.Any <FilePath>(),
                    Arg.Is <ProcessSettings>(p =>
                                             p.Arguments.Render() ==
                                             fixture.GetDefaultArguments() + " --configFile \"/Working/configFile.txt\""));
            }
Пример #22
0
            public void Should_Add_Password_To_Arguments_If_Not_Null()
            {
                // Given
                var fixture = new OctopusDeployReleaseCreatorFixture();

                fixture.Settings.Password = "******";

                // When
                fixture.CreateRelease();

                // Then
                fixture.ProcessRunner.Received(1).Start(
                    Arg.Any <FilePath>(),
                    Arg.Is <ProcessSettings>(p =>
                                             p.Arguments.Render() ==
                                             fixture.GetDefaultArguments() + " --password \"secret\""));
            }
Пример #23
0
            public void Should_Add_Username_To_Arguments_If_Not_Null()
            {
                // Given
                var fixture = new OctopusDeployReleaseCreatorFixture();

                fixture.Settings.Username = "******";

                // When
                fixture.CreateRelease();

                // Then
                fixture.ProcessRunner.Received(1).Start(
                    Arg.Any <FilePath>(),
                    Arg.Is <ProcessSettings>(p =>
                                             p.Arguments.Render() ==
                                             fixture.GetDefaultArguments() + " --username \"mike123\""));
            }
Пример #24
0
            public void Should_Add_Ignore_Existing_Flag_To_Arguments_If_Not_Null()
            {
                // Given
                var fixture = new OctopusDeployReleaseCreatorFixture();

                fixture.Settings.IgnoreExisting = true;

                // When
                fixture.CreateRelease();

                // Then
                fixture.ProcessRunner.Received(1).Start(
                    Arg.Any <FilePath>(),
                    Arg.Is <ProcessSettings>(p =>
                                             p.Arguments.Render() ==
                                             fixture.GetDefaultArguments() + " --ignoreexisting"));
            }
Пример #25
0
            public void Should_Add_RawLogFile_To_Arguments_If_Not_Null()
            {
                // Given
                var fixture = new OctopusDeployReleaseCreatorFixture();

                fixture.Settings.DeployTo   = "SomeEnvironment";
                fixture.Settings.RawLogFile = "someFile.txt";

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

                // Then
                Assert.Equal("create-release --project \"testProject\" " +
                             "--server http://octopus --apiKey API-12345 " +
                             "--deployto \"SomeEnvironment\" " +
                             "--rawlogfile \"/Working/someFile.txt\"", result.Args);
            }
Пример #26
0
            public void Should_Add_Release_Notes_To_Arguments_If_Not_Null()
            {
                // Given
                var fixture = new OctopusDeployReleaseCreatorFixture();

                fixture.Settings.ReleaseNotes = @"No significant changes in this version...";

                // When
                fixture.CreateRelease();

                // Then
                fixture.ProcessRunner.Received(1).Start(
                    Arg.Any <FilePath>(),
                    Arg.Is <ProcessSettings>(p =>
                                             p.Arguments.Render() ==
                                             fixture.GetDefaultArguments() + " --releasenotes \"No significant changes in this version...\""));
            }
Пример #27
0
            public void Should_Add_Release_Notes_File_To_Arguments_If_Not_Null()
            {
                // Given
                var fixture = new OctopusDeployReleaseCreatorFixture();

                fixture.Settings.ReleaseNotesFile = @"some\folder\releaseNotes.txt";

                // When
                fixture.CreateRelease();

                // Then
                fixture.ProcessRunner.Received(1).Start(
                    Arg.Any <FilePath>(),
                    Arg.Is <ProcessSettings>(p =>
                                             p.Arguments.Render() ==
                                             fixture.GetDefaultArguments() + " --releasenotesfile \"/Working/some/folder/releaseNotes.txt\""));
            }
Пример #28
0
            public void Should_Add_Project_Name_Server_And_Api_Key_To_Arguments()
            {
                // Given
                var fixture = new OctopusDeployReleaseCreatorFixture();

                fixture.ProjectName     = "myProject";
                fixture.Settings.Server = "http://myoctopusserver/";
                fixture.Settings.ApiKey = "API-ABCDEF123456";

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

                // Then
                Assert.Equal("create-release --project \"myProject\" " +
                             "--server http://myoctopusserver/ " +
                             "--apiKey API-ABCDEF123456", result.Args);
            }
Пример #29
0
            public void Should_Add_NoRawLog_To_Arguments_If_Specified()
            {
                // Given
                var fixture = new OctopusDeployReleaseCreatorFixture();

                fixture.Settings.DeployTo = "SomeEnvironment";
                fixture.Settings.NoRawLog = true;

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

                // Then
                Assert.Equal("create-release --project \"testProject\" " +
                             "--server http://octopus --apiKey API-12345 " +
                             "--deployto \"SomeEnvironment\" " +
                             "--norawlog", result.Args);
            }
Пример #30
0
            public void Should_Add_DeployAt_To_Arguments_If_Specified()
            {
                // Given
                var fixture = new OctopusDeployReleaseCreatorFixture();

                fixture.Settings.DeployTo = "SomeEnvironment";
                fixture.Settings.DeployAt = new DateTime(2010, 6, 15).AddMinutes(1);

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

                // Then
                Assert.Equal("create-release --project \"testProject\" " +
                             "--server http://octopus --apiKey API-12345 " +
                             "--deployto \"SomeEnvironment\" " +
                             "--deployat=\"2010-06-15 00:01\"", result.Args);
            }