Пример #1
0
        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>());
                    }
            }
        }
Пример #2
0
        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);
        }