public void IsEventPositionEquivalentRecognizesSameEnding()
        {
            var trackOnePosition = TrackOne.EventPosition.FromEnd();
            var trackTwoPosition = EventPosition.Latest;

            Assert.That(TrackOneComparer.IsEventPositionEquivalent(trackOnePosition, trackTwoPosition), Is.True);
        }
        public void IsEventPositionEquivalentRecognizesSameSequence()
        {
            var trackOnePosition = TrackOne.EventPosition.FromSequenceNumber(54123);
            var trackTwoPosition = EventPosition.FromSequenceNumber(54123);

            Assert.That(TrackOneComparer.IsEventPositionEquivalent(trackOnePosition, trackTwoPosition), Is.True);
        }
        public void IsEventPositionEquivalentRecognizesSameBeginning()
        {
            var trackOnePosition = TrackOne.EventPosition.FromStart();
            var trackTwoPosition = EventPosition.Earliest;

            Assert.That(TrackOneComparer.IsEventPositionEquivalent(trackOnePosition, trackTwoPosition), Is.True);
        }
        public void IsEventPositionEquivalentDetectsDifferentSequence()
        {
            var trackOnePosition = TrackOne.EventPosition.FromSequenceNumber(54123);
            var trackTwoPosition = EventPosition.FromSequenceNumber(2);

            Assert.That(TrackOneComparer.IsEventPositionEquivalent(trackOnePosition, trackTwoPosition), Is.False);
        }
        public void IsEventPositionEquivalentRecognizesSameOffsets()
        {
            var trackOnePosition = TrackOne.EventPosition.FromOffset("12", true);
            var trackTwoPosition = EventPosition.FromOffset(12);

            Assert.That(TrackOneComparer.IsEventPositionEquivalent(trackOnePosition, trackTwoPosition), Is.True, "The offset for track two is inclusive; the equivalent offset set as inclusive should match.");
        }
        public void IsEventPositionEquivalentDetectsDifferentOffsets()
        {
            var trackOnePosition = TrackOne.EventPosition.FromOffset("12", false);
            var trackTwoPosition = EventPosition.FromOffset(12);

            Assert.That(TrackOneComparer.IsEventPositionEquivalent(trackOnePosition, trackTwoPosition), Is.False, "The offset for track two is inclusive; even the same base offset with non-inclusive is not equivalent.");
        }
Example #7
0
        public async Task ReceiverIsConstructedCorrectly()
        {
            var eventHub         = "eventHub";
            var consumerGroup    = "$TestThing";
            var partition        = "123";
            var position         = EventPosition.FromEnqueuedTime(DateTimeOffset.Parse("2015-10-25T12:00:00Z"));
            var priority         = 8765;
            var identifier       = "ThisIsAnAwesomeConsumer!";
            var partitionMetrics = new LastEnqueuedEventProperties(eventHub, partition);
            var retryPolicy      = Mock.Of <EventHubRetryPolicy>();
            var mock             = new ObservableReceiverMock(new ClientMock(), consumerGroup, partition, TrackOne.EventPosition.FromEnqueuedTime(position.EnqueuedTime.Value.UtcDateTime), priority, new ReceiverOptions {
                Identifier = identifier, EnableReceiverRuntimeMetric = true
            });
            var consumer = new TrackOneEventHubConsumer(_ => mock, retryPolicy, partitionMetrics);

            // Invoke an operation to force the consumer to be lazily instantiated.  Otherwise,
            // construction does not happen.

            await consumer.ReceiveAsync(0, TimeSpan.Zero, default);

            Assert.That(mock.ConstructedWith.ConsumerGroup, Is.EqualTo(consumerGroup), "The consumer group should match.");
            Assert.That(mock.ConstructedWith.Partition, Is.EqualTo(partition), "The partition should match.");
            Assert.That(TrackOneComparer.IsEventPositionEquivalent(mock.ConstructedWith.Position, position), Is.True, "The starting event position should match.");
            Assert.That(mock.ConstructedWith.Priority, Is.EqualTo(priority), "The owner level should match.");
            Assert.That(mock.ConstructedWith.Options.Identifier, Is.EqualTo(identifier), "The consumer identifier should match.");
            Assert.That(mock.ConstructedWith.Options.EnableReceiverRuntimeMetric, Is.True, "The receiver metrics should be enabled when set in the options.");

            var consumerRetry = GetRetryPolicy(consumer);

            Assert.That(consumerRetry, Is.SameAs(retryPolicy), "The consumer retry instance should match.");
        }
        public void IsEventPositionEquivalentRecognizesSameEnqueueTime()
        {
            var enqueueTime      = DateTimeOffset.Parse("2015-10-27T12:00:00Z");
            var trackOnePosition = TrackOne.EventPosition.FromEnqueuedTime(enqueueTime.UtcDateTime);
            var trackTwoPosition = EventPosition.FromEnqueuedTime(enqueueTime);

            Assert.That(TrackOneComparer.IsEventPositionEquivalent(trackOnePosition, trackTwoPosition), Is.True);
        }
        public void IsEventPositionEquivalentDetectsDifferentEnqueueTime()
        {
            var enqueueTime      = DateTimeOffset.Parse("2015-10-27T12:00:00Z");
            var trackOnePosition = TrackOne.EventPosition.FromEnqueuedTime(enqueueTime.UtcDateTime);
            var trackTwoPosition = EventPosition.FromEnqueuedTime(enqueueTime.AddDays(1));

            Assert.That(TrackOneComparer.IsEventPositionEquivalent(trackOnePosition, trackTwoPosition), Is.False);
        }
Example #10
0
        public async Task ReceiverIsConstructedCorrectly()
        {
            var consumerGroup = "$TestThing";
            var partition     = "123";
            var position      = EventPosition.FromEnqueuedTime(DateTime.Parse("2015-10-25T12:00:00Z"));
            var priority      = 8765;
            var identifier    = "ThisIsAnAwesomeConsumer!";
            var mock          = new ObservableReceiverMock(new ClientMock(), consumerGroup, partition, TrackOne.EventPosition.FromEnqueuedTime(position.EnqueuedTimeUtc.Value), priority, new ReceiverOptions {
                Identifier = identifier
            });
            var consumer = new TrackOneEventHubConsumer(() => mock);

            // Invoke an operation to force the consumer to be lazily instantiated.  Otherwise,
            // construction does not happen.

            await consumer.ReceiveAsync(0, TimeSpan.Zero, default);

            Assert.That(mock.ConstructedWith.ConsumerGroup, Is.EqualTo(consumerGroup), "The consumer group should match.");
            Assert.That(mock.ConstructedWith.Partition, Is.EqualTo(partition), "The partition should match.");
            Assert.That(TrackOneComparer.IsEventPositionEquivalent(mock.ConstructedWith.Position, position), Is.True, "The starting event position should match.");
            Assert.That(mock.ConstructedWith.Priority, Is.EqualTo(priority), "The ownerlevel should match.");
            Assert.That(mock.ConstructedWith.Options.Identifier, Is.EqualTo(identifier), "The consumer identifier should match.");
        }