Added interceptor for undelivered messages.

This commit is contained in:
SeppPenner
2020-06-09 20:54:42 +02:00
parent 92518fc4ec
commit 75dfe68a94
8 changed files with 56 additions and 1 deletions
+28
View File
@@ -1384,5 +1384,33 @@ namespace MQTTnet.Tests
Assert.AreEqual(expectedReceivedMessagesCount, receivedMessagesCount);
}
}
[TestMethod]
public async Task Intercept_Undelivered()
{
using (var testEnvironment = new TestEnvironment())
{
var undeliverd = string.Empty;
var svr = await testEnvironment.StartServerAsync(new MqttServerOptionsBuilder().WithUndeliveredMessageInterceptor(
context =>
{
undeliverd = context.ApplicationMessage.Topic;
}));
var topicAReceived = false;
var topicBReceived = false;
var client = await testEnvironment.ConnectClientAsync();
await client.SubscribeAsync("b");
await client.PublishAsync("a", null, MqttQualityOfServiceLevel.ExactlyOnce);
await Task.Delay(500);
Assert.AreEqual(undeliverd, "a");
}
}
}
}