public async Task WriteAsync_should_set_metric_processed_events_to_one(IEvent evt) { if (evt is null) { throw new ArgumentNullException(nameof(evt)); } using var resetEvent = new ManualResetEvent(false); var bus = new FakeBus(); var pattern = new PatternBuilder().FromTopic(evt.Topic).Build(); using var subscription = new AsyncActionSubscription(bus, pattern, e => { resetEvent.Set(); return(Task.CompletedTask); }); await subscription.EnableAsync().ConfigureAwait(false); await subscription.WriteAsync(evt).ConfigureAwait(false); var wasReset = resetEvent.WaitOne(this.waitTimeout); Assert.True(wasReset); var metric = Assert.Single(subscription.GetMetrics(), m => m.Name == Metrics.Subscription.ProcessedEvents); Assert.Equal(1L, metric.Value); }
public async Task WriteAsync_should_set_metric_received_events_to_one(IEvent evt) { if (evt is null) { throw new ArgumentNullException(nameof(evt)); } var bus = new FakeBus(); var pattern = new PatternBuilder().FromTopic(evt.Topic).Build(); using var subscription = new AsyncActionSubscription(bus, pattern, e => Task.CompletedTask); await subscription.EnableAsync().ConfigureAwait(false); await subscription.WriteAsync(evt).ConfigureAwait(false); var metric = Assert.Single(subscription.GetMetrics(), m => m.Name == Metrics.Subscription.ReceivedEvents); Assert.Equal(1L, metric.Value); }