public void If_InUsingBlock_ThenExecutionCompletedOnEndOfBlock() { // ARRANGE var executionHelper = new ExecutionsHelper(); var taskDefinitionId = executionHelper.InsertTask(TestConstants.ApplicationName, TestConstants.TaskName); executionHelper.InsertAvailableExecutionToken(taskDefinitionId); // ACT var executionsHelper = new ExecutionsHelper(); bool startedOk; ExecutionTokenStatus tokenStatusAfterStart; ExecutionTokenStatus tokenStatusAfterUsingBlock; using (var executionContext = ClientHelper.GetExecutionContext(TestConstants.TaskName, ClientHelper.GetDefaultTaskConfigurationWithKeepAliveAndReprocessing())) { startedOk = executionContext.TryStart(); tokenStatusAfterStart = executionsHelper.GetExecutionTokenStatus(TestConstants.ApplicationName, TestConstants.TaskName); } tokenStatusAfterUsingBlock = executionsHelper.GetExecutionTokenStatus(TestConstants.ApplicationName, TestConstants.TaskName); // ASSERT Assert.AreEqual(true, startedOk); Assert.AreEqual(ExecutionTokenStatus.Unavailable, tokenStatusAfterStart); Assert.AreEqual(ExecutionTokenStatus.Available, tokenStatusAfterUsingBlock); }
public async Task If_InUsingBlockAndNoExecutionTokenExists_ThenExecutionTokenCreatedAutomatically() { // ARRANGE var executionHelper = new ExecutionsHelper(); var taskDefinitionId = executionHelper.InsertTask(TestConstants.ApplicationName, TestConstants.TaskName); // ACT var executionsHelper = new ExecutionsHelper(); bool startedOk; ExecutionTokenStatus tokenStatusAfterStart; ExecutionTokenStatus tokenStatusAfterUsingBlock; using (var executionContext = ClientHelper.GetExecutionContext(TestConstants.TaskName, ClientHelper.GetDefaultTaskConfigurationWithKeepAliveAndReprocessing())) { startedOk = await executionContext.TryStartAsync(); tokenStatusAfterStart = executionsHelper.GetExecutionTokenStatus(TestConstants.ApplicationName, TestConstants.TaskName); } await Task.Delay(1000); tokenStatusAfterUsingBlock = executionsHelper.GetExecutionTokenStatus(TestConstants.ApplicationName, TestConstants.TaskName); // ASSERT Assert.True(startedOk); Assert.Equal(ExecutionTokenStatus.Unavailable, tokenStatusAfterStart); Assert.Equal(ExecutionTokenStatus.Available, tokenStatusAfterUsingBlock); }