public async Task MessageForOtherTopicThanSubscribedToIsProcessed() { // Arrange var mockMqttConnection = new Mock <IMqttConnection>(); var mockTriggeredFunctionExecutor = new Mock <ITriggeredFunctionExecutor>(); mockMqttConnection .Setup(x => x.SubscribeAsync(It.IsAny <TopicFilter[]>())) .Returns(Task.CompletedTask); mockTriggeredFunctionExecutor .Setup(x => x.TryExecuteAsync(It.IsAny <TriggeredFunctionData>(), It.IsAny <CancellationToken>())); var topicFilter = new TopicFilter[] { new TopicFilter() { Topic = "test/topic", QualityOfServiceLevel = MQTTnet.Protocol.MqttQualityOfServiceLevel.AtLeastOnce } }; var mqttListener = new MqttListener(mockMqttConnection.Object, topicFilter, mockTriggeredFunctionExecutor.Object, _mockLogger.Object); // Act await mqttListener.StartAsync(_cancellationToken).ConfigureAwait(false); var message = new MqttMessage("weird", new byte[] { }, MqttQualityOfServiceLevel.AtLeastOnce, true); await mqttListener.OnMessage(new MqttMessageReceivedEventArgs(message)); // Assert mockMqttConnection.VerifyAll(); mockTriggeredFunctionExecutor.VerifyAll(); }
public async Task StartAsyncSubscribesToTopics() { // Arrange var mockMqttConnection = new Mock <IMqttConnection>(); var mockTriggeredFunctionExecutor = new Mock <ITriggeredFunctionExecutor>(); mockMqttConnection .Setup(x => x.SubscribeAsync(It.IsAny <TopicFilter[]>())) .Returns(Task.CompletedTask); mockTriggeredFunctionExecutor .Setup(x => x.TryExecuteAsync(It.IsAny <TriggeredFunctionData>(), It.IsAny <CancellationToken>())); var topicFilter = new TopicFilter[] { new TopicFilter() { Topic = "test/topic", QualityOfServiceLevel = MQTTnet.Protocol.MqttQualityOfServiceLevel.AtLeastOnce } }; var mqttListener = new MqttListener(mockMqttConnection.Object, topicFilter, mockTriggeredFunctionExecutor.Object, _mockLogger.Object); // Act await mqttListener.StartAsync(_cancellationToken).ConfigureAwait(false); await mqttListener.OnMessage(new MqttMessageReceivedEventArgs(DefaultMessage)); // Shouldnt we be able to raise the IMqttConnection.OnMessageEventHandler?? // Assert mockMqttConnection.VerifyAll(); mockTriggeredFunctionExecutor.VerifyAll(); }