public void Should_Throw_If_Process_Was_Not_Started() { // Given var fixture = new ChocolateyInstallerFixture(); fixture.GivenProcessCannotStart(); // When var result = Record.Exception(() => fixture.Install()); // Then Assert.IsCakeException(result, "Chocolatey: Process was not started."); }
public void Should_Throw_If_Process_Has_A_Non_Zero_Exit_Code() { // Given var fixture = new ChocolateyInstallerFixture(); fixture.GivenProcessReturnError(); // When var result = Record.Exception(() => fixture.Install()); // Then Assert.IsCakeException(result, "Chocolatey: Process returned an error."); }
public void Should_Throw_If_Settings_Are_Null() { // Given var fixture = new ChocolateyInstallerFixture(); fixture.Settings = null; // When var result = Record.Exception(() => fixture.Install()); // Then Assert.IsArgumentNullException(result, "settings"); }
public void Should_Throw_If_Chocolatey_Executable_Was_Not_Found() { // Given var fixture = new ChocolateyInstallerFixture(); fixture.GivenDefaultToolDoNotExist(); // When var result = Record.Exception(() => fixture.Install()); // Then Assert.IsCakeException(result, "Chocolatey: Could not locate executable."); }
public void Should_Add_Mandatory_Arguments() { // Given var fixture = new ChocolateyInstallerFixture(); // When fixture.Install(); // Then fixture.ProcessRunner.Received(1).Start( Arg.Any <FilePath>(), Arg.Is <ProcessSettings>(p => p.Arguments.Render() == "install \"Cake\" -y")); }
public void Should_Throw_If_Target_Package_Id_Is_Null() { // Given var fixture = new ChocolateyInstallerFixture(); fixture.PackageId = null; // When var result = Record.Exception(() => fixture.Install()); // Then Assert.IsArgumentNullException(result, "packageId"); }
public void Should_Find_Chocolatey_Executable_If_Tool_Path_Not_Provided() { // Given var fixture = new ChocolateyInstallerFixture(); // When fixture.Install(); // Then fixture.ProcessRunner.Received(1).Start( Arg.Is <FilePath>(p => p.FullPath == "/Working/tools/choco.exe"), Arg.Any <ProcessSettings>()); }
public void Should_Add_IgnoreChecksums_Flag_To_Arguments_If_Set(bool ignoreChecksums, string expected) { // Given var fixture = new ChocolateyInstallerFixture(); fixture.Settings.IgnoreChecksums = ignoreChecksums; // When fixture.Install(); // Then fixture.ProcessRunner.Received(1).Start( Arg.Any <FilePath>(), Arg.Is <ProcessSettings>(p => p.Arguments.Render() == expected)); }
public void Should_Add_Password_To_Arguments_If_Set(string password, string expected) { // Given var fixture = new ChocolateyInstallerFixture(); fixture.Settings.Password = password; // When fixture.Install(); // Then fixture.ProcessRunner.Received(1).Start( Arg.Any <FilePath>(), Arg.Is <ProcessSettings>(p => p.Arguments.Render() == expected)); }
public void Should_Add_SkipPowerShell_Flag_To_Arguments_If_Set(bool skipPowerShell, string expected) { // Given var fixture = new ChocolateyInstallerFixture(); fixture.Settings.SkipPowerShell = skipPowerShell; // When fixture.Install(); // Then fixture.ProcessRunner.Received(1).Start( Arg.Any <FilePath>(), Arg.Is <ProcessSettings>(p => p.Arguments.Render() == expected)); }
public void Should_Add_Source_To_Arguments_If_Set() { // Given var fixture = new ChocolateyInstallerFixture(); fixture.Settings.Source = "A"; // When fixture.Install(); // Then fixture.ProcessRunner.Received(1).Start( Arg.Any <FilePath>(), Arg.Is <ProcessSettings>(p => p.Arguments.Render() == "install \"Cake\" -y -s \"A\"")); }
public void Should_Add_CacheLocation_Flag_To_Arguments_If_Set(string cacheLocation, string expected) { // Given var fixture = new ChocolateyInstallerFixture(); fixture.Settings.CacheLocation = cacheLocation; // When fixture.Install(); // Then fixture.ProcessRunner.Received(1).Start( Arg.Any <FilePath>(), Arg.Is <ProcessSettings>(p => p.Arguments.Render() == expected)); }
public void Should_Add_ExecutionTimeout_To_Arguments_If_Set(int executionTimeout, string expected) { // Given var fixture = new ChocolateyInstallerFixture(); fixture.Settings.ExecutionTimeout = executionTimeout; // When fixture.Install(); // Then fixture.ProcessRunner.Received(1).Start( Arg.Any <FilePath>(), Arg.Is <ProcessSettings>(p => p.Arguments.Render() == expected)); }
public void Should_Use_Chocolatey_Executable_From_Tool_Path_If_Provided(string toolPath, string expected) { // Given var fixture = new ChocolateyInstallerFixture(); fixture.GivenCustomToolPathExist(expected); fixture.Settings.ToolPath = toolPath; // When fixture.Install(); // Then fixture.ProcessRunner.Received(1).Start( Arg.Is <FilePath>(p => p.FullPath == expected), Arg.Any <ProcessSettings>()); }
public void Should_Add_Version_To_Arguments_If_Not_Null() { // Given var fixture = new ChocolateyInstallerFixture(); fixture.Settings.Version = "1.0.0"; // When fixture.Install(); // Then fixture.ProcessRunner.Received(1).Start( Arg.Any <FilePath>(), Arg.Is <ProcessSettings>(p => p.Arguments.Render() == "install \"Cake\" -y --version \"1.0.0\"")); }