예제 #1
0
        public async Task PublishAsync_ShouldSendMessageToTopicClient()
        {
            var f = new LegacyTopicMessagePublisherTestsFixture();
            await f.Sut.PublishAsync(f.ApprovedCohortReturnedToProvider);

            f.VerifyTopicClientIsCalledWithMessage();
        }
예제 #2
0
        public void PublishAsync_ShouldNotCloseTopicClientConnectionWhenClientIsNull()
        {
            var f = new LegacyTopicMessagePublisherTestsFixture().ThrowInvalidOperationExceptionWhenCreatingTopicClient();

            Assert.ThrowsAsync <InvalidOperationException>(() => f.Sut.PublishAsync(f.ApprovedCohortReturnedToProvider));
            f.VerifyTopicClientDoesNotCloseConnection();
        }
예제 #3
0
        public async Task PublishAsync_ShouldCreateTopicClientPassingCorrectParameters()
        {
            var f = new LegacyTopicMessagePublisherTestsFixture();
            await f.Sut.PublishAsync(f.ApprovedCohortReturnedToProvider);

            f.VerifyTopicClientFactoryReceivesConnectionStringAndMessageGroupName("approved_cohort_returned_to_provider");
        }
예제 #4
0
        public async Task PublishAsync_ShouldCreateTopicClientPassingInNameOfClassAsMessageGroupName()
        {
            var f      = new LegacyTopicMessagePublisherTestsFixture();
            var @event = new SimpleTestObject();
            await f.Sut.PublishAsync(@event);

            f.VerifyTopicClientFactoryReceivesConnectionStringAndMessageGroupName(@event.GetType().Name);
        }
예제 #5
0
        public async Task PublishAsync_ShouldNotCloseTopicClientConnectionIfAlreadyClosing()
        {
            var f = new LegacyTopicMessagePublisherTestsFixture();

            f.TopicClient.Setup(x => x.IsClosedOrClosing).Returns(true);
            await f.Sut.PublishAsync(f.ApprovedCohortReturnedToProvider);

            f.VerifyTopicClientDoesNotCloseConnection();
        }
예제 #6
0
        public void PublishAsync_ShouldLogAndReThrowException()
        {
            var f = new LegacyTopicMessagePublisherTestsFixture().ThrowInvalidOperationExceptionWhenCallingTopicClientSendAsync();

            Assert.ThrowsAsync <InvalidOperationException>(() => f.Sut.PublishAsync(f.ApprovedCohortReturnedToProvider));
        }