Add low level client.

This commit is contained in:
Christian Kratky
2020-04-01 20:43:00 +02:00
parent 0d39bbbc0c
commit 04ccdcd562
46 changed files with 711 additions and 418 deletions
+18 -18
View File
@@ -1,11 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Sockets;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using MQTTnet.Adapter;
using MQTTnet.Client;
using MQTTnet.Client.Connecting;
@@ -17,6 +10,13 @@ using MQTTnet.Implementations;
using MQTTnet.Protocol;
using MQTTnet.Server;
using MQTTnet.Tests.Mockups;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Sockets;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace MQTTnet.Tests
{
@@ -54,7 +54,7 @@ namespace MQTTnet.Tests
MqttQualityOfServiceLevel.AtMostOnce,
"A/B/C",
MqttQualityOfServiceLevel.AtMostOnce,
1,
1,
TestContext);
}
@@ -1016,7 +1016,7 @@ namespace MQTTnet.Tests
[TestMethod]
public async Task Same_Client_Id_Connect_Disconnect_Event_Order()
{
using (var testEnvironment = new TestEnvironment(TestContext))
using (var testEnvironment = new TestEnvironment())
{
var server = await testEnvironment.StartServerAsync(new MqttServerOptionsBuilder());
@@ -1038,11 +1038,11 @@ namespace MQTTnet.Tests
}
});
var clientOptions = new MqttClientOptionsBuilder()
.WithClientId("same_id");
var clientOptionsBuilder = new MqttClientOptionsBuilder()
.WithClientId(Guid.NewGuid().ToString());
// c
var c1 = await testEnvironment.ConnectClientAsync(clientOptions);
var c1 = await testEnvironment.ConnectClientAsync(clientOptionsBuilder);
await Task.Delay(500);
@@ -1050,7 +1050,7 @@ namespace MQTTnet.Tests
Assert.AreEqual("c", flow);
// dc
var c2 = await testEnvironment.ConnectClientAsync(clientOptions);
var c2 = await testEnvironment.ConnectClientAsync(clientOptionsBuilder);
c2.UseApplicationMessageReceivedHandler(_ =>
{
@@ -1058,8 +1058,8 @@ namespace MQTTnet.Tests
{
events.Add("r");
}
});
c2.SubscribeAsync("topic").Wait();
await Task.Delay(500);
@@ -1080,7 +1080,7 @@ namespace MQTTnet.Tests
Assert.AreEqual(false, c1.IsConnected);
await c1.DisconnectAsync();
Assert.AreEqual (false, c1.IsConnected);
Assert.AreEqual(false, c1.IsConnected);
await Task.Delay(500);
@@ -1141,7 +1141,7 @@ namespace MQTTnet.Tests
await testEnvironment.ConnectClientAsync();
}
}
[TestMethod]
public async Task Close_Idle_Connection()
{
@@ -1182,7 +1182,7 @@ namespace MQTTnet.Tests
// forever. This is security related.
var client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
await PlatformAbstractionLayer.ConnectAsync(client, "localhost", testEnvironment.ServerPort);
var buffer = Encoding.UTF8.GetBytes("Garbage");
client.Send(buffer, buffer.Length, SocketFlags.None);