From a450fc4e0108778e0eeadcf3bab1dd784afdc3a8 Mon Sep 17 00:00:00 2001 From: Christian Kratky Date: Fri, 31 May 2019 09:55:23 +0200 Subject: [PATCH] Add UnitTests. --- Tests/MQTTnet.Core.Tests/Server_Tests.cs | 39 ++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/Tests/MQTTnet.Core.Tests/Server_Tests.cs b/Tests/MQTTnet.Core.Tests/Server_Tests.cs index 18c6732..5b34581 100644 --- a/Tests/MQTTnet.Core.Tests/Server_Tests.cs +++ b/Tests/MQTTnet.Core.Tests/Server_Tests.cs @@ -208,6 +208,45 @@ namespace MQTTnet.Tests } } + [TestMethod] + public async Task Subscribe_Multiple_In_Multiple_Request() + { + using (var testEnvironment = new TestEnvironment()) + { + var receivedMessagesCount = 0; + + await testEnvironment.StartServerAsync(); + + var c1 = await testEnvironment.ConnectClientAsync(); + c1.UseApplicationMessageReceivedHandler(c => Interlocked.Increment(ref receivedMessagesCount)); + await c1.SubscribeAsync(new MqttClientSubscribeOptionsBuilder() + .WithTopicFilter("a") + .Build()); + + await c1.SubscribeAsync(new MqttClientSubscribeOptionsBuilder() + .WithTopicFilter("b") + .Build()); + + await c1.SubscribeAsync(new MqttClientSubscribeOptionsBuilder() + .WithTopicFilter("c") + .Build()); + + var c2 = await testEnvironment.ConnectClientAsync(); + + await c2.PublishAsync("a"); + await Task.Delay(100); + Assert.AreEqual(receivedMessagesCount, 1); + + await c2.PublishAsync("b"); + await Task.Delay(100); + Assert.AreEqual(receivedMessagesCount, 2); + + await c2.PublishAsync("c"); + await Task.Delay(100); + Assert.AreEqual(receivedMessagesCount, 3); + } + } + [TestMethod] public async Task Publish_From_Server() {