예제 #1
0
        public async Task DelayedQueue_GetNext_Add1ItemAndConsume_ShouldBeTheSameAsEnqueuedItem()
        {
            var queue = Nebula.JobStepSourceBuilder.BuildDelayedJobQueue <FirstJobStep>(_jobId);

            var enQueuedItem = new FirstJobStep {
                Number = 1
            };
            await queue.Enqueue(enQueuedItem, DateTime.UtcNow);

            var dequeuedItem = await queue.GetNext();

            Assert.IsNotNull(dequeuedItem);
            Assert.AreEqual(enQueuedItem.Number, dequeuedItem.Number);
        }
예제 #2
0
        public async Task KafkaJobQueue_Commit_ShouldNotReturnSameObject()
        {
            var queue = Nebula.JobStepSourceBuilder.BuildKafkaJobQueue <FirstJobStep>(_jobId);

            queue.Enqueue(new FirstJobStep {
                Number = 1
            });
            queue.Enqueue(new FirstJobStep {
                Number = 2
            });
            queue.Enqueue(new FirstJobStep {
                Number = 3
            });

            FirstJobStep item1 = null, item2 = null;

            for (var i = 0; i < 600; i++)
            {
                item1 = await queue.GetNext();

                if (item1 != null)
                {
                    break;
                }
            }

            for (var i = 0; i < 600; i++)
            {
                item2 = await queue.GetNext();

                if (item2 != null)
                {
                    break;
                }
            }

            Assert.IsNotNull(item1);
            Assert.IsNotNull(item2);
            Assert.AreNotEqual(item1.Number, item2.Number);
        }
예제 #3
0
        public async Task KafkaJobQueue_Enqueue_Enqueue1ItemandConsume()
        {
            var itemToEnqueue = new FirstJobStep {
                Number = 10
            };

            var queue = Nebula.JobStepSourceBuilder.BuildKafkaJobQueue <FirstJobStep>(_jobId);

            queue.Enqueue(itemToEnqueue);
            FirstJobStep item = null;

            for (var i = 0; i < 600; i++)
            {
                item = await queue.GetNext();

                if (item != null)
                {
                    break;
                }
            }

            Assert.IsNotNull(item);
            Assert.AreEqual(itemToEnqueue.Number, item.Number);
        }