mirror of
https://github.com/dotnet/MQTTnet.git
synced 2026-10-17 01:33:03 +08:00
Add UnitTests.
This commit is contained in:
@@ -39,7 +39,7 @@ namespace MQTTnet.Tests
|
||||
|
||||
await Task.Delay(100, ct.Token);
|
||||
|
||||
var tcpChannel = new MqttTcpChannel(new NetworkStream(clientSocket, true));
|
||||
var tcpChannel = new MqttTcpChannel(new NetworkStream(clientSocket, true), "test");
|
||||
|
||||
var buffer = new byte[1];
|
||||
await tcpChannel.ReadAsync(buffer, 0, 1, ct.Token);
|
||||
|
||||
@@ -437,7 +437,7 @@ namespace MQTTnet.Tests
|
||||
|
||||
await Task.Delay(1000);
|
||||
|
||||
var retainedMessages = await server.GetRetainedMessagesAsync();
|
||||
var retainedMessages = await server.GetRetainedApplicationMessagesAsync();
|
||||
|
||||
Assert.AreEqual(ClientCount, retainedMessages.Count);
|
||||
|
||||
@@ -566,6 +566,27 @@ namespace MQTTnet.Tests
|
||||
Assert.AreEqual(0, receivedMessagesCount);
|
||||
}
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public async Task Intercept_Application_Message()
|
||||
{
|
||||
using (var testEnvironment = new TestEnvironment())
|
||||
{
|
||||
await testEnvironment.StartServerAsync(
|
||||
new MqttServerOptionsBuilder().WithApplicationMessageInterceptor(
|
||||
c => { c.ApplicationMessage = new MqttApplicationMessage {Topic = "new_topic" }; }));
|
||||
|
||||
string receivedTopic = null;
|
||||
var c1 = await testEnvironment.ConnectClientAsync();
|
||||
await c1.SubscribeAsync("#");
|
||||
c1.UseApplicationMessageReceivedHandler(a => { receivedTopic = a.ApplicationMessage.Topic; });
|
||||
|
||||
await c1.PublishAsync(new MqttApplicationMessageBuilder().WithTopic("original_topic").Build());
|
||||
|
||||
await Task.Delay(500);
|
||||
Assert.AreEqual("new_topic", receivedTopic);
|
||||
}
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public async Task Persist_Retained_Message()
|
||||
@@ -586,6 +607,34 @@ namespace MQTTnet.Tests
|
||||
}
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public async Task Publish_After_Client_Connects()
|
||||
{
|
||||
using (var testEnvironment = new TestEnvironment())
|
||||
{
|
||||
var server = await testEnvironment.StartServerAsync();
|
||||
server.UseClientConnectedHandler(async e =>
|
||||
{
|
||||
await server.PublishAsync("/test/1", "true", MqttQualityOfServiceLevel.ExactlyOnce, false);
|
||||
});
|
||||
|
||||
string receivedTopic = null;
|
||||
|
||||
var c1 = await testEnvironment.ConnectClientAsync();
|
||||
c1.UseApplicationMessageReceivedHandler(e => { receivedTopic = e.ApplicationMessage.Topic; });
|
||||
await c1.SubscribeAsync("#");
|
||||
|
||||
await testEnvironment.ConnectClientAsync();
|
||||
await testEnvironment.ConnectClientAsync();
|
||||
await testEnvironment.ConnectClientAsync();
|
||||
await testEnvironment.ConnectClientAsync();
|
||||
|
||||
await Task.Delay(500);
|
||||
|
||||
Assert.AreEqual("/test/1", receivedTopic);
|
||||
}
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public async Task Intercept_Message()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user