public void run_task_wihtout_running_inside_transaction() { //migrations var migartions = new List<Migration>(); //connection string var connectionString = "asdfasdf"; //make arguments file var args = new Arguments(new string[] {ArgumentConstants.ConnectionStringArg, connectionString, ArgumentConstants.RunWithoutTransactionArg}); var mock = new Rhino.Mocks.MockRepository(); var fileIO = mock.DynamicMock<IFileIO>().OverloadFactory(); var sqlRunner = mock.DynamicMock<ISqlRunner>().OverloadFactory(); var migrationTaskFactory = mock.DynamicMock<IMigrationTaskFactory>().OverloadFactory(); var migrationTask = mock.Stub<MigrationTask>(new[] {args}); using (mock.Record()) { //create sql script Expect.Call(migrationTaskFactory.GetMigrationTaskByTaskType(null)) .IgnoreArguments() .Return(migrationTask); Expect.Call(migrationTask.Run()).Return(0); //get text for sql Expect.Call(fileIO.ReadConentsOfFile(null)) .IgnoreArguments() .Return("test sql"); //call sqlrunner Expect.Call(sqlRunner.ConnectionString).SetPropertyAndIgnoreArgument(); Expect.Call(sqlRunner.RunSql("test sql", false)) .Return(0); } using (mock.Playback()) { var runSqlTask = new MigrateDatabaseForwardTask(args); int success = runSqlTask.Run(); Assert.AreEqual(0, success, "we should get 0 reuslting in a success"); } }
public void run_task_wihtout_running_inside_transaction() { var connectionString = "asdfasdf"; string filePath = @"A:\test.sql"; string sqlFileContents = "create table asdf()"; var sqlRunner = MockRepository.GenerateMock<ISqlRunner>().OverloadFactory(); var fileIo = MockRepository.GenerateMock<IFileIO>().OverloadFactory(); var args = new Arguments(new[] { TaskTypeConstants.RunSqlFileTask, filePath, ArgumentConstants.ConnectionStringArg, connectionString }); //get file contents... fileIo.Stub(io => io.ReadConentsOfFile(filePath)).Return(sqlFileContents); //Act var runSqlFileTask = new RunSqlFileTask(args);//, fileIo, sqlRunner); int success = runSqlFileTask.RunTask(); //Assert sqlRunner.AssertWasCalled(x => x.ConnectionString = connectionString); sqlRunner.AssertWasCalled(x=>x.RunSql(sqlFileContents, true)); Assert.That(success, Is.EqualTo(0)); }
private void RunTestCode(string commandTask) { var args = new Arguments(new[] { commandTask }); Assert.That(Factory.Get<IMigrationTaskFactory>().GetMigrationTaskByTaskType(args), Is.Not.Null); }