public void Should_Execute_Process_With_Custom_Folder_Names() { // Given var fixture = new RoundhouseRunnerFixture(); fixture.Settings.AfterMigrationFolderName = "986b0e4a"; fixture.Settings.AlterDatabaseFolderName = "33a51d15"; fixture.Settings.BeforeMigrationFolderName = "829fb71e"; fixture.Settings.FunctionsFolderName = "6469e1bc"; fixture.Settings.IndexesFolderName = "87135f26"; fixture.Settings.PermissionsFolderName = "48dace7b"; fixture.Settings.RunAfterCreateDatabaseFolderName = "cac8f0e7"; fixture.Settings.RunAfterOtherAnyTimeScriptsFolderName = "d938b4d8"; fixture.Settings.RunBeforeUpFolderName = "92dfa577"; fixture.Settings.RunFirstAfterUpFolderName = "e415f686"; fixture.Settings.SprocsFolderName = "68117fd5"; fixture.Settings.ViewsFolderName = "eeb4dc87"; fixture.Settings.UpFolderName = "3b6998dd"; // When var result = fixture.Run(); // Then Assert.Equal("\"--amg=986b0e4a\" \"--ad=33a51d15\" \"--bmg=829fb71e\" \"--fu=6469e1bc\" " + "\"--ix=87135f26\" \"--p=48dace7b\" \"--racd=cac8f0e7\" \"--ra=d938b4d8\" \"--rb=92dfa577\" \"--rf=e415f686\" " + "\"--sp=68117fd5\" \"--vw=eeb4dc87\" \"--u=3b6998dd\"", result.Args); }
public void Should_Execute_Process_With_Custom_Folder_Names() { // Given var fixture = new RoundhouseRunnerFixture(); var runner = fixture.CreateRunner(); // When runner.Run(new RoundhouseSettings { AfterMigrationFolderName = "986b0e4a", AlterDatabaseFolderName = "33a51d15", BeforeMigrationFolderName = "829fb71e", FunctionsFolderName = "6469e1bc", IndexesFolderName = "87135f26", PermissionsFolderName = "48dace7b", RunAfterCreateDatabaseFolderName = "cac8f0e7", RunAfterOtherAnyTimeScriptsFolderName = "d938b4d8", RunBeforeUpFolderName = "92dfa577", RunFirstAfterUpFolderName = "e415f686", SprocsFolderName = "68117fd5", ViewsFolderName = "eeb4dc87", UpFolderName = "3b6998dd", }); // Then fixture.ProcessRunner.Received(1).Start( Arg.Any <FilePath>(), Arg.Is <ProcessSettings>( p => p.Arguments.Render() == "\"--amg=986b0e4a\" \"--ad=33a51d15\" \"--bmg=829fb71e\" \"--fu=6469e1bc\" " + "\"--ix=87135f26\" \"--p=48dace7b\" \"--racd=cac8f0e7\" \"--ra=d938b4d8\" \"--rb=92dfa577\" \"--rf=e415f686\" " + "\"--sp=68117fd5\" \"--vw=eeb4dc87\" \"--u=3b6998dd\"")); }
public void Should_Execute_Process_With_Roundhouse_Settings() { // Given var fixture = new RoundhouseRunnerFixture(); var runner = fixture.CreateRunner(); // When runner.Run(new RoundhouseSettings { CreateDatabaseCustomScript = "cust-create.sql", DatabaseType = "roundhouse.databases.postgresql", Environment = "STAGING", OutputPath = "out_path", RepositoryPath = "[email protected]:chucknorris/roundhouse.git", SqlFilesDirectory = "/db/scripts", VersionFile = "version.xml", VersionXPath = "/Build/Version", }); // Then fixture.ProcessRunner.Received(1).Start( Arg.Any <FilePath>(), Arg.Is <ProcessSettings>( p => p.Arguments.Render() == "\"--cds=cust-create.sql\" \"--dt=roundhouse.databases.postgresql\" \"--env=STAGING\" " + "\"--o=out_path\" \"[email protected]:chucknorris/roundhouse.git\" \"--f=/db/scripts\" \"--vf=version.xml\" \"--vx=/Build/Version\"")); }
public void Should_Execute_Process_With_Roundhouse_Settings() { // Given var fixture = new RoundhouseRunnerFixture(); fixture.Settings.CreateDatabaseCustomScript = "cust-create.sql"; fixture.Settings.DatabaseType = "roundhouse.databases.postgresql"; fixture.Settings.Environment = "STAGING"; fixture.Settings.OutputPath = "out_path"; fixture.Settings.RepositoryPath = "[email protected]:chucknorris/roundhouse.git"; fixture.Settings.SqlFilesDirectory = "/db/scripts"; fixture.Settings.VersionFile = "version.xml"; fixture.Settings.VersionXPath = "/Build/Version"; // When var result = fixture.Run(); // Then Assert.Equal("\"--cds=cust-create.sql\" " + "\"--dt=roundhouse.databases.postgresql\" " + "\"--env=STAGING\" \"--o=out_path\" " + "\"[email protected]:chucknorris/roundhouse.git\" " + "\"--f=/db/scripts\" \"--vf=version.xml\" " + "\"--vx=/Build/Version\"", result.Args); }
public void Should_Execute_Process_With_Database_Settings() { // Given var fixture = new RoundhouseRunnerFixture(); var runner = fixture.CreateRunner(); // When runner.Run(new RoundhouseSettings { CommandTimeout = 12, CommandTimeoutAdmin = 23, ConnectionString = "server=foo;db=bar", ConnectionStringAdmin = "server=fooAd;db=barAd", DatabaseName = "qux", RecoveryMode = RecoveryMode.Full, RestoreFilePath = "/backs/restore", SchemaName = "RH", ServerName = "Server Foo", }); // Then fixture.ProcessRunner.Received(1).Start( Arg.Any <FilePath>(), Arg.Is <ProcessSettings>( p => p.Arguments.RenderSafe() == "\"--ct=12\" \"--cta=23\" \"[REDACTED]\" \"[REDACTED]\" " + "\"--d=qux\" \"--rcm=Full\" \"--rfp=/backs/restore\" \"--sc=RH\" \"--s=Server Foo\"")); }
public void Should_Execute_Process_With_Flags() { // Given var fixture = new RoundhouseRunnerFixture(); fixture.Settings.Drop = true; fixture.Settings.DryRun = true; fixture.Settings.Restore = true; fixture.Settings.Silent = true; fixture.Settings.WarnOnOneTimeScriptChanges = true; fixture.Settings.WithTransaction = true; fixture.Settings.Baseline = true; fixture.Settings.RunAllAnyTimeScripts = true; fixture.Settings.SearchAllSubdirectoriesInsteadOfTraverse = true; fixture.Settings.DisableTokenReplacement = true; fixture.Settings.RunAllAnyTimeScripts = true; fixture.Settings.Debug = true; fixture.Settings.DisableOutput = true; fixture.Settings.DoNotCreateDatabase = true; // When var result = fixture.Run(); // Then Assert.Equal("--drop --dryrun --restore --silent --baseline --searchallinsteadoftraverse --disabletokens --runallanytimescripts --debug --disableoutput --donotcreatedatabase --w --t", result.Args); }
public void Should_Find_Roundhouse_Executable_If_Tool_Path_Not_Provided() { // Given var fixture = new RoundhouseRunnerFixture(); // When var result = fixture.Run(); // Then Assert.Equal("/Working/tools/rh.exe", result.Path.FullPath); }
public void Should_Set_Working_Directory() { // Given var fixture = new RoundhouseRunnerFixture(); // When var result = fixture.Run(); // Then Assert.Equal("/Working", result.Process.WorkingDirectory.FullPath); }
public void Should_Throw_if_Roundhouse_Executable_Was_Not_Found() { // Given var fixture = new RoundhouseRunnerFixture(defaultToolExist: false); var runner = fixture.CreateRunner(); // When var result = Record.Exception(() => runner.Run(new RoundhouseSettings())); // Then Assert.IsType <CakeException>(result); Assert.Equal("Roundhouse: Could not locate executable.", result.Message); }
public void Should_Find_Roundhouse_Executable_If_Tool_Path_Not_Provided() { // Given var fixture = new RoundhouseRunnerFixture(); var runner = fixture.CreateRunner(); // When runner.Run(new RoundhouseSettings()); // Then fixture.ProcessRunner.Received(1).Start( Arg.Is <FilePath>(p => p.FullPath == "/Working/tools/rh.exe"), Arg.Any <ProcessSettings>()); }
public void Should_Throw_If_Process_Has_A_Non_Zero_Exit_Code() { // Given var fixture = new RoundhouseRunnerFixture(); fixture.GivenProcessExitsWithCode(1); // When var result = Record.Exception(() => fixture.Run()); // Then Assert.IsType <CakeException>(result); Assert.Equal("Roundhouse: Process returned an error (exit code 1).", result.Message); }
public void Should_Throw_If_Process_Was_Not_Started() { // Given var fixture = new RoundhouseRunnerFixture(); fixture.GivenProcessCannotStart(); // When var result = Record.Exception(() => fixture.Run()); // Then Assert.IsType <CakeException>(result); Assert.Equal("Roundhouse: Process was not started.", result.Message); }
public void Should_Use_Roundhouse_Executable_From_Tool_Path_If_Provided_On_Windows(string toolPath, string expected) { // Given var fixture = new RoundhouseRunnerFixture(); fixture.Settings.ToolPath = toolPath; fixture.GivenSettingsToolPathExist(); // When var result = fixture.Run(); // Then Assert.Equal(expected, result.Path.FullPath); }
public void Should_Throw_if_Roundhouse_Executable_Was_Not_Found() { // Given var fixture = new RoundhouseRunnerFixture(); fixture.GivenDefaultToolDoNotExist(); // When var result = Record.Exception(() => fixture.Run()); // Then Assert.IsType <CakeException>(result); Assert.Equal("Roundhouse: Could not locate executable.", result.Message); }
public void Should_Throw_If_Process_Has_A_Non_Zero_Exit_Code() { // Given var fixture = new RoundhouseRunnerFixture(); fixture.Process.GetExitCode().Returns(1); var runner = fixture.CreateRunner(); // When var result = Record.Exception(() => runner.Run(new RoundhouseSettings())); // Then Assert.IsType <CakeException>(result); Assert.Equal("Roundhouse: Process returned an error.", result.Message); }
public void Should_Set_Working_Directory() { // Given var fixture = new RoundhouseRunnerFixture(); var runner = fixture.CreateRunner(); // When runner.Run(new RoundhouseSettings()); // Then fixture.ProcessRunner.Received(1).Start( Arg.Any <FilePath>(), Arg.Is <ProcessSettings>( p => p.WorkingDirectory.FullPath == "/Working")); }
public void Should_Throw_If_Process_Was_Not_Started() { // Given var fixture = new RoundhouseRunnerFixture(); fixture.ProcessRunner.Start(Arg.Any <FilePath>(), Arg.Any <ProcessSettings>()).Returns((IProcess)null); var runner = fixture.CreateRunner(); // When var result = Record.Exception(() => runner.Run(new RoundhouseSettings())); // Then Assert.IsType <CakeException>(result); Assert.Equal("Roundhouse: Process was not started.", result.Message); }
public void Should_Use_Roundhouse_Executable_From_Tool_Path_If_Provided(string toolPath, string expected) { // Given var fixture = new RoundhouseRunnerFixture(expected); var runner = fixture.CreateRunner(); // When runner.Run(new RoundhouseSettings { ToolPath = toolPath, }); // Then fixture.ProcessRunner.Received(1).Start( Arg.Is <FilePath>(p => p.FullPath == expected), Arg.Any <ProcessSettings>()); }
public void Should_Execute_Process_With_Flags() { // Given var fixture = new RoundhouseRunnerFixture(); fixture.Settings.Drop = true; fixture.Settings.DryRun = true; fixture.Settings.Restore = true; fixture.Settings.Silent = true; fixture.Settings.WarnOnOneTimeScriptChanges = true; fixture.Settings.WithTransaction = true; // When var result = fixture.Run(); // Then Assert.Equal("--drop --dryrun --restore --silent --w --t", result.Args); }
public void Should_Execute_Process_With_Flags() { // Given var fixture = new RoundhouseRunnerFixture(); var runner = fixture.CreateRunner(); // When runner.Run(new RoundhouseSettings { Drop = true, DryRun = true, Restore = true, Silent = true, WarnOnOneTimeScriptChanges = true, WithTransaction = true, }); // Then fixture.ProcessRunner.Received(1).Start( Arg.Any <FilePath>(), Arg.Is <ProcessSettings>( p => p.Arguments.Render() == "--drop --dryrun --restore --silent --w --t")); }
public void Should_Execute_Process_With_Database_Settings() { // Given var fixture = new RoundhouseRunnerFixture(); fixture.Settings.CommandTimeout = 12; fixture.Settings.CommandTimeoutAdmin = 23; fixture.Settings.ConnectionString = "server=foo;db=bar"; fixture.Settings.ConnectionStringAdmin = "server=fooAd;db=barAd"; fixture.Settings.DatabaseName = "qux"; fixture.Settings.RecoveryMode = RecoveryMode.Full; fixture.Settings.RestoreFilePath = "/backs/restore"; fixture.Settings.SchemaName = "RH"; fixture.Settings.ServerName = "Server Foo"; // When var result = fixture.Run(); // Then Assert.Equal("\"--ct=12\" \"--cta=23\" \"--cs=server=foo;db=bar\" " + "\"--csa=server=fooAd;db=barAd\" \"--d=qux\" " + "\"--rcm=Full\" \"--rfp=/backs/restore\" " + "\"--sc=RH\" \"--s=Server Foo\"", result.Args); }