public void Updates_database() { var settings = new ConnectionSettings("server", "db", true, null, null); var taskAttributes = new TaskAttributes(settings, "c:\\scripts"); taskAttributes.RequestedDatabaseAction = RequestedDatabaseAction.Update; var mocks = new MockRepository(); var scriptfolderexecutor = mocks.StrictMock <IScriptFolderExecutor>(); var queryexecutor = mocks.StrictMock <IQueryExecutor>(); queryexecutor.Stub(x => x.CheckDatabaseExists(taskAttributes.ConnectionSettings)).Return(true); var taskObserver = mocks.StrictMock <ITaskObserver>(); using (mocks.Record()) { taskObserver.Log(string.Format("Run scripts in Update folder.")); scriptfolderexecutor.ExecuteScriptsInFolder(taskAttributes, "Update", taskObserver); taskObserver.Log(string.Format("Run scripts in Everytime folder.")); scriptfolderexecutor.ExecuteChangedScriptsInFolder(taskAttributes, "Everytime", taskObserver); } using (mocks.Playback()) { IDatabaseActionExecutor updater = new DatabaseUpdater(scriptfolderexecutor, queryexecutor); updater.Execute(taskAttributes, taskObserver); } mocks.VerifyAll(); }
public void Updates_database() { var settings = new ConnectionSettings("server", "db", true, null, null); var taskAttributes = new TaskAttributes(settings, "c:\\scripts"); var mocks = new MockRepository(); var executor = mocks.CreateMock <IScriptFolderExecutor>(); var taskObserver = mocks.CreateMock <ITaskObserver>(); using (mocks.Record()) { executor.ExecuteScriptsInFolder(taskAttributes, "Update", taskObserver); } using (mocks.Playback()) { IDatabaseActionExecutor updater = new DatabaseUpdater(executor); updater.Execute(taskAttributes, taskObserver); } mocks.VerifyAll(); }