diff --git a/Directory.Packages.props b/Directory.Packages.props
index 233fc2ad6..7d0f95d76 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -42,24 +42,22 @@
-
-
+
+
-
-
-
+
-
+
diff --git a/MORYX-Framework.sln b/MORYX-Framework.sln
index 311087c01..cc3ea0111 100644
--- a/MORYX-Framework.sln
+++ b/MORYX-Framework.sln
@@ -216,8 +216,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Drivers", "Drivers", "{93C9
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Moryx.Drivers.Mqtt", "src\Moryx.Drivers.Mqtt\Moryx.Drivers.Mqtt.csproj", "{7EDCD56F-EF56-40DF-A25F-5896990D2407}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Moryx.Resources.Mqtt.Tests", "src\Tests\Moryx.Recources.Mqtt.Tests\Moryx.Resources.Mqtt.Tests.csproj", "{4C32122A-90B9-4E49-AE3E-985FA5D4AC54}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Moryx.Drivers.OpcUa", "src\Moryx.Drivers.OpcUa\Moryx.Drivers.OpcUa.csproj", "{BD3B74DF-9EC2-4A5A-BCFE-1707C83756CC}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Moryx.Drivers.OpcUa.Tests", "src\Tests\Moryx.Drivers.OpcUa.Tests\Moryx.Drivers.OpcUa.Tests.csproj", "{CB5BC342-4952-4419-ABB9-0D240684A3DE}"
@@ -308,6 +306,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Moryx.Shifts.Management.Int
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Moryx.Model.SqlServer", "src\Moryx.Model.SqlServer\Moryx.Model.SqlServer.csproj", "{4402EF2E-CBA8-4EEF-B8A6-EC8364960306}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Moryx.Drivers.Mqtt.Tests", "src\Tests\Moryx.Drivers.Mqtt.Tests\Moryx.Drivers.Mqtt.Tests.csproj", "{B2F922C0-F7C3-4C70-9BC5-5B5743BD8D7F}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -646,10 +646,6 @@ Global
{7EDCD56F-EF56-40DF-A25F-5896990D2407}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7EDCD56F-EF56-40DF-A25F-5896990D2407}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7EDCD56F-EF56-40DF-A25F-5896990D2407}.Release|Any CPU.Build.0 = Release|Any CPU
- {4C32122A-90B9-4E49-AE3E-985FA5D4AC54}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {4C32122A-90B9-4E49-AE3E-985FA5D4AC54}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {4C32122A-90B9-4E49-AE3E-985FA5D4AC54}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {4C32122A-90B9-4E49-AE3E-985FA5D4AC54}.Release|Any CPU.Build.0 = Release|Any CPU
{BD3B74DF-9EC2-4A5A-BCFE-1707C83756CC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BD3B74DF-9EC2-4A5A-BCFE-1707C83756CC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BD3B74DF-9EC2-4A5A-BCFE-1707C83756CC}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -810,6 +806,10 @@ Global
{4402EF2E-CBA8-4EEF-B8A6-EC8364960306}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4402EF2E-CBA8-4EEF-B8A6-EC8364960306}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4402EF2E-CBA8-4EEF-B8A6-EC8364960306}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B2F922C0-F7C3-4C70-9BC5-5B5743BD8D7F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B2F922C0-F7C3-4C70-9BC5-5B5743BD8D7F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B2F922C0-F7C3-4C70-9BC5-5B5743BD8D7F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B2F922C0-F7C3-4C70-9BC5-5B5743BD8D7F}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -893,7 +893,6 @@ Global
{39EDE0BB-F7D8-4E2E-9D1B-36A7A245FA05} = {8BBF84BB-4A8B-49F4-BA74-F25CBEED3F57}
{D473D554-26F3-47EC-AE7D-A9754556C9D9} = {8BBF84BB-4A8B-49F4-BA74-F25CBEED3F57}
{7EDCD56F-EF56-40DF-A25F-5896990D2407} = {93C94C82-873F-4D31-8A9C-0227047BD5A8}
- {4C32122A-90B9-4E49-AE3E-985FA5D4AC54} = {0A466330-6ED6-4861-9C94-31B1949CDDB9}
{BD3B74DF-9EC2-4A5A-BCFE-1707C83756CC} = {93C94C82-873F-4D31-8A9C-0227047BD5A8}
{CB5BC342-4952-4419-ABB9-0D240684A3DE} = {0A466330-6ED6-4861-9C94-31B1949CDDB9}
{58CD8D72-1000-479A-B82A-D8C018345239} = {73AFB51B-B1A2-4144-AB4C-9CDE80CBCFBC}
@@ -934,6 +933,7 @@ Global
{22358E04-0AE4-4ADA-9018-56C881E313F1} = {8DF13E64-63FC-44A9-A54C-ADEFC356CDE8}
{5E02B439-B91F-4297-9AE4-7B92F2AA2AFF} = {8517D209-5BC1-47BD-A7C7-9CF9ADD9F5B6}
{4402EF2E-CBA8-4EEF-B8A6-EC8364960306} = {74112169-6672-4907-A187-F055111940A9}
+ {B2F922C0-F7C3-4C70-9BC5-5B5743BD8D7F} = {0A466330-6ED6-4861-9C94-31B1949CDDB9}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {36EFC961-F4E7-49DC-A36A-99594FFB8243}
diff --git a/src/Moryx.Drivers.Mqtt/MqttDriver.cs b/src/Moryx.Drivers.Mqtt/MqttDriver.cs
index b0b3a5ce1..2a586b68d 100644
--- a/src/Moryx.Drivers.Mqtt/MqttDriver.cs
+++ b/src/Moryx.Drivers.Mqtt/MqttDriver.cs
@@ -1,10 +1,10 @@
// Copyright (c) 2025, Phoenix Contact GmbH & Co. KG
// Licensed under the Apache License, Version 2.0
+using System.Buffers;
using System.Runtime.Serialization;
using Moryx.AbstractionLayer.Drivers;
using MQTTnet;
-using MQTTnet.Client;
using System.ComponentModel;
using System.Text.RegularExpressions;
using Moryx.AbstractionLayer.Drivers.Message;
@@ -146,7 +146,7 @@ protected override void OnInitialize()
{
base.OnInitialize();
- var factory = new MqttFactory();
+ var factory = new MqttClientFactory();
_mqttClient = factory.CreateMqttClient();
_mqttClient.ApplicationMessageReceivedAsync += OnReceived;
@@ -339,14 +339,17 @@ public async Task OnSend(MqttMessageTopic messageTopic, byte[] message, Cancella
private Task OnReceived(MqttApplicationMessageReceivedEventArgs args)
{
// Experimental: Dispatch to new thread to prevent exceptions or deadlocks from causing inflight blockage
- ParallelOperations.ExecuteParallel(param => Receive(param.Topic, param.Payload), new { args.ApplicationMessage.Topic, args.ApplicationMessage.Payload });
+ ParallelOperations.ExecuteParallel(param => Receive(param.Topic, param.Payload), new
+ {
+ args.ApplicationMessage.Topic,
+ Payload = args.ApplicationMessage.Payload.ToArray()
+ });
return Task.CompletedTask;
}
internal void Receive(string topicName, byte[] message)
{
-
var topic = topicName;
if (Identifier != "")
{
diff --git a/src/Moryx.Drivers.Mqtt/Properties/AssemblyInfo.cs b/src/Moryx.Drivers.Mqtt/Properties/AssemblyInfo.cs
index 5a8970d7a..a2cda0907 100644
--- a/src/Moryx.Drivers.Mqtt/Properties/AssemblyInfo.cs
+++ b/src/Moryx.Drivers.Mqtt/Properties/AssemblyInfo.cs
@@ -3,4 +3,4 @@
using System.Runtime.CompilerServices;
-[assembly: InternalsVisibleTo("Moryx.Resources.Mqtt.Tests")]
\ No newline at end of file
+[assembly: InternalsVisibleTo("Moryx.Drivers.Mqtt.Tests")]
diff --git a/src/Moryx.Drivers.OpcUa/OpcUaDriver.cs b/src/Moryx.Drivers.OpcUa/OpcUaDriver.cs
index 7503f0e13..d4860cda3 100644
--- a/src/Moryx.Drivers.OpcUa/OpcUaDriver.cs
+++ b/src/Moryx.Drivers.OpcUa/OpcUaDriver.cs
@@ -195,7 +195,7 @@ internal List NodeIdAlias
//TODO: Internal property just for tests, use xml also in tests
internal ApplicationConfigurationFactory ApplicationConfigurationFactory { get; set; } = new();
-
+
///
/// Convert an OpcUaNode to an entity to be shown on the UI
///
diff --git a/src/Moryx.Model.Sqlite/Moryx.Model.Sqlite.csproj b/src/Moryx.Model.Sqlite/Moryx.Model.Sqlite.csproj
index 4655f9f58..70602b005 100644
--- a/src/Moryx.Model.Sqlite/Moryx.Model.Sqlite.csproj
+++ b/src/Moryx.Model.Sqlite/Moryx.Model.Sqlite.csproj
@@ -13,7 +13,6 @@
-
diff --git a/src/Moryx.Operators.Management/Moryx.Operators.Management.csproj b/src/Moryx.Operators.Management/Moryx.Operators.Management.csproj
index 61b639f25..f08fa7d43 100644
--- a/src/Moryx.Operators.Management/Moryx.Operators.Management.csproj
+++ b/src/Moryx.Operators.Management/Moryx.Operators.Management.csproj
@@ -19,6 +19,7 @@
+
diff --git a/src/Moryx.Shifts.Management/Moryx.Shifts.Management.csproj b/src/Moryx.Shifts.Management/Moryx.Shifts.Management.csproj
index a02ca4f12..5c7e9fbad 100644
--- a/src/Moryx.Shifts.Management/Moryx.Shifts.Management.csproj
+++ b/src/Moryx.Shifts.Management/Moryx.Shifts.Management.csproj
@@ -14,6 +14,7 @@
+
diff --git a/src/Tests/Moryx.Recources.Mqtt.Tests/Moryx.Resources.Mqtt.Tests.csproj b/src/Tests/Moryx.Drivers.Mqtt.Tests/Moryx.Drivers.Mqtt.Tests.csproj
similarity index 98%
rename from src/Tests/Moryx.Recources.Mqtt.Tests/Moryx.Resources.Mqtt.Tests.csproj
rename to src/Tests/Moryx.Drivers.Mqtt.Tests/Moryx.Drivers.Mqtt.Tests.csproj
index 7f2e3cd5f..bde6a0ef2 100644
--- a/src/Tests/Moryx.Recources.Mqtt.Tests/Moryx.Resources.Mqtt.Tests.csproj
+++ b/src/Tests/Moryx.Drivers.Mqtt.Tests/Moryx.Drivers.Mqtt.Tests.csproj
@@ -1,10 +1,12 @@
+
Library
net10.0
full
true
+
@@ -12,10 +14,12 @@
+
-
\ No newline at end of file
+
+
diff --git a/src/Tests/Moryx.Recources.Mqtt.Tests/TestDriverMqttChannelFunctions.cs b/src/Tests/Moryx.Drivers.Mqtt.Tests/TestDriverMqttChannelFunctions.cs
similarity index 98%
rename from src/Tests/Moryx.Recources.Mqtt.Tests/TestDriverMqttChannelFunctions.cs
rename to src/Tests/Moryx.Drivers.Mqtt.Tests/TestDriverMqttChannelFunctions.cs
index abe2efeda..3258c1a1a 100644
--- a/src/Tests/Moryx.Recources.Mqtt.Tests/TestDriverMqttChannelFunctions.cs
+++ b/src/Tests/Moryx.Drivers.Mqtt.Tests/TestDriverMqttChannelFunctions.cs
@@ -9,22 +9,20 @@
using Moq;
using Moryx.AbstractionLayer.Products;
using Moryx.AbstractionLayer.TestTools;
-using Moryx.Drivers.Mqtt;
using Moryx.Drivers.Mqtt.MqttTopics;
+using Moryx.Drivers.Mqtt.Tests.TestMessages;
using Moryx.Logging;
using Moryx.Modules;
-using Moryx.Resources.Mqtt.Tests.TestMessages;
using Moryx.TestTools.UnitTest;
using Moryx.Tools;
using MQTTnet;
-using MQTTnet.Client;
using MQTTnet.Formatter;
using MQTTnet.Packets;
using MQTTnet.Protocol;
using Newtonsoft.Json;
using NUnit.Framework;
-namespace Moryx.Resources.Mqtt.Tests
+namespace Moryx.Drivers.Mqtt.Tests
{
[TestFixture(MqttProtocolVersion.V310)]
[TestFixture(MqttProtocolVersion.V311)]
@@ -50,7 +48,7 @@ public void Setup()
_driver = CreateMqttDriver();
_mockClient = SetupMqttClientMock();
- //Initialize MqttDriver
+ //Initialize MqttDriver
_driver.InitializeForTest(_mockClient.Object);
((IPlugin)_driver).Start();
_driver.OnConnected(new MqttClientConnectedEventArgs(new MqttClientConnectResult())).Wait();
@@ -88,7 +86,8 @@ private MqttDriver CreateMqttDriver()
Id = 4,
Logger = new ModuleLogger("Dummy", new NullLoggerFactory()),
Channels = new ReferenceCollectionMock(),
- MqttVersion = _version
+ MqttVersion = _version,
+ BrokerUrl = "mock"
};
}
@@ -122,7 +121,7 @@ public void Channel_FindChannel_TChannel()
Assert.That(c.Identifier.Equals(_topicBoolMqtt.Identifier));
}
-
+
[Test(Description = "Return null, if identifier does not exist")]
public void Channel_NotFindChannel_IdentifierDoesNotExist()
{
diff --git a/src/Tests/Moryx.Recources.Mqtt.Tests/TestDriverMqttIByteSerializable.cs b/src/Tests/Moryx.Drivers.Mqtt.Tests/TestDriverMqttIByteSerializable.cs
similarity index 95%
rename from src/Tests/Moryx.Recources.Mqtt.Tests/TestDriverMqttIByteSerializable.cs
rename to src/Tests/Moryx.Drivers.Mqtt.Tests/TestDriverMqttIByteSerializable.cs
index 291be0b39..0ab199a4b 100644
--- a/src/Tests/Moryx.Recources.Mqtt.Tests/TestDriverMqttIByteSerializable.cs
+++ b/src/Tests/Moryx.Drivers.Mqtt.Tests/TestDriverMqttIByteSerializable.cs
@@ -2,26 +2,24 @@
// Licensed under the Apache License, Version 2.0
using System;
+using System.Buffers;
using System.Linq.Expressions;
using System.Threading;
-using System.Threading.Tasks;
using Microsoft.Extensions.Logging.Abstractions;
using Moq;
using Moryx.AbstractionLayer.TestTools;
-using Moryx.Drivers.Mqtt;
using Moryx.Drivers.Mqtt.MqttTopics;
+using Moryx.Drivers.Mqtt.Tests.TestMessages;
using Moryx.Logging;
using Moryx.Modules;
-using Moryx.Resources.Mqtt.Tests.TestMessages;
using Moryx.Tools;
using MQTTnet;
-using MQTTnet.Client;
using MQTTnet.Formatter;
using MQTTnet.Packets;
using MQTTnet.Protocol;
using NUnit.Framework;
-namespace Moryx.Resources.Mqtt.Tests
+namespace Moryx.Drivers.Mqtt.Tests
{
[TestFixture(MqttProtocolVersion.V310)]
[TestFixture(MqttProtocolVersion.V311)]
@@ -64,7 +62,8 @@ public void Setup()
Id = 4,
Logger = new ModuleLogger("Dummy", new NullLoggerFactory()),
Channels = new ReferenceCollectionMock { _topicBoolMqtt, _topicBoolIByteSerializable },
- MqttVersion = _version
+ MqttVersion = _version,
+ BrokerUrl = "mock"
};
_mockClient = new Mock();
@@ -84,8 +83,7 @@ public void Setup()
private Expression> CorrectClientOptions()
{
return o => o.ProtocolVersion == _driver.MqttVersion && o.CleanSession == !_driver.ReconnectWithoutCleanSession
- && o.ClientId == $"{System.Net.Dns.GetHostName()}-{_driver.Id}-{_driver.Name}" && (o.ChannelOptions as MqttClientTcpOptions).Server == _driver.BrokerUrl &&
- (o.ChannelOptions as MqttClientTcpOptions).Port == _driver.Port;
+ && o.ClientId == $"{System.Net.Dns.GetHostName()}-{_driver.Id}-{_driver.Name}";
}
[Test(Description = "Publish Message using Driver")]
@@ -129,7 +127,7 @@ private void SendMessageBoolMqttMessage(MqttApplicationMessage mqttMsg, Cancella
Assert.That(mqttMsg.QualityOfServiceLevel, Is.EqualTo(MqttQualityOfServiceLevel.ExactlyOnce),
"Qos should be ExactlyOnce, but is " + mqttMsg.QualityOfServiceLevel);
var msg = new BoolMqttMessage();
- msg.FromBytes(mqttMsg.Payload);
+ msg.FromBytes(mqttMsg.Payload.ToArray());
Assert.That(msg.Message == MESSAGE_VALUE, "Message should be " + MESSAGE_VALUE + ", but is " + msg.Message);
}
@@ -160,7 +158,7 @@ private void SendMessageBoolIByteSerializableMessage(MqttApplicationMessage sent
Assert.That(sentMsg.QualityOfServiceLevel, Is.EqualTo(MqttQualityOfServiceLevel.ExactlyOnce),
"Qos should be ExactlyOnce, but is " + sentMsg.QualityOfServiceLevel);
var msg = new BoolByteSerializableMessage();
- msg.FromBytes(sentMsg.Payload);
+ msg.FromBytes(sentMsg.Payload.ToArray());
Assert.That(msg.Message == MESSAGE_VALUE, "Message should be " + MESSAGE_VALUE + ", but is " + msg.Message);
}
diff --git a/src/Tests/Moryx.Recources.Mqtt.Tests/TestDriverMqttJsonTopic.cs b/src/Tests/Moryx.Drivers.Mqtt.Tests/TestDriverMqttJsonTopic.cs
similarity index 94%
rename from src/Tests/Moryx.Recources.Mqtt.Tests/TestDriverMqttJsonTopic.cs
rename to src/Tests/Moryx.Drivers.Mqtt.Tests/TestDriverMqttJsonTopic.cs
index 8fe2c0686..9b1958bd9 100644
--- a/src/Tests/Moryx.Recources.Mqtt.Tests/TestDriverMqttJsonTopic.cs
+++ b/src/Tests/Moryx.Drivers.Mqtt.Tests/TestDriverMqttJsonTopic.cs
@@ -2,26 +2,25 @@
// Licensed under the Apache License, Version 2.0
using System;
+using System.Buffers;
using System.Linq.Expressions;
using System.Text;
using System.Threading;
using Microsoft.Extensions.Logging.Abstractions;
using Moq;
using Moryx.AbstractionLayer.TestTools;
-using Moryx.Drivers.Mqtt;
using Moryx.Drivers.Mqtt.MqttTopics;
using Moryx.Logging;
using Moryx.Modules;
using Moryx.Tools;
using MQTTnet;
-using MQTTnet.Client;
using MQTTnet.Formatter;
using MQTTnet.Packets;
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;
using NUnit.Framework;
-namespace Moryx.Resources.Mqtt.Tests
+namespace Moryx.Drivers.Mqtt.Tests
{
[TestFixture(MqttProtocolVersion.V310)]
[TestFixture(MqttProtocolVersion.V311)]
@@ -65,7 +64,8 @@ public void Setup()
Id = 4,
Logger = new ModuleLogger("Dummy", new NullLoggerFactory()),
Channels = new ReferenceCollectionMock { _mqttTopicCamel, _mqttTopicPascal },
- MqttVersion = _version
+ MqttVersion = _version,
+ BrokerUrl = "mock"
};
_mockClient = new Mock();
@@ -84,8 +84,7 @@ public void Setup()
private Expression> CorrectClientOptions()
{
return o => o.ProtocolVersion == _driver.MqttVersion && o.CleanSession == !_driver.ReconnectWithoutCleanSession
- && o.ClientId == $"{System.Net.Dns.GetHostName()}-{_driver.Id}-{_driver.Name}" && (o.ChannelOptions as MqttClientTcpOptions).Server == _driver.BrokerUrl &&
- (o.ChannelOptions as MqttClientTcpOptions).Port == _driver.Port;
+ && o.ClientId == $"{System.Net.Dns.GetHostName()}-{_driver.Id}-{_driver.Name}";
}
[Test(Description = "Publish Json Message using the MqttTopicJson")]
@@ -109,7 +108,8 @@ public void Send_UsingMqttTopicJson_Topic_QOS_Message()
private void CheckSentMessage(MqttApplicationMessage sentMsg, CancellationToken token)
{
var msg = new JsonMessageTest();
- var payload = Encoding.UTF8.GetString(sentMsg.Payload, 0, sentMsg.Payload.Length);
+ var payloadArray = sentMsg.Payload.ToArray();
+ var payload = Encoding.UTF8.GetString(payloadArray, 0, payloadArray.Length);
if (sentMsg.Topic == _driver.Identifier + _mqttTopicCamel.Identifier)
{
Assert.That(payload.Contains(nameof(JsonMessageTest.Age).ToLower()));
diff --git a/src/Tests/Moryx.Recources.Mqtt.Tests/TestDriverMqttPrimitiveDatatypeTopic.cs b/src/Tests/Moryx.Drivers.Mqtt.Tests/TestDriverMqttPrimitiveDatatypeTopic.cs
similarity index 95%
rename from src/Tests/Moryx.Recources.Mqtt.Tests/TestDriverMqttPrimitiveDatatypeTopic.cs
rename to src/Tests/Moryx.Drivers.Mqtt.Tests/TestDriverMqttPrimitiveDatatypeTopic.cs
index f6a0818fd..dc3e98769 100644
--- a/src/Tests/Moryx.Recources.Mqtt.Tests/TestDriverMqttPrimitiveDatatypeTopic.cs
+++ b/src/Tests/Moryx.Drivers.Mqtt.Tests/TestDriverMqttPrimitiveDatatypeTopic.cs
@@ -2,25 +2,24 @@
// Licensed under the Apache License, Version 2.0
using System;
+using System.Buffers;
using System.Linq.Expressions;
using System.Text;
using System.Threading;
using Microsoft.Extensions.Logging.Abstractions;
using Moq;
using Moryx.AbstractionLayer.TestTools;
-using Moryx.Drivers.Mqtt;
using Moryx.Drivers.Mqtt.MqttTopics;
using Moryx.Logging;
using Moryx.Modules;
using Moryx.Tools;
using MQTTnet;
-using MQTTnet.Client;
using MQTTnet.Formatter;
using MQTTnet.Packets;
using MQTTnet.Protocol;
using NUnit.Framework;
-namespace Moryx.Resources.Mqtt.Tests
+namespace Moryx.Drivers.Mqtt.Tests
{
[TestFixture(MqttProtocolVersion.V310)]
[TestFixture(MqttProtocolVersion.V311)]
@@ -66,7 +65,8 @@ public void Setup()
Id = 4,
Logger = new ModuleLogger("Dummy", new NullLoggerFactory()),
Channels = new ReferenceCollectionMock { _mqttTopicInt, _mqttTopicString },
- MqttVersion = _version
+ MqttVersion = _version,
+ BrokerUrl = "mock"
};
_mockClient = new Mock();
@@ -85,8 +85,7 @@ public void Setup()
private Expression> CorrectClientOptions()
{
return o => o.ProtocolVersion == _driver.MqttVersion && o.CleanSession == !_driver.ReconnectWithoutCleanSession
- && o.ClientId == $"{System.Net.Dns.GetHostName()}-{_driver.Id}-{_driver.Name}" && (o.ChannelOptions as MqttClientTcpOptions).Server == _driver.BrokerUrl &&
- (o.ChannelOptions as MqttClientTcpOptions).Port == _driver.Port;
+ && o.ClientId == $"{System.Net.Dns.GetHostName()}-{_driver.Id}-{_driver.Name}";
}
[Test(Description = "Publish int32 Message using the MqttTopicPrimitive")]
@@ -115,7 +114,7 @@ private void SendMessagIntIConvertible(MqttApplicationMessage sentMsg, Cancellat
"Topic should be " + _driver.Identifier + _mqttTopicInt.Identifier + ", but is " + sentMsg.Topic);
Assert.That(sentMsg.QualityOfServiceLevel, Is.EqualTo(MqttQualityOfServiceLevel.ExactlyOnce),
"Qos should be ExactlyOnce, but is " + sentMsg.QualityOfServiceLevel);
- var msg = BitConverter.ToInt32(sentMsg.Payload, 0);
+ var msg = BitConverter.ToInt32(sentMsg.Payload.ToArray(), 0);
Assert.That(msg == MESSAGE_VALUE_INT, "Message should be " + MESSAGE_VALUE_INT + ", but is " + msg);
}
diff --git a/src/Tests/Moryx.Recources.Mqtt.Tests/TestDriverStateMachine.cs b/src/Tests/Moryx.Drivers.Mqtt.Tests/TestDriverStateMachine.cs
similarity index 95%
rename from src/Tests/Moryx.Recources.Mqtt.Tests/TestDriverStateMachine.cs
rename to src/Tests/Moryx.Drivers.Mqtt.Tests/TestDriverStateMachine.cs
index 542501571..b57b26f94 100644
--- a/src/Tests/Moryx.Recources.Mqtt.Tests/TestDriverStateMachine.cs
+++ b/src/Tests/Moryx.Drivers.Mqtt.Tests/TestDriverStateMachine.cs
@@ -7,15 +7,14 @@
using Moq;
using Moryx.AbstractionLayer.Drivers;
using Moryx.AbstractionLayer.TestTools;
-using Moryx.Drivers.Mqtt;
using Moryx.Logging;
using Moryx.Modules;
using Moryx.Tools;
-using MQTTnet.Client;
+using MQTTnet;
using MQTTnet.Formatter;
using NUnit.Framework;
-namespace Moryx.Resources.Mqtt.Tests
+namespace Moryx.Drivers.Mqtt.Tests
{
[TestFixture(MqttProtocolVersion.V310)]
[TestFixture(MqttProtocolVersion.V311)]
@@ -37,7 +36,8 @@ public void Setup()
Id = 4,
Logger = new ModuleLogger("Dummy", new NullLoggerFactory()),
Channels = new ReferenceCollectionMock(),
- MqttVersion = version
+ MqttVersion = version,
+ BrokerUrl = "mock"
};
//Setup mock for MQTT-Client
diff --git a/src/Tests/Moryx.Recources.Mqtt.Tests/TestMessages/BoolByteSerializableMessage.cs b/src/Tests/Moryx.Drivers.Mqtt.Tests/TestMessages/BoolByteSerializableMessage.cs
similarity index 90%
rename from src/Tests/Moryx.Recources.Mqtt.Tests/TestMessages/BoolByteSerializableMessage.cs
rename to src/Tests/Moryx.Drivers.Mqtt.Tests/TestMessages/BoolByteSerializableMessage.cs
index 0f7b04c57..fe644b399 100644
--- a/src/Tests/Moryx.Recources.Mqtt.Tests/TestMessages/BoolByteSerializableMessage.cs
+++ b/src/Tests/Moryx.Drivers.Mqtt.Tests/TestMessages/BoolByteSerializableMessage.cs
@@ -4,7 +4,7 @@
using System;
using Moryx.Communication;
-namespace Moryx.Resources.Mqtt.Tests.TestMessages
+namespace Moryx.Drivers.Mqtt.Tests.TestMessages
{
public class BoolByteSerializableMessage : IByteSerializable
{
diff --git a/src/Tests/Moryx.Recources.Mqtt.Tests/TestMessages/BoolMqttMessage.cs b/src/Tests/Moryx.Drivers.Mqtt.Tests/TestMessages/BoolMqttMessage.cs
similarity index 92%
rename from src/Tests/Moryx.Recources.Mqtt.Tests/TestMessages/BoolMqttMessage.cs
rename to src/Tests/Moryx.Drivers.Mqtt.Tests/TestMessages/BoolMqttMessage.cs
index 767638d62..2cc0494ca 100644
--- a/src/Tests/Moryx.Recources.Mqtt.Tests/TestMessages/BoolMqttMessage.cs
+++ b/src/Tests/Moryx.Drivers.Mqtt.Tests/TestMessages/BoolMqttMessage.cs
@@ -5,7 +5,7 @@
using Moryx.AbstractionLayer.Drivers.Message;
using Moryx.Communication;
-namespace Moryx.Resources.Mqtt.Tests.TestMessages
+namespace Moryx.Drivers.Mqtt.Tests.TestMessages
{
public class BoolMqttMessage : IIdentifierMessage, IByteSerializable
{
diff --git a/src/Tests/Moryx.Recources.Mqtt.Tests/TestMessages/MessageForPlaceholderMessages.cs b/src/Tests/Moryx.Drivers.Mqtt.Tests/TestMessages/MessageForPlaceholderMessages.cs
similarity index 91%
rename from src/Tests/Moryx.Recources.Mqtt.Tests/TestMessages/MessageForPlaceholderMessages.cs
rename to src/Tests/Moryx.Drivers.Mqtt.Tests/TestMessages/MessageForPlaceholderMessages.cs
index 04fe38a90..319b7d0dc 100644
--- a/src/Tests/Moryx.Recources.Mqtt.Tests/TestMessages/MessageForPlaceholderMessages.cs
+++ b/src/Tests/Moryx.Drivers.Mqtt.Tests/TestMessages/MessageForPlaceholderMessages.cs
@@ -3,7 +3,7 @@
using Moryx.AbstractionLayer.Products;
-namespace Moryx.Resources.Mqtt.Tests.TestMessages
+namespace Moryx.Drivers.Mqtt.Tests.TestMessages
{
public class MessageForPlaceholderMessages
{
diff --git a/src/Tests/Moryx.Recources.Mqtt.Tests/TestMqttTopic.cs b/src/Tests/Moryx.Drivers.Mqtt.Tests/TestMqttTopic.cs
similarity index 98%
rename from src/Tests/Moryx.Recources.Mqtt.Tests/TestMqttTopic.cs
rename to src/Tests/Moryx.Drivers.Mqtt.Tests/TestMqttTopic.cs
index b53e17649..c1183722b 100644
--- a/src/Tests/Moryx.Recources.Mqtt.Tests/TestMqttTopic.cs
+++ b/src/Tests/Moryx.Drivers.Mqtt.Tests/TestMqttTopic.cs
@@ -6,7 +6,7 @@
using Moryx.Drivers.Mqtt.MqttTopics;
using NUnit.Framework;
-namespace Moryx.Resources.Mqtt.Tests
+namespace Moryx.Drivers.Mqtt.Tests
{
[TestFixture]
public class TestMqttTopic
diff --git a/src/Tests/Moryx.Drivers.OpcUa.Tests/HandlingWriteAndRead.cs b/src/Tests/Moryx.Drivers.OpcUa.Tests/HandlingWriteAndRead.cs
index 1c3037b8f..8f6e6e5d3 100644
--- a/src/Tests/Moryx.Drivers.OpcUa.Tests/HandlingWriteAndRead.cs
+++ b/src/Tests/Moryx.Drivers.OpcUa.Tests/HandlingWriteAndRead.cs
@@ -124,7 +124,7 @@ public void TestFindNode()
//Act
var result = _driver.FindNodeId(node.DisplayName.ToString());
- //Assert
+ //Assert
Assert.That(result.Any(x => x.Equals(nodeId)), Is.True);
}
}