public void CanHandleDelimiter() { var recordingDbConnection = new RecordingDbConnection(true); var upgrader = DeployChanges.To .MySqlDatabase(string.Empty) .OverrideConnectionFactory(recordingDbConnection) .WithScript("Script0003", @"USE `test`; DROP procedure IF EXISTS `testSproc`; DELIMITER $$ USE `test`$$ CREATE PROCEDURE `testSproc`( IN ssn VARCHAR(32) ) BEGIN SELECT id FROM customer as c WHERE c.ssn = ssn ; END$$").Build(); var result = upgrader.PerformUpgrade(); result.Successful.ShouldBe(true); var commandLog = recordingDbConnection.GetCommandLog(); try { Approvals.Verify(commandLog, Scrubbers.ScrubDates); } catch (Exception) { Console.WriteLine(commandLog); throw; } }
private void DbUpSetupToUseSingleTransaction() { testConnection = new RecordingDbConnection(false); upgradeEngineBuilder = DeployChanges.To .TestDatabase(testConnection) .WithTransaction(); }
private Action Deploy(Func<SupportedDatabases, UpgradeEngineBuilder> deployTo) { return () => { scripts = new List<SqlScript>(); recordingConnection = new RecordingDbConnection(false); testConnectionFactory = new DelegateConnectionFactory(_ => recordingConnection); upgradeEngineBuilder = deployTo(DeployChanges.To) .WithScripts(scripts); upgradeEngineBuilder .Configure(c => ((DatabaseConnectionManager) c.ConnectionManager).OverrideFactoryForTest(testConnectionFactory)); }; }
private Action Deploy(Func<SupportedDatabases, UpgradeEngineBuilder> deployTo, Func<UpgradeEngineBuilder, string, string, UpgradeEngineBuilder> addCustomNamedJournal) { return () => { scripts = new List<SqlScript>(); recordingConnection = new RecordingDbConnection(false); testConnectionFactory = new DelegateConnectionFactory(_ => recordingConnection); upgradeEngineBuilder = deployTo(DeployChanges.To) .WithScripts(scripts) .OverrideConnectionFactory(testConnectionFactory); addCustomNamedJournalToBuilder = addCustomNamedJournal; }; }