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

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

                // Then
                Assert.Equal("/Working/tools/Octo.exe", result.Path.FullPath);
            }
Esempio n. 2
0
            public void Should_Add_All_Deploymnet_Arguments()
            {
                // Given
                var fixture = new OctopusDeployReleaseCreatorFixture();

                fixture.Settings.DeployTo                  = "SomeEnvironment";
                fixture.Settings.ShowProgress              = true;
                fixture.Settings.ForcePackageDownload      = true;
                fixture.Settings.WaitForDeployment         = true;
                fixture.Settings.DeploymentTimeout         = TimeSpan.FromMinutes(1);
                fixture.Settings.CancelOnTimeout           = true;
                fixture.Settings.DeploymentChecksLeepCycle = TimeSpan.FromMinutes(77);
                fixture.Settings.GuidedFailure             = true;
                fixture.Settings.SpecificMachines          = new string[] { "Machine1", "Machine2" };
                fixture.Settings.Force      = true;
                fixture.Settings.SkipSteps  = new[] { "Step1", "Step2" };
                fixture.Settings.NoRawLog   = true;
                fixture.Settings.RawLogFile = "someFile.txt";
                fixture.Settings.Variables.Add(new KeyValuePair <string, string>("var1", "value1"));
                fixture.Settings.Variables.Add(new KeyValuePair <string, string>("var2", "value2"));
                fixture.Settings.DeployAt   = new DateTime(2010, 6, 15).AddMinutes(1);
                fixture.Settings.Tenant     = new[] { "Tenant1", "Tenant2" };
                fixture.Settings.TenantTags = new[] { "Tag1", "Tag2" };

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

                // Then
                Assert.Equal("create-release --project \"testProject\" " +
                             "--server http://octopus --apiKey API-12345 " +
                             "--deployto \"SomeEnvironment\" " +
                             "--progress " +
                             "--forcepackagedownload " +
                             "--waitfordeployment " +
                             "--deploymenttimeout=\"00:01:00\" " +
                             "--cancelontimeout " +
                             "--deploymentchecksleepcycle=\"01:17:00\" " +
                             "--guidedfailure=True " +
                             "--specificmachines=\"Machine1,Machine2\" " +
                             "--force " +
                             "--skip=\"Step1\" " +
                             "--skip=\"Step2\" " +
                             "--norawlog " +
                             "--rawlogfile \"/Working/someFile.txt\" " +
                             "--variable=\"var1:value1\" " +
                             "--variable=\"var2:value2\" " +
                             "--deployat=\"2010-06-15 00:01\" " +
                             "--tenant=\"Tenant1\" " +
                             "--tenant=\"Tenant2\" " +
                             "--tenanttag=\"Tag1\" " +
                             "--tenanttag=\"Tag2\"", result.Args);
            }
Esempio n. 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");
            }
Esempio n. 4
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.");
            }
Esempio n. 5
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.");
            }
Esempio n. 6
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");
            }
Esempio n. 7
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.");
            }
Esempio n. 8
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).");
            }
Esempio n. 9
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);
            }
Esempio n. 10
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);
            }
Esempio n. 11
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);
            }
Esempio n. 12
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);
            }
Esempio n. 13
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);
            }
Esempio n. 14
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);
            }
Esempio n. 15
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);
            }
Esempio n. 16
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);
            }
Esempio n. 17
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);
            }
Esempio n. 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
                var result = fixture.Run();

                // Then
                Assert.Equal("create-release --project \"testProject\" " +
                             "--server http://octopus --apiKey API-12345 " +
                             "--defaultpackageversion \"1.5.2-beta\"", result.Args);
            }
Esempio n. 19
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);
            }
Esempio n. 20
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);
            }
Esempio n. 21
0
            public void Should_Add_GuidedFailure_To_Arguments_If_False()
            {
                // Given
                var fixture = new OctopusDeployReleaseCreatorFixture();

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

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

                // Then
                Assert.Equal("create-release --project \"testProject\" " +
                             "--server http://octopus --apiKey API-12345 " +
                             "--deployto \"SomeEnvironment\" " +
                             "--guidedfailure=True", result.Args);
            }
Esempio n. 22
0
            public void Should_Add_DeploymentChecksLeepCycle_To_Arguments_If_Not_Null()
            {
                // Given
                var fixture = new OctopusDeployReleaseCreatorFixture();

                fixture.Settings.DeployTo = "SomeEnvironment";
                fixture.Settings.DeploymentChecksLeepCycle = TimeSpan.FromMinutes(77);

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

                // Then
                Assert.Equal("create-release --project \"testProject\" " +
                             "--server http://octopus --apiKey API-12345 " +
                             "--deployto \"SomeEnvironment\" " +
                             "--deploymentchecksleepcycle=\"01:17:00\"", result.Args);
            }
Esempio n. 23
0
            public void Should_Add_SpecificMachines_To_Arguments_If_NotNull()
            {
                // Given
                var fixture = new OctopusDeployReleaseCreatorFixture();

                fixture.Settings.DeployTo         = "SomeEnvironment";
                fixture.Settings.SpecificMachines = new string[] { "Machine1", "Machine2" };

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

                // Then
                Assert.Equal("create-release --project \"testProject\" " +
                             "--server http://octopus --apiKey API-12345 " +
                             "--deployto \"SomeEnvironment\" " +
                             "--specificmachines=\"Machine1,Machine2\"", result.Args);
            }
Esempio n. 24
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);
            }
Esempio n. 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);
            }
Esempio n. 26
0
            public void Should_Add_TenantTags_To_Arguments_If_Specified()
            {
                // Given
                var fixture = new OctopusDeployReleaseCreatorFixture();

                fixture.Settings.DeployTo   = "SomeEnvironment";
                fixture.Settings.TenantTags = new[] { "Tag1", "Tag2" };

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

                // Then
                Assert.Equal("create-release --project \"testProject\" " +
                             "--server http://octopus --apiKey API-12345 " +
                             "--deployto \"SomeEnvironment\" " +
                             "--tenanttag=\"Tag1\" " +
                             "--tenanttag=\"Tag2\"", result.Args);
            }
Esempio n. 27
0
            public void Should_Add_Package_And_Step_To_Arguments_If_Specified()
            {
                // Given
                var fixture = new OctopusDeployReleaseCreatorFixture();

                fixture.Settings.Packages = new Dictionary <string, string>
                {
                    { "StepA", "1.0.1" }
                };

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

                // Then
                Assert.Equal("create-release --project \"testProject\" " +
                             "--server http://octopus --apiKey API-12345 " +
                             "--package \"StepA:1.0.1\"", result.Args);
            }
Esempio n. 28
0
            public void Should_Add_Variables_To_Arguments_If_Specified()
            {
                // Given
                var fixture = new OctopusDeployReleaseCreatorFixture();

                fixture.Settings.DeployTo = "SomeEnvironment";
                fixture.Settings.Variables.Add(new KeyValuePair <string, string>("var1", "value1"));
                fixture.Settings.Variables.Add(new KeyValuePair <string, string>("var2", "value2"));

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

                // Then
                Assert.Equal("create-release --project \"testProject\" " +
                             "--server http://octopus --apiKey API-12345 " +
                             "--deployto \"SomeEnvironment\" " +
                             "--variable=\"var1:value1\" " +
                             "--variable=\"var2:value2\"", result.Args);
            }