public async Task TestMessageCleanupWhenException() { // Arrange IMessageConverter <IProtocolGatewayMessage> messageConverter = ProtocolGatewayMessageConverter.Value; Mock <IDeviceListener> deviceListener = MakeDeviceListenerSpy(); var payload = new Mock <IByteBuffer>(); payload.Setup(p => p.Release()).Returns(true); Exception expectedException = null; // Act var messagingServiceClient = new Mqtt.MessagingServiceClient(deviceListener.Object, messageConverter, ByteBufferConverter); IProtocolGatewayMessage protocolGatewayMessage = messagingServiceClient.CreateMessage(null, payload.Object); try { await messagingServiceClient.SendAsync(protocolGatewayMessage); } catch (Exception ex) { expectedException = ex; } // Assert payload.VerifyAll(); Assert.NotNull(expectedException); }
public async Task TestMessageCleanup() { // Arrange IMessageConverter <IProtocolGatewayMessage> messageConverter = ProtocolGatewayMessageConverter.Value; Mock <IDeviceListener> deviceListener = MakeDeviceListenerSpy(); var payload = new Mock <IByteBuffer>(); payload.Setup(p => p.Release()).Returns(true); // Act var messagingServiceClient = new Mqtt.MessagingServiceClient(deviceListener.Object, messageConverter, ByteBufferConverter); IProtocolGatewayMessage protocolGatewayMessage = messagingServiceClient.CreateMessage("devices/Device1/messages/events/", payload.Object); await messagingServiceClient.SendAsync(protocolGatewayMessage); // Assert payload.VerifyAll(); }