public void Ctor_CorrectlySets_AllInstanceProperties() { UseConnection(connection => { var fetchedJob = new LiteDbFetchedJob(connection, ObjectId.NewObjectId(), JobId, Queue); Assert.Equal(JobId.ToString(), fetchedJob.JobId); Assert.Equal(Queue, fetchedJob.Queue); }); }
public void RemoveFromQueue_ReallyDeletesTheJobFromTheQueue() { UseConnection(connection => { // Arrange var queue = "default"; var jobId = 1; var id = CreateJobQueueRecord(connection, jobId, queue); var processingJob = new LiteDbFetchedJob(connection, id, jobId, queue); // Act processingJob.RemoveFromQueue(); // Assert var count = connection.JobQueue.Count(); Assert.Equal(0, count); }); }
public void Dispose_SetsFetchedAtValueToNull_IfThereWereNoCallsToComplete() { UseConnection(connection => { // Arrange var queue = "default"; var jobId = 1; var id = CreateJobQueueRecord(connection, jobId, queue); var processingJob = new LiteDbFetchedJob(connection, id, jobId, queue); // Act processingJob.Dispose(); // Assert var record = connection.JobQueue.FindAll().ToList().Single(); Assert.Null(record.FetchedAt); }); }
public void RemoveFromQueue_DoesNotDelete_UnrelatedJobs() { UseConnection(connection => { // Arrange CreateJobQueueRecord(connection, 1, "default"); CreateJobQueueRecord(connection, 2, "critical"); CreateJobQueueRecord(connection, 3, "default"); var fetchedJob = new LiteDbFetchedJob(connection, ObjectId.NewObjectId(), 999, "default"); // Act fetchedJob.RemoveFromQueue(); // Assert var count = connection.JobQueue.Count(); Assert.Equal(3, count); }); }
public void Dequeue_ShouldFetchAJob_FromTheSpecifiedQueue() { // Arrange UseConnection(connection => { var jobQueue = new JobQueue { JobId = 1, Queue = "default" }; connection.JobQueue.Insert(jobQueue); var queue = CreateJobQueue(connection); // Act LiteDbFetchedJob payload = (LiteDbFetchedJob)queue.Dequeue(DefaultQueues, CreateTimingOutCancellationToken()); // Assert Assert.Equal("1", payload.JobId); Assert.Equal("default", payload.Queue); }); }