public void ReadLastAbortedProcess() { //Arrange StartLoadProcessTask.Start("Test process 10"); Task.Delay(10).Wait(); //Sql Server datetime is not that exact EndLoadProcessTask.End(); Task.Delay(10).Wait(); StartLoadProcessTask.Start("Test process 11"); Task.Delay(10).Wait(); //Sql Server datetime is not that exact AbortLoadProcessTask.Abort(); StartLoadProcessTask.Start("Test process 12"); Task.Delay(10).Wait(); //Sql Server datetime is not that exact EndLoadProcessTask.End(); //Act var lp = ReadLoadProcessTableTask.ReadWithOption(ReadOptions.ReadLastAborted); //Assert Assert.True(lp.IsFinished); Assert.True(lp.WasAborted); Assert.False(lp.WasSuccessful); Assert.Equal("Test process 11", lp.ProcessName); Assert.Equal(3, new RowCountTask("etl.LoadProcess", "IsFinished=1") { DisableLogging = true }.Count().Rows); Assert.Equal(2, new RowCountTask("etl.LoadProcess", "WasSuccessful=1") { DisableLogging = true }.Count().Rows); Assert.Equal(1, new RowCountTask("etl.LoadProcess", "WasAborted=1") { DisableLogging = true }.Count().Rows); }
public void AbortLoadProcess() { //Arrange StartLoadProcessTask.Start("Test process 3"); Assert.True(ControlFlow.CurrentLoadProcess.IsRunning == true); DateTime beforeTask = DateTime.Now; Task.Delay(10).Wait(); //Sql Server datetime is not that exact //Act AbortLoadProcessTask.Abort(ControlFlow.CurrentLoadProcess.LoadProcessKey, "AbortMessage"); //Assert DateTime afterTask = DateTime.Now; Assert.True(ControlFlow.CurrentLoadProcess.IsRunning == false); Assert.True(ControlFlow.CurrentLoadProcess.WasAborted == true); Assert.True(ControlFlow.CurrentLoadProcess.EndDate <= afterTask && ControlFlow.CurrentLoadProcess.EndDate >= beforeTask); Assert.True(ControlFlow.CurrentLoadProcess.AbortMessage == "AbortMessage"); Assert.False(new RowCountTask("etl.Log") { DisableLogging = true }.Count().HasRows); Assert.Equal(1, new RowCountTask("etl.LoadProcess", "IsRunning=0 and WasSuccessful=0 and WasAborted=1") { DisableLogging = true }.Count().Rows); }
public void ReadLastAbortedProcess() { //Arrange ControlFlow.DefaultDbConnection = SqlConnection; CreateLoadProcessTableTask.Create("test_lpkey_lastabort"); StartLoadProcessTask.Start("Test process 10"); Task.Delay(10).Wait(); //Sql Server datetime is not that exact EndLoadProcessTask.End(); Task.Delay(10).Wait(); StartLoadProcessTask.Start("Test process 11"); Task.Delay(10).Wait(); //Sql Server datetime is not that exact AbortLoadProcessTask.Abort(); StartLoadProcessTask.Start("Test process 12"); Task.Delay(10).Wait(); //Sql Server datetime is not that exact EndLoadProcessTask.End(); //Act var lp = ReadLoadProcessTableTask.ReadWithOption(ReadOptions.ReadLastAborted); //Assert Assert.True(lp.IsFinished); Assert.True(lp.WasAborted); Assert.False(lp.WasSuccessful); Assert.Equal("Test process 11", lp.ProcessName); //Cleanup DropTableTask.Drop(SqlConnection, "test_lpkey_lastabort"); }
public void TestReadLastAbortedProcess() { StartLoadProcessTask.Start("Test process 10"); Task.Delay(10).Wait(); //Sql Server datetime is not that exact EndLoadProcessTask.End(); Task.Delay(10).Wait(); StartLoadProcessTask.Start("Test process 11"); Task.Delay(10).Wait(); //Sql Server datetime is not that exact AbortLoadProcessTask.Abort(); StartLoadProcessTask.Start("Test process 12"); Task.Delay(10).Wait(); //Sql Server datetime is not that exact EndLoadProcessTask.End(); var lp = ReadLoadProcessTableTask.ReadWithOption(ReadOptions.ReadLastAborted); Assert.IsTrue(lp.IsFinished); Assert.IsTrue(lp.WasAborted); Assert.IsFalse(lp.WasSuccessful); Assert.AreEqual("Test process 11", lp.ProcessName); Assert.AreEqual(3, new SqlTask("Check if finished processes exists", $"select count(*) from etl.LoadProcess where IsFinished=1") { DisableLogging = true }.ExecuteScalar <int>()); Assert.AreEqual(2, new SqlTask("Check if successful processes exists", $"select count(*) from etl.LoadProcess where WasSuccessful=1") { DisableLogging = true }.ExecuteScalar <int>()); Assert.AreEqual(1, new SqlTask("Check if aborted processes exists", $"select count(*) from etl.LoadProcess where WasAborted=1") { DisableLogging = true }.ExecuteScalar <int>()); }
public void TestAbortLoadProcessTask() { StartLoadProcessTask.Start("Test process 3"); Assert.IsTrue(ControlFlow.CurrentLoadProcess.IsRunning == true); DateTime beforeTask = DateTime.Now; Task.Delay(10).Wait(); //Sql Server datetime is not that exact AbortLoadProcessTask.Abort(ControlFlow.CurrentLoadProcess.LoadProcessKey, "AbortMessage"); DateTime afterTask = DateTime.Now; Assert.IsTrue(ControlFlow.CurrentLoadProcess.IsRunning == false); Assert.IsTrue(ControlFlow.CurrentLoadProcess.WasAborted == true); Assert.IsTrue(ControlFlow.CurrentLoadProcess.EndDate <= afterTask && ControlFlow.CurrentLoadProcess.EndDate >= beforeTask); Assert.IsTrue(ControlFlow.CurrentLoadProcess.AbortMessage == "AbortMessage"); Assert.IsFalse(new SqlTask("Check if logging was disabled for end process task", "select count(*) from etl.Log") { DisableLogging = true }.ExecuteScalarAsBool()); Assert.AreEqual(1, new SqlTask("Check if load process entry is correct", $"select count(*) from etl.LoadProcess where IsRunning=0 and WasSuccessful=0 and WasAborted=1") { DisableLogging = true }.ExecuteScalar <int>()); }
public void AbortLoadProcess() { //Arrange CreateLoadProcessTableTask.Create(SqlConnection, "test_lp_abort"); StartLoadProcessTask.Start(SqlConnection, "Test process 3"); Assert.True(ControlFlow.CurrentLoadProcess.IsRunning == true); //Act AbortLoadProcessTask.Abort(SqlConnection, ControlFlow.CurrentLoadProcess.Id); //Assert Assert.True(ControlFlow.CurrentLoadProcess.IsRunning == false); Assert.True(ControlFlow.CurrentLoadProcess.WasAborted == true); Assert.True(ControlFlow.CurrentLoadProcess.AbortMessage == null); Assert.Equal(1, RowCountTask.Count(SqlConnection, "test_lp_abort" , "is_running=0 and was_successful=0 and was_aborted=1")); //Cleanup DropTableTask.Drop(SqlConnection, "test_lp_abort"); }