From 0257e31910ca3757668fbf8fcc955b633e861667 Mon Sep 17 00:00:00 2001 From: Christian Kratky Date: Mon, 27 May 2019 20:06:51 +0200 Subject: [PATCH] Add UnitTests. --- Tests/MQTTnet.Core.Tests/Server_Tests.cs | 34 ++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/Tests/MQTTnet.Core.Tests/Server_Tests.cs b/Tests/MQTTnet.Core.Tests/Server_Tests.cs index 7b78e34..18c6732 100644 --- a/Tests/MQTTnet.Core.Tests/Server_Tests.cs +++ b/Tests/MQTTnet.Core.Tests/Server_Tests.cs @@ -12,6 +12,7 @@ using MQTTnet.Client.Connecting; using MQTTnet.Client.Disconnecting; using MQTTnet.Client.Options; using MQTTnet.Client.Receiving; +using MQTTnet.Client.Subscribing; using MQTTnet.Protocol; using MQTTnet.Server; using MQTTnet.Tests.Mockups; @@ -174,6 +175,39 @@ namespace MQTTnet.Tests } } + [TestMethod] + public async Task Subscribe_Multiple_In_Single_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") + .WithTopicFilter("b") + .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() {