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."); }
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); }
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."); }