mirror of
https://github.com/dotnet/MQTTnet.git
synced 2026-10-17 01:33:03 +08:00
Update settings for tests project so that it will build on linux (#1860)
* Update settings for tests project so that it will build on linux * Improve unit tests and samples * Remove no longer required target frameworks for unit tests * Update ci.yml
This commit is contained in:
@@ -54,7 +54,7 @@ jobs:
|
|||||||
uses: darenm/Setup-VSTest@v1
|
uses: darenm/Setup-VSTest@v1
|
||||||
|
|
||||||
- name: Core Tests
|
- name: Core Tests
|
||||||
run: vstest.console.exe Source\MQTTnet.Tests\bin\Release\net6.0\MQTTnet.Tests.dll
|
run: vstest.console.exe Source\MQTTnet.Tests\bin\Release\net7.0\MQTTnet.Tests.dll
|
||||||
|
|
||||||
- name: ASP.NET Tests
|
- name: ASP.NET Tests
|
||||||
run: vstest.console.exe Source\MQTTnet.AspNetCore.Tests\bin\Release\netcoreapp3.1\MQTTnet.AspNetCore.Tests.dll
|
run: vstest.console.exe Source\MQTTnet.AspNetCore.Tests\bin\Release\netcoreapp3.1\MQTTnet.AspNetCore.Tests.dll
|
||||||
|
|||||||
@@ -184,7 +184,7 @@ public static class Client_Subscribe_Samples
|
|||||||
* This sample shows how to achieve concurrent processing and not have message AutoAcknowledged
|
* This sample shows how to achieve concurrent processing and not have message AutoAcknowledged
|
||||||
* This to have a proper QoS1 (at-least-once) experience for what at least MQTT specification can provide
|
* This to have a proper QoS1 (at-least-once) experience for what at least MQTT specification can provide
|
||||||
*/
|
*/
|
||||||
mqttClient.ApplicationMessageReceivedAsync += async ea =>
|
mqttClient.ApplicationMessageReceivedAsync += ea =>
|
||||||
{
|
{
|
||||||
ea.AutoAcknowledge = false;
|
ea.AutoAcknowledge = false;
|
||||||
|
|
||||||
@@ -201,6 +201,8 @@ public static class Client_Subscribe_Samples
|
|||||||
}
|
}
|
||||||
|
|
||||||
_ = Task.Run(ProcessAsync, shutdownToken);
|
_ = Task.Run(ProcessAsync, shutdownToken);
|
||||||
|
|
||||||
|
return Task.CompletedTask;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFrameworks>net452;net461;net48;netcoreapp3.1;net6.0;net7.0</TargetFrameworks>
|
<TargetFrameworks>netcoreapp3.1;net7.0</TargetFrameworks>
|
||||||
|
<TargetFrameworks Condition=" '$(OS)' == 'Windows_NT' ">$(TargetFrameworks);net452;net48</TargetFrameworks>
|
||||||
<IsPackable>false</IsPackable>
|
<IsPackable>false</IsPackable>
|
||||||
<LangVersion>7.3</LangVersion>
|
<LangVersion>7.3</LangVersion>
|
||||||
<EnableNETAnalyzers>false</EnableNETAnalyzers>
|
<EnableNETAnalyzers>false</EnableNETAnalyzers>
|
||||||
|
|||||||
@@ -273,7 +273,7 @@ namespace MQTTnet.Tests.MQTTv5
|
|||||||
Assert.AreEqual(applicationMessage.ResponseTopic, receivedMessage.ResponseTopic);
|
Assert.AreEqual(applicationMessage.ResponseTopic, receivedMessage.ResponseTopic);
|
||||||
Assert.AreEqual(applicationMessage.MessageExpiryInterval, receivedMessage.MessageExpiryInterval);
|
Assert.AreEqual(applicationMessage.MessageExpiryInterval, receivedMessage.MessageExpiryInterval);
|
||||||
CollectionAssert.AreEqual(applicationMessage.CorrelationData, receivedMessage.CorrelationData);
|
CollectionAssert.AreEqual(applicationMessage.CorrelationData, receivedMessage.CorrelationData);
|
||||||
CollectionAssert.AreEqual(applicationMessage.Payload, receivedMessage.Payload);
|
CollectionAssert.AreEqual(applicationMessage.PayloadSegment.ToArray(), receivedMessage.PayloadSegment.ToArray());
|
||||||
CollectionAssert.AreEqual(applicationMessage.UserProperties, receivedMessage.UserProperties);
|
CollectionAssert.AreEqual(applicationMessage.UserProperties, receivedMessage.UserProperties);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
#pragma warning disable CS0618 // Type or member is obsolete
|
||||||
|
|
||||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
@@ -8,7 +10,7 @@ using System.Threading.Tasks;
|
|||||||
namespace MQTTnet.Tests
|
namespace MQTTnet.Tests
|
||||||
{
|
{
|
||||||
[TestClass]
|
[TestClass]
|
||||||
public class MqttApplicationMessageTest
|
public sealed class MqttApplicationMessageTest
|
||||||
{
|
{
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void PayloadSegment()
|
public void PayloadSegment()
|
||||||
@@ -17,32 +19,27 @@ namespace MQTTnet.Tests
|
|||||||
Assert.AreEqual(0, message.Payload.Length);
|
Assert.AreEqual(0, message.Payload.Length);
|
||||||
Assert.AreEqual(0, message.PayloadSegment.Count);
|
Assert.AreEqual(0, message.PayloadSegment.Count);
|
||||||
|
|
||||||
Assert.IsTrue(object.ReferenceEquals(message.Payload, message.Payload));
|
Assert.IsTrue(ReferenceEquals(message.Payload, message.PayloadSegment.Array));
|
||||||
Assert.IsTrue(object.ReferenceEquals(message.Payload, message.PayloadSegment.Array));
|
|
||||||
|
|
||||||
message.Payload = new byte[] { 1, 2 };
|
message.Payload = new byte[] { 1, 2 };
|
||||||
Assert.AreEqual(2, message.Payload.Length);
|
Assert.AreEqual(2, message.Payload.Length);
|
||||||
Assert.AreEqual(2, message.PayloadSegment.Count);
|
Assert.AreEqual(2, message.PayloadSegment.Count);
|
||||||
Assert.IsTrue(object.ReferenceEquals(message.Payload, message.Payload));
|
Assert.IsTrue(ReferenceEquals(message.Payload, message.PayloadSegment.Array));
|
||||||
Assert.IsTrue(object.ReferenceEquals(message.Payload, message.PayloadSegment.Array));
|
|
||||||
|
|
||||||
message.Payload = new byte[] { 1, 2, 3 };
|
message.Payload = new byte[] { 1, 2, 3 };
|
||||||
Assert.AreEqual(3, message.Payload.Length);
|
Assert.AreEqual(3, message.Payload.Length);
|
||||||
Assert.AreEqual(3, message.PayloadSegment.Count);
|
Assert.AreEqual(3, message.PayloadSegment.Count);
|
||||||
Assert.IsTrue(object.ReferenceEquals(message.Payload, message.Payload));
|
Assert.IsTrue(ReferenceEquals(message.Payload, message.PayloadSegment.Array));
|
||||||
Assert.IsTrue(object.ReferenceEquals(message.Payload, message.PayloadSegment.Array));
|
|
||||||
|
|
||||||
message.PayloadSegment = new ArraySegment<byte>(new byte[] { 1, 2, 3 });
|
message.PayloadSegment = new ArraySegment<byte>(new byte[] { 1, 2, 3 });
|
||||||
Assert.AreEqual(3, message.Payload.Length);
|
Assert.AreEqual(3, message.Payload.Length);
|
||||||
Assert.AreEqual(3, message.PayloadSegment.Count);
|
Assert.AreEqual(3, message.PayloadSegment.Count);
|
||||||
Assert.IsTrue(object.ReferenceEquals(message.Payload, message.Payload));
|
Assert.IsTrue(ReferenceEquals(message.Payload, message.PayloadSegment.Array));
|
||||||
Assert.IsTrue(object.ReferenceEquals(message.Payload, message.PayloadSegment.Array));
|
|
||||||
|
|
||||||
message.PayloadSegment = new ArraySegment<byte>(new byte[] { 1, 2, 3 }, 1, 1);
|
message.PayloadSegment = new ArraySegment<byte>(new byte[] { 1, 2, 3 }, 1, 1);
|
||||||
Assert.AreEqual(1, message.Payload.Length);
|
Assert.AreEqual(1, message.Payload.Length);
|
||||||
Assert.AreEqual(1, message.PayloadSegment.Count);
|
Assert.AreEqual(1, message.PayloadSegment.Count);
|
||||||
Assert.IsTrue(object.ReferenceEquals(message.Payload, message.Payload));
|
Assert.IsFalse(ReferenceEquals(message.Payload, message.PayloadSegment.Array));
|
||||||
Assert.IsFalse(object.ReferenceEquals(message.Payload, message.PayloadSegment.Array));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,8 @@
|
|||||||
// The .NET Foundation licenses this file to you under the MIT license.
|
// The .NET Foundation licenses this file to you under the MIT license.
|
||||||
// See the LICENSE file in the project root for more information.
|
// See the LICENSE file in the project root for more information.
|
||||||
|
|
||||||
|
#pragma warning disable CS0612 // Type or member is obsolete
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
@@ -37,7 +39,7 @@ namespace MQTTnet.Client
|
|||||||
// on the order of called methods from the builder).
|
// on the order of called methods from the builder).
|
||||||
// The builder prefers the explicitly set TLS options!
|
// The builder prefers the explicitly set TLS options!
|
||||||
var tlsOptions = _tlsOptions ?? _tcpOptions?.TlsOptions;
|
var tlsOptions = _tlsOptions ?? _tcpOptions?.TlsOptions;
|
||||||
|
|
||||||
if (_tlsParameters != null)
|
if (_tlsParameters != null)
|
||||||
{
|
{
|
||||||
if (_tlsParameters?.UseTls == true)
|
if (_tlsParameters?.UseTls == true)
|
||||||
|
|||||||
Reference in New Issue
Block a user