public void ShouldTrackExecutedScripts() { DbUpgrader .PerformUpgrade() .Scripts.ToList() .ForEach(script => VersionTracker.Received().StoreExecutedScript(script)); }
public void ShouldLogNoAction() { DbUpgrader.PerformUpgrade(); Log.Received().WriteInformation("Beginning database upgrade"); Log.Received().WriteInformation("No new scripts need to be executed - completing."); }
public void ShouldLogInformation() { DbUpgrader.PerformUpgrade(); Log.Received().WriteInformation("Beginning database upgrade"); Log.Received().WriteInformation("Upgrade successful"); }
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()); }
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); }
public void ShouldRunAllScripts() { var result = DbUpgrader.PerformUpgrade(); Assert.IsTrue(result.Scripts.All(script => AllScripts.Contains(script) )); }
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()); }
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); }
public void ShouldCallPreprocessor() { DbUpgrader.PerformUpgrade(); ScriptExecutor.Received().Execute(Arg.Any <SqlScript>(), Arg.Any <IDictionary <string, string> >()); }
public void ShouldNotStoreAnyScripts() { DbUpgrader.PerformUpgrade(); VersionTracker.DidNotReceiveWithAnyArgs().StoreExecutedScript(null); }
public void ShouldReturnSuccess() { var result = DbUpgrader.PerformUpgrade(); Assert.IsTrue(result.Successful); }
public void ShouldNotRunAnyScripts() { var result = DbUpgrader.PerformUpgrade(); Assert.AreEqual(0, result.Scripts.Count()); }