mirror of
https://github.com/dotnet/MQTTnet.git
synced 2026-10-17 09:43:05 +08:00
Fix UnitTests.
This commit is contained in:
@@ -62,7 +62,7 @@ namespace MQTTnet.Server
|
||||
|
||||
public Task StartSession(IMqttChannelAdapter clientAdapter)
|
||||
{
|
||||
return Task.Run(() => RunSession(clientAdapter, _cancellationToken), _cancellationToken);
|
||||
return Task.Run(() => RunSessionAsync(clientAdapter, _cancellationToken), _cancellationToken);
|
||||
}
|
||||
|
||||
public IList<IMqttClientSessionStatus> GetClientStatus()
|
||||
@@ -205,7 +205,7 @@ namespace MQTTnet.Server
|
||||
}
|
||||
}
|
||||
|
||||
private async Task RunSession(IMqttChannelAdapter clientAdapter, CancellationToken cancellationToken)
|
||||
private async Task RunSessionAsync(IMqttChannelAdapter clientAdapter, CancellationToken cancellationToken)
|
||||
{
|
||||
var clientId = string.Empty;
|
||||
|
||||
@@ -241,7 +241,8 @@ namespace MQTTnet.Server
|
||||
}
|
||||
|
||||
var result = PrepareClientSession(connectPacket);
|
||||
var clientSession = result.Session;
|
||||
|
||||
Server.OnClientConnected(clientId);
|
||||
|
||||
await clientAdapter.SendPacketAsync(
|
||||
new MqttConnAckPacket
|
||||
@@ -251,9 +252,7 @@ namespace MQTTnet.Server
|
||||
},
|
||||
cancellationToken).ConfigureAwait(false);
|
||||
|
||||
Server.OnClientConnected(clientId);
|
||||
|
||||
await clientSession.RunAsync(connectPacket, clientAdapter).ConfigureAwait(false);
|
||||
await result.Session.RunAsync(connectPacket, clientAdapter).ConfigureAwait(false);
|
||||
}
|
||||
catch (OperationCanceledException)
|
||||
{
|
||||
|
||||
@@ -660,16 +660,22 @@ namespace MQTTnet.Core.Tests
|
||||
{
|
||||
var s = new MqttFactory().CreateMqttServer();
|
||||
|
||||
var events = new ConcurrentBag<string>();
|
||||
var events = new List<string>();
|
||||
|
||||
s.ClientConnected += (_, __) =>
|
||||
{
|
||||
events.Add("c");
|
||||
lock (events)
|
||||
{
|
||||
events.Add("c");
|
||||
}
|
||||
};
|
||||
|
||||
s.ClientDisconnected += (_, __) =>
|
||||
{
|
||||
events.Add("d");
|
||||
lock (events)
|
||||
{
|
||||
events.Add("d");
|
||||
}
|
||||
};
|
||||
|
||||
var clientOptions = new MqttClientOptionsBuilder()
|
||||
@@ -691,17 +697,17 @@ namespace MQTTnet.Core.Tests
|
||||
await Task.Delay(250);
|
||||
|
||||
await c1.DisconnectAsync();
|
||||
|
||||
await Task.Delay(250);
|
||||
|
||||
await c2.DisconnectAsync();
|
||||
|
||||
await Task.Delay(250);
|
||||
|
||||
var flow = string.Join(string.Empty, events);
|
||||
|
||||
await s.StopAsync();
|
||||
|
||||
var flow = string.Join(string.Empty, events);
|
||||
Assert.AreEqual("cdcd", flow);
|
||||
|
||||
//Assert.IsFalse(connecteCalledBeforeConnectedClients, "ClientConnected was called before ClientDisconnect was called");
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user