mirror of
https://github.com/dotnet/MQTTnet.git
synced 2026-10-31 03:02:39 +08:00
Add UnitTests.
This commit is contained in:
@@ -39,7 +39,7 @@ namespace MQTTnet.Tests
|
|||||||
|
|
||||||
await Task.Delay(100, ct.Token);
|
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];
|
var buffer = new byte[1];
|
||||||
await tcpChannel.ReadAsync(buffer, 0, 1, ct.Token);
|
await tcpChannel.ReadAsync(buffer, 0, 1, ct.Token);
|
||||||
|
|||||||
@@ -437,7 +437,7 @@ namespace MQTTnet.Tests
|
|||||||
|
|
||||||
await Task.Delay(1000);
|
await Task.Delay(1000);
|
||||||
|
|
||||||
var retainedMessages = await server.GetRetainedMessagesAsync();
|
var retainedMessages = await server.GetRetainedApplicationMessagesAsync();
|
||||||
|
|
||||||
Assert.AreEqual(ClientCount, retainedMessages.Count);
|
Assert.AreEqual(ClientCount, retainedMessages.Count);
|
||||||
|
|
||||||
@@ -566,6 +566,27 @@ namespace MQTTnet.Tests
|
|||||||
Assert.AreEqual(0, receivedMessagesCount);
|
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]
|
[TestMethod]
|
||||||
public async Task Persist_Retained_Message()
|
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]
|
[TestMethod]
|
||||||
public async Task Intercept_Message()
|
public async Task Intercept_Message()
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user