Esempio n. 1
0
        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;
            }
        }
Esempio n. 2
0
 private void DbUpSetupToUseSingleTransaction()
 {
     testConnection = new RecordingDbConnection(false);
     upgradeEngineBuilder = DeployChanges.To
         .TestDatabase(testConnection)
         .WithTransaction();
 }
Esempio n. 3
0
 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));
     };
 }
Esempio n. 4
0
        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;
            };
        }