public void Start() { //Recreate database ControlFlow.CurrentDbConnection = new SqlConnectionManager(new ConnectionString("Data Source=.;Integrated Security=SSPI;")); DropDatabaseTask.Drop("DemoDB"); CreateDatabaseTask.Create("DemoDB"); ControlFlow.CurrentDbConnection = new SqlConnectionManager(new ConnectionString("Data Source=.;Integrated Security=SSPI;Initial Catalog=DemoDB;")); //Logging (only works with existing configuration nlog config in App.config) CreateLogTablesTask.CreateLog(); StartLoadProcessTask.Start("Process 1"); ControlFlow.STAGE = "Staging"; SqlTask.ExecuteNonQuery("some sql", "Select 1 as test"); TransferCompletedForLoadProcessTask.Complete(); ControlFlow.STAGE = "DataVault"; Sequence.Execute("some custom code", () => { }); LogTask.Warn("Some warning!"); EndLoadProcessTask.End("Everything successful"); string jsonLP = GetLoadProcessAsJSONTask.GetJSON(); string jsonLog = GetLogAsJSONTask.GetJSON(1); }
public void TestIsTransferCompletedForLoadProcessTask() { StartLoadProcessTask.Start("Test process 4"); Assert.IsTrue(ControlFlow.CurrentLoadProcess.IsRunning == true); DateTime beforeTask = DateTime.Now; Task.Delay(10).Wait(); //Sql Server datetime is not that exact TransferCompletedForLoadProcessTask.Complete(ControlFlow.CurrentLoadProcess.LoadProcessKey); Assert.AreEqual(2, new SqlTask("Check if transfer completed was in log", "select count(*) from etl.Log where TaskType='TRANSFERCOMPLETE'") { DisableLogging = true }.ExecuteScalar <int>()); DateTime afterTask = DateTime.Now; Assert.IsTrue(ControlFlow.CurrentLoadProcess.IsRunning == true); Assert.IsTrue(ControlFlow.CurrentLoadProcess.TransferCompletedDate <= afterTask && ControlFlow.CurrentLoadProcess.TransferCompletedDate >= beforeTask); }
public void IsTransferCompletedForLoadProcess() { //Arrange StartLoadProcessTask.Start("Test process 4"); Assert.True(ControlFlow.CurrentLoadProcess.IsRunning == true); DateTime beforeTask = DateTime.Now; Task.Delay(10).Wait(); //Sql Server datetime is not that exact //Act TransferCompletedForLoadProcessTask.Complete(ControlFlow.CurrentLoadProcess.LoadProcessKey); //Assert Assert.Equal(2, new RowCountTask("etl.Log", "TaskType='TransferCompletedForLoadProcessTask'") { DisableLogging = true }.Count().Rows); DateTime afterTask = DateTime.Now; Assert.True(ControlFlow.CurrentLoadProcess.IsRunning == true); Assert.True(ControlFlow.CurrentLoadProcess.TransferCompletedDate <= afterTask && ControlFlow.CurrentLoadProcess.TransferCompletedDate >= beforeTask); }