Exemple #1
0
            public void If_Empty_Byte_Array_Is_Received_Then_A_Null_Reference_Exception_Should_Be_Thrown()
            {
                //Arrange
                var mockBytes = new byte[] { };
                var listener  = new ServiceBusListener(_mockSerialiser.Object, _mockHandlerResolver.Object,
                                                       _mockHandlerInvoker.Object);

                //Act
                async Task Delegate()
                {
                    await listener.ReceiveMessage(mockBytes, CancellationToken.None);
                }

                //Assert
                Assert.That(Delegate, Throws.TypeOf <NullReferenceException>());
            }
Exemple #2
0
            public async Task When_Message_Is_Received_The_Correct_Handler_Is_Invoked()
            {
                //Arrange
                var mockBytes   = new byte[] { 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33 };
                var mockMessage = new TestMessage(Guid.Empty, Guid.Empty);
                var mockHandler = new TestMessageHandler(_mockEventLogger.Object);

                _mockSerialiser.
                Setup(x => x.Deserialise(It.IsAny <MemoryStream>())).
                Returns(Task.FromResult((object)mockMessage));
                _mockHandlerResolver.
                Setup(x => x.ResolveAllHandlersFor(typeof(TestMessage))).
                Returns(new[] { mockHandler });
                var listener = new ServiceBusListener(_mockSerialiser.Object, _mockHandlerResolver.Object,
                                                      _mockHandlerInvoker.Object);

                //Act
                await listener.ReceiveMessage(mockBytes, CancellationToken.None);


                //Assert
                _mockHandlerInvoker.Verify(x => x.InvokeHandlers(new [] { mockHandler }, mockMessage, CancellationToken.None), Times.Once);
            }
Exemple #3
0
            public async Task If_Deserialiser_Fails_Then_The_Exception_Will_Bubble_Up_Throw_The_Receive_Message()
            {
                //Arrange
                const string errorMessage = "Hello From The Test World";
                var          mockBytes    = new byte[] { 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33 };

                _mockSerialiser.
                Setup(x => x.Deserialise(It.IsAny <MemoryStream>())).
                Throws(new Exception(errorMessage));
                var listener = new ServiceBusListener(_mockSerialiser.Object, _mockHandlerResolver.Object,
                                                      _mockHandlerInvoker.Object);

                try
                {
                    //Act
                    await listener.ReceiveMessage(mockBytes, CancellationToken.None);
                }
                catch (Exception e)
                {
                    //Assert
                    Assert.That(e.Message, Is.EqualTo(errorMessage));
                }
            }