public void Should_Throw_If_FileOutputPath_Is_Null() { // Given var fixture = new GitReleaseManagerExporterFixture(); fixture.FileOutputPath = null; // When var result = Record.Exception(() => fixture.Export()); // Then Assert.IsArgumentNullException(result, "fileOutputPath"); }
public void Should_Throw_If_Settings_Are_Null() { // Given var fixture = new GitReleaseManagerExporterFixture(); fixture.Settings = null; // When var result = Record.Exception(() => fixture.Export()); // Then Assert.IsArgumentNullException(result, "settings"); }
public void Should_Add_Mandatory_Arguments() { // Given var fixture = new GitReleaseManagerExporterFixture(); // When fixture.Export(); // Then fixture.ProcessRunner.Received(1).Start( Arg.Any <FilePath>(), Arg.Is <ProcessSettings>(p => p.Arguments.Render() == "export -u \"bob\" -p \"password\" -o \"repoOwner\" -r \"repo\" -f \"c:/temp\"")); }
public void Should_Throw_If_Repository_Is_Null() { // Given var fixture = new GitReleaseManagerExporterFixture(); fixture.Repository = string.Empty; // When var result = Record.Exception(() => fixture.Export()); // Then Assert.IsArgumentNullException(result, "repository"); }
public void Should_Find_GitReleaseManager_Executable_If_Tool_Path_Not_Provided() { // Given var fixture = new GitReleaseManagerExporterFixture(); // When fixture.Export(); // Then fixture.ProcessRunner.Received(1).Start( Arg.Is <FilePath>(p => p.FullPath == "/Working/tools/GitReleaseManager.exe"), Arg.Any <ProcessSettings>()); }
public void Should_Throw_If_Process_Has_A_Non_Zero_Exit_Code() { // Given var fixture = new GitReleaseManagerExporterFixture(); fixture.GivenProcessReturnError(); // When var result = Record.Exception(() => fixture.Export()); // Then Assert.IsCakeException(result, "GitReleaseManager: Process returned an error."); }
public void Should_Throw_If_Process_Was_Not_Started() { // Given var fixture = new GitReleaseManagerExporterFixture(); fixture.GivenProcessCannotStart(); // When var result = Record.Exception(() => fixture.Export()); // Then Assert.IsCakeException(result, "GitReleaseManager: Process was not started."); }
public void Should_Throw_If_GitReleaseManager_Executable_Was_Not_Found() { // Given var fixture = new GitReleaseManagerExporterFixture(); fixture.GivenDefaultToolDoNotExist(); // When var result = Record.Exception(() => fixture.Export()); // Then Assert.IsCakeException(result, "GitReleaseManager: Could not locate executable."); }
public void Should_Use_NuGet_Executable_From_Tool_Path_If_Provided(string toolPath, string expected) { // Given var fixture = new GitReleaseManagerExporterFixture(); fixture.GivenCustomToolPathExist(expected); fixture.Settings.ToolPath = toolPath; // When fixture.Export(); // Then fixture.ProcessRunner.Received(1).Start( Arg.Is <FilePath>(p => p.FullPath == expected), Arg.Any <ProcessSettings>()); }