Esempio n. 1
0
 public void ShouldTrackExecutedScripts()
 {
     DbUpgrader
     .PerformUpgrade()
     .Scripts.ToList()
     .ForEach(script => VersionTracker.Received().StoreExecutedScript(script));
 }
Esempio n. 2
0
        public void ShouldLogNoAction()
        {
            DbUpgrader.PerformUpgrade();

            Log.Received().WriteInformation("Beginning database upgrade");
            Log.Received().WriteInformation("No new scripts need to be executed - completing.");
        }
Esempio n. 3
0
        public void ShouldLogInformation()
        {
            DbUpgrader.PerformUpgrade();

            Log.Received().WriteInformation("Beginning database upgrade");
            Log.Received().WriteInformation("Upgrade successful");
        }
Esempio n. 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());
        }
Esempio n. 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);
        }
Esempio n. 6
0
        public void ShouldRunAllScripts()
        {
            var result = DbUpgrader.PerformUpgrade();

            Assert.IsTrue(result.Scripts.All(script =>
                                             AllScripts.Contains(script)
                                             ));
        }
Esempio n. 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());
        }
Esempio n. 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);
        }
Esempio n. 9
0
        public void ShouldCallPreprocessor()
        {
            DbUpgrader.PerformUpgrade();

            ScriptExecutor.Received().Execute(Arg.Any <SqlScript>(), Arg.Any <IDictionary <string, string> >());
        }
Esempio n. 10
0
        public void ShouldNotStoreAnyScripts()
        {
            DbUpgrader.PerformUpgrade();

            VersionTracker.DidNotReceiveWithAnyArgs().StoreExecutedScript(null);
        }
Esempio n. 11
0
        public void ShouldReturnSuccess()
        {
            var result = DbUpgrader.PerformUpgrade();

            Assert.IsTrue(result.Successful);
        }
Esempio n. 12
0
        public void ShouldNotRunAnyScripts()
        {
            var result = DbUpgrader.PerformUpgrade();

            Assert.AreEqual(0, result.Scripts.Count());
        }