public async Task Fire_Client_Subscribed_Event() { using (var testEnvironment = CreateTestEnvironment()) { var server = await testEnvironment.StartServer(); ClientSubscribedTopicEventArgs eventArgs = null; server.ClientSubscribedTopicAsync += e => { eventArgs = e; return(PlatformAbstractionLayer.CompletedTask); }; var client = await testEnvironment.ConnectClient(); await client.SubscribeAsync("The/Topic", MqttQualityOfServiceLevel.AtLeastOnce); await LongTestDelay(); Assert.IsNotNull(eventArgs); Assert.IsTrue(eventArgs.ClientId.StartsWith(nameof(Fire_Client_Subscribed_Event))); Assert.AreEqual("The/Topic", eventArgs.TopicFilter.Topic); Assert.AreEqual(MqttQualityOfServiceLevel.AtLeastOnce, eventArgs.TopicFilter.QualityOfServiceLevel); } }
internal Task Server_ClientSubscribedTopic(ClientSubscribedTopicEventArgs e) { _logger.LogInformation($"Client [{e.ClientId}] subscribed [{e.TopicFilter}]"); if (e.TopicFilter.Topic.StartsWith("$SYS/")) { } if (e.TopicFilter.Topic.ToLower().StartsWith("/devices/telemetry")) { } else { Subscribed++; } return(Task.CompletedTask); }