Пример #1
0
        public void ShouldLogNoAction()
        {
            DbUpgrader.PerformUpgrade();

            Log.Received().WriteInformation("Beginning database upgrade");
            Log.Received().WriteInformation("No new scripts need to be executed - completing.");
        }
Пример #2
0
        public void ShouldLogInformation()
        {
            DbUpgrader.PerformUpgrade();

            Log.Received().WriteInformation("Beginning database upgrade");
            Log.Received().WriteInformation("Upgrade successful");
        }
Пример #3
0
 public void ShouldTrackExecutedScripts()
 {
     DbUpgrader
     .PerformUpgrade()
     .Scripts.ToList()
     .ForEach(script => VersionTracker.Received().StoreExecutedScript(script));
 }
Пример #4
0
        public void ShouldLogAnErrorWhenUpgradeFails()
        {
            var ex = new InvalidOperationException();

            ScriptProvider.GetScripts(Arg.Any <Func <IDbConnection> >()).Returns(provider => { throw ex; });
            DbUpgrader.PerformUpgrade();
            Log.Received().WriteError("Upgrade failed due to an unexpected exception:\r\n{0}", ex.ToString());
        }
Пример #5
0
        public void ShouldRunAllScriptsInTheOrderProvided()
        {
            var result = DbUpgrader.PerformUpgrade();

            Assert.AreEqual("0001.sql", result.Scripts.ElementAt(0).Name);
            Assert.AreEqual("0004.sql", result.Scripts.ElementAt(1).Name);
            Assert.AreEqual("0002.sql", result.Scripts.ElementAt(2).Name);
        }
Пример #6
0
        public void ShouldRunAllScripts()
        {
            var result = DbUpgrader.PerformUpgrade();

            Assert.IsTrue(result.Scripts.All(script =>
                                             AllScripts.Contains(script)
                                             ));
        }
Пример #7
0
        public void ShouldExecuteCorrectScript()
        {
            var result         = DbUpgrader.PerformUpgrade();
            var expectedScript = AllScripts.Last();

            ScriptExecutor.Received().Execute(expectedScript, Arg.Any <IDictionary <string, string> >());
            VersionTracker.Received().StoreExecutedScript(expectedScript);

            Assert.AreEqual(expectedScript, result.Scripts.First());
        }
Пример #8
0
        public void ShouldReturnFailedResult()
        {
            var ex = new InvalidOperationException();

            ScriptProvider.GetScripts(Arg.Any <Func <IDbConnection> >()).Returns(provider => { throw ex; });
            var result = DbUpgrader.PerformUpgrade();

            Assert.That(result.Successful == false);
            Assert.That(result.Scripts.Count() == 0);
            Assert.That(result.Error == ex);
        }
        private void UpgradeDb()
        {
            var dbUpgrader = new DbUpgrader(WebHelper.Settings["sqlConnectionString"]);

            try
            {
                var info = dbUpgrader.Upgrade();
                Log.Information($"Startup.UpgradeDb: version={info}", info);
            }
            catch (Exception ex)
            {
                Log.Error(ex, "Startup.UpgradeDb failed");
                throw;
            }
        }
Пример #10
0
        public void ShouldCallPreprocessor()
        {
            DbUpgrader.PerformUpgrade();

            ScriptExecutor.Received().Execute(Arg.Any <SqlScript>(), Arg.Any <IDictionary <string, string> >());
        }
Пример #11
0
 public Task ExecuteAsync(CancellationToken cancellationToken = default)
 {
     _logger.LogInformation("Starting upgrade test.");
     DbUpgrader.Upgrade(_dbSettings, _environment);
     return(Task.CompletedTask);
 }
Пример #12
0
        public void ShouldReturnSuccess()
        {
            var result = DbUpgrader.PerformUpgrade();

            Assert.IsTrue(result.Successful);
        }
Пример #13
0
        public void ShouldNotRunAnyScripts()
        {
            var result = DbUpgrader.PerformUpgrade();

            Assert.AreEqual(0, result.Scripts.Count());
        }
Пример #14
0
 public void ShouldNotRequireUpgrades()
 {
     Assert.IsFalse(DbUpgrader.IsUpgradeRequired());
 }
Пример #15
0
        public override void Apply(IDbConnection db)
        {
            var connectionString = ConfigurationManager.ConnectionStrings["AltidudeConnection"].ConnectionString;

            var result = DbUpgrader.Upgrade(connectionString, true);
        }
Пример #16
0
        public void ShouldNotStoreAnyScripts()
        {
            DbUpgrader.PerformUpgrade();

            VersionTracker.DidNotReceiveWithAnyArgs().StoreExecutedScript(null);
        }
Пример #17
0
 public void ShouldDetermineIfUpgradeIsRequired()
 {
     Assert.IsTrue(DbUpgrader.IsUpgradeRequired());
 }