public async Task ProducerCannotSendWhenClosed(bool sync) { await using (EventHubScope scope = await EventHubScope.CreateAsync(1)) { var connectionString = TestEnvironment.BuildConnectionStringForEventHub(scope.EventHubName); await using (var client = new EventHubClient(connectionString)) await using (EventHubProducer producer = client.CreateProducer()) { EventData[] events = new[] { new EventData(Encoding.UTF8.GetBytes("Dummy event")) }; Assert.That(async() => await producer.SendAsync(events), Throws.Nothing); if (sync) { producer.Close(); } else { await producer.CloseAsync(); } Assert.That(async() => await producer.SendAsync(events), Throws.TypeOf <EventHubsClientClosedException>().Or.TypeOf <ObjectDisposedException>()); } } }
public void CloseClosesTheTransportProducer() { var transportProducer = new ObservableTransportProducerMock(); var producer = new EventHubProducer(transportProducer, "dummy", new EventHubProducerOptions(), Mock.Of <EventHubRetryPolicy>()); producer.Close(); Assert.That(transportProducer.WasCloseCalled, Is.True); }