private async Task Assert_ResultAddedOrUpdatedCorrectly(IQueuedTask queuedTask) { IQueuedTaskResult queuedTaskResult = await mDataSource .GetQueuedTaskResultFromDbByIdAsync(queuedTask.Id); Assert.NotNull(queuedTaskResult); Assert.NotNull(queuedTaskResult.Payload); Assert.AreEqual(queuedTask.Id, queuedTaskResult.Id); Assert.AreEqual(queuedTask.Type, queuedTaskResult.Type); Assert.AreEqual(queuedTask.Source, queuedTaskResult.Source); Assert.AreEqual(queuedTask.Priority, queuedTaskResult.Priority); Assert.LessOrEqual(Math.Abs((queuedTask.PostedAtTs - queuedTaskResult.PostedAtTs).TotalMilliseconds), 10); Assert.AreEqual(QueuedTaskStatus.Unprocessed, queuedTaskResult.Status); }
private async Task Run_PostResultTests(Func <TaskExecutionResult> rsFactory) { using (PostgreSqlTaskResultQueue rq = CreateResultQueue()) { await rq.StartAsync(); foreach (IQueuedTaskToken token in mDataSource.SeededTaskTokens) { token.UdpateFromExecutionResult(rsFactory.Invoke()); int affectedRows = await rq.PostResultAsync(token); Assert.AreEqual(1, affectedRows); QueuedTaskResult dbResult = await mDataSource .GetQueuedTaskResultFromDbByIdAsync(token.DequeuedTask.Id); dbResult.AssertMatchesResult(token .LastQueuedTaskResult); } await rq.StopAsync(); } }