diff --git a/NatsDotNet.slnx b/NatsDotNet.slnx index 7fed1de..657789f 100644 --- a/NatsDotNet.slnx +++ b/NatsDotNet.slnx @@ -7,6 +7,7 @@ + diff --git a/src/NATS.Server/NATS.Server.csproj b/src/NATS.Server/NATS.Server.csproj index 719e71b..91b5087 100644 --- a/src/NATS.Server/NATS.Server.csproj +++ b/src/NATS.Server/NATS.Server.csproj @@ -2,6 +2,7 @@ + diff --git a/tests/NATS.Server.Tests/Mqtt/MqttAdvancedParityTests.cs b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttAdvancedParityTests.cs similarity index 98% rename from tests/NATS.Server.Tests/Mqtt/MqttAdvancedParityTests.cs rename to tests/NATS.Server.Mqtt.Tests/Mqtt/MqttAdvancedParityTests.cs index 1743d31..a7651b8 100644 --- a/tests/NATS.Server.Tests/Mqtt/MqttAdvancedParityTests.cs +++ b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttAdvancedParityTests.cs @@ -12,8 +12,9 @@ using System.Net; using System.Net.Sockets; using System.Text; using NATS.Server.Mqtt; +using NATS.Server.TestUtilities; -namespace NATS.Server.Tests.Mqtt; +namespace NATS.Server.Mqtt.Tests.Mqtt; public class MqttAdvancedParityTests { @@ -763,10 +764,22 @@ public class MqttAdvancedParityTests // Disconnect client.Dispose(); - // Server should not crash - await Task.Delay(100); + // Verify server is still operational by polling until it accepts a new connection + var connected = await PollHelper.WaitUntilAsync(async () => + { + try + { + using var probe = new TcpClient(); + await probe.ConnectAsync(IPAddress.Loopback, listener.Port); + return true; + } + catch + { + return false; + } + }, timeoutMs: 2000, intervalMs: 10); + connected.ShouldBeTrue("Server should still accept connections after client disconnect"); - // Verify server is still operational using var client2 = new TcpClient(); await client2.ConnectAsync(IPAddress.Loopback, listener.Port); var s2 = client2.GetStream(); diff --git a/tests/NATS.Server.Tests/Mqtt/MqttAuthIntegrationTests.cs b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttAuthIntegrationTests.cs similarity index 95% rename from tests/NATS.Server.Tests/Mqtt/MqttAuthIntegrationTests.cs rename to tests/NATS.Server.Mqtt.Tests/Mqtt/MqttAuthIntegrationTests.cs index b315908..24d2535 100644 --- a/tests/NATS.Server.Tests/Mqtt/MqttAuthIntegrationTests.cs +++ b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttAuthIntegrationTests.cs @@ -2,7 +2,7 @@ using System.Net; using System.Net.Sockets; using NATS.Server.Mqtt; -namespace NATS.Server.Tests.Mqtt; +namespace NATS.Server.Mqtt.Tests.Mqtt; public class MqttAuthIntegrationTests { diff --git a/tests/NATS.Server.Tests/Mqtt/MqttAuthParityTests.cs b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttAuthParityTests.cs similarity index 96% rename from tests/NATS.Server.Tests/Mqtt/MqttAuthParityTests.cs rename to tests/NATS.Server.Mqtt.Tests/Mqtt/MqttAuthParityTests.cs index 638a298..277594a 100644 --- a/tests/NATS.Server.Tests/Mqtt/MqttAuthParityTests.cs +++ b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttAuthParityTests.cs @@ -9,8 +9,9 @@ using System.Net.Sockets; using System.Text; using NATS.Server.Auth; using NATS.Server.Mqtt; +using NATS.Server.TestUtilities; -namespace NATS.Server.Tests.Mqtt; +namespace NATS.Server.Mqtt.Tests.Mqtt; public class MqttAuthParityTests { @@ -202,10 +203,13 @@ public class MqttAuthParityTests await MqttAuthWire.WriteLineAsync(stream, "CONNECT keepalive-client clean=true keepalive=1"); (await MqttAuthWire.ReadLineAsync(stream, 1000)).ShouldBe("CONNACK"); - await Task.Delay(2500); - - var result = await MqttAuthWire.ReadRawAsync(stream, 500); - (result == null || result == "__timeout__").ShouldBeTrue(); + // Poll until the server closes the connection due to keepalive expiry (keepalive=1s) + var disconnected = await PollHelper.WaitUntilAsync(async () => + { + var result = await MqttAuthWire.ReadRawAsync(stream, 200); + return result == null || result == "__timeout__"; + }, timeoutMs: 5000, intervalMs: 100); + disconnected.ShouldBeTrue("Server should disconnect idle client after keepalive timeout"); } // ========================================================================= diff --git a/tests/NATS.Server.Tests/Mqtt/MqttBinaryParserTests.cs b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttBinaryParserTests.cs similarity index 99% rename from tests/NATS.Server.Tests/Mqtt/MqttBinaryParserTests.cs rename to tests/NATS.Server.Mqtt.Tests/Mqtt/MqttBinaryParserTests.cs index 32b1973..ed610ef 100644 --- a/tests/NATS.Server.Tests/Mqtt/MqttBinaryParserTests.cs +++ b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttBinaryParserTests.cs @@ -8,7 +8,7 @@ using System.Text; using NATS.Server.Mqtt; -namespace NATS.Server.Tests.Mqtt; +namespace NATS.Server.Mqtt.Tests.Mqtt; public class MqttBinaryParserTests { diff --git a/tests/NATS.Server.Tests/Mqtt/MqttFlapperDetectionTests.cs b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttFlapperDetectionTests.cs similarity index 99% rename from tests/NATS.Server.Tests/Mqtt/MqttFlapperDetectionTests.cs rename to tests/NATS.Server.Mqtt.Tests/Mqtt/MqttFlapperDetectionTests.cs index 4525be7..0a96555 100644 --- a/tests/NATS.Server.Tests/Mqtt/MqttFlapperDetectionTests.cs +++ b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttFlapperDetectionTests.cs @@ -4,7 +4,7 @@ using NATS.Server.Mqtt; using Shouldly; -namespace NATS.Server.Tests.Mqtt; +namespace NATS.Server.Mqtt.Tests.Mqtt; public class MqttFlapperDetectionTests { diff --git a/tests/NATS.Server.Tests/Mqtt/MqttFlowControllerTests.cs b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttFlowControllerTests.cs similarity index 99% rename from tests/NATS.Server.Tests/Mqtt/MqttFlowControllerTests.cs rename to tests/NATS.Server.Mqtt.Tests/Mqtt/MqttFlowControllerTests.cs index 534577b..369eedb 100644 --- a/tests/NATS.Server.Tests/Mqtt/MqttFlowControllerTests.cs +++ b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttFlowControllerTests.cs @@ -3,7 +3,7 @@ using NATS.Server.Mqtt; using Shouldly; -namespace NATS.Server.Tests.Mqtt; +namespace NATS.Server.Mqtt.Tests.Mqtt; public sealed class MqttFlowControllerTests { diff --git a/tests/NATS.Server.Tests/Mqtt/MqttGoParityTests.cs b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttGoParityTests.cs similarity index 99% rename from tests/NATS.Server.Tests/Mqtt/MqttGoParityTests.cs rename to tests/NATS.Server.Mqtt.Tests/Mqtt/MqttGoParityTests.cs index a90cdab..ba4b5d2 100644 --- a/tests/NATS.Server.Tests/Mqtt/MqttGoParityTests.cs +++ b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttGoParityTests.cs @@ -8,7 +8,7 @@ using System.Text; using NATS.Server.Mqtt; -namespace NATS.Server.Tests.Mqtt; +namespace NATS.Server.Mqtt.Tests.Mqtt; /// /// Parity tests ported from Go server/mqtt_test.go exercising MQTT binary diff --git a/tests/NATS.Server.Tests/Mqtt/MqttKeepAliveTests.cs b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttKeepAliveTests.cs similarity index 59% rename from tests/NATS.Server.Tests/Mqtt/MqttKeepAliveTests.cs rename to tests/NATS.Server.Mqtt.Tests/Mqtt/MqttKeepAliveTests.cs index d57954a..81b5805 100644 --- a/tests/NATS.Server.Tests/Mqtt/MqttKeepAliveTests.cs +++ b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttKeepAliveTests.cs @@ -1,8 +1,9 @@ using System.Net; using System.Net.Sockets; using NATS.Server.Mqtt; +using NATS.Server.TestUtilities; -namespace NATS.Server.Tests.Mqtt; +namespace NATS.Server.Mqtt.Tests.Mqtt; public class MqttKeepAliveTests { @@ -20,7 +21,12 @@ public class MqttKeepAliveTests await MqttRuntimeWire.WriteLineAsync(stream, "CONNECT keepalive-client keepalive=1"); (await MqttRuntimeWire.ReadLineAsync(stream, 1000)).ShouldBe("CONNACK"); - await Task.Delay(2000); - (await MqttRuntimeWire.ReadRawAsync(stream, 1000)).ShouldBeNull(); + // Poll until the server closes the connection due to keepalive expiry (keepalive=1s) + var disconnected = await PollHelper.WaitUntilAsync(async () => + { + var result = await MqttRuntimeWire.ReadRawAsync(stream, 200); + return result == null; + }, timeoutMs: 5000, intervalMs: 100); + disconnected.ShouldBeTrue("Server should disconnect idle client after keepalive timeout"); } } diff --git a/tests/NATS.Server.Tests/Mqtt/MqttListenerParityTests.cs b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttListenerParityTests.cs similarity index 98% rename from tests/NATS.Server.Tests/Mqtt/MqttListenerParityTests.cs rename to tests/NATS.Server.Mqtt.Tests/Mqtt/MqttListenerParityTests.cs index 69167e3..2caf700 100644 --- a/tests/NATS.Server.Tests/Mqtt/MqttListenerParityTests.cs +++ b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttListenerParityTests.cs @@ -3,7 +3,7 @@ using System.Net.Sockets; using System.Text; using NATS.Server.Mqtt; -namespace NATS.Server.Tests; +namespace NATS.Server.Mqtt.Tests; public class MqttListenerParityTests { diff --git a/tests/NATS.Server.Tests/Mqtt/MqttModelParityBatch3Tests.cs b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttModelParityBatch3Tests.cs similarity index 98% rename from tests/NATS.Server.Tests/Mqtt/MqttModelParityBatch3Tests.cs rename to tests/NATS.Server.Mqtt.Tests/Mqtt/MqttModelParityBatch3Tests.cs index c1a8762..8ec9095 100644 --- a/tests/NATS.Server.Tests/Mqtt/MqttModelParityBatch3Tests.cs +++ b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttModelParityBatch3Tests.cs @@ -1,6 +1,6 @@ using NATS.Server.Mqtt; -namespace NATS.Server.Tests.Mqtt; +namespace NATS.Server.Mqtt.Tests.Mqtt; public class MqttModelParityBatch3Tests { diff --git a/tests/NATS.Server.Tests/Mqtt/MqttPacketParserTests.cs b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttPacketParserTests.cs similarity index 95% rename from tests/NATS.Server.Tests/Mqtt/MqttPacketParserTests.cs rename to tests/NATS.Server.Mqtt.Tests/Mqtt/MqttPacketParserTests.cs index 3b9c814..dd36b9c 100644 --- a/tests/NATS.Server.Tests/Mqtt/MqttPacketParserTests.cs +++ b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttPacketParserTests.cs @@ -1,6 +1,6 @@ using NATS.Server.Mqtt; -namespace NATS.Server.Tests.Mqtt; +namespace NATS.Server.Mqtt.Tests.Mqtt; public class MqttPacketParserTests { diff --git a/tests/NATS.Server.Tests/Mqtt/MqttPacketParsingParityTests.cs b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttPacketParsingParityTests.cs similarity index 99% rename from tests/NATS.Server.Tests/Mqtt/MqttPacketParsingParityTests.cs rename to tests/NATS.Server.Mqtt.Tests/Mqtt/MqttPacketParsingParityTests.cs index 88c3777..df4fed6 100644 --- a/tests/NATS.Server.Tests/Mqtt/MqttPacketParsingParityTests.cs +++ b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttPacketParsingParityTests.cs @@ -5,7 +5,7 @@ using NATS.Server.Mqtt; -namespace NATS.Server.Tests.Mqtt; +namespace NATS.Server.Mqtt.Tests.Mqtt; public class MqttPacketParsingParityTests { diff --git a/tests/NATS.Server.Tests/Mqtt/MqttPacketWriterTests.cs b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttPacketWriterTests.cs similarity index 94% rename from tests/NATS.Server.Tests/Mqtt/MqttPacketWriterTests.cs rename to tests/NATS.Server.Mqtt.Tests/Mqtt/MqttPacketWriterTests.cs index b5ac4ff..1ae616d 100644 --- a/tests/NATS.Server.Tests/Mqtt/MqttPacketWriterTests.cs +++ b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttPacketWriterTests.cs @@ -1,6 +1,6 @@ using NATS.Server.Mqtt; -namespace NATS.Server.Tests.Mqtt; +namespace NATS.Server.Mqtt.Tests.Mqtt; public class MqttPacketWriterTests { diff --git a/tests/NATS.Server.Tests/Mqtt/MqttProtocolConstantsParityBatch1Tests.cs b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttProtocolConstantsParityBatch1Tests.cs similarity index 98% rename from tests/NATS.Server.Tests/Mqtt/MqttProtocolConstantsParityBatch1Tests.cs rename to tests/NATS.Server.Mqtt.Tests/Mqtt/MqttProtocolConstantsParityBatch1Tests.cs index 2376ffa..ed27a25 100644 --- a/tests/NATS.Server.Tests/Mqtt/MqttProtocolConstantsParityBatch1Tests.cs +++ b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttProtocolConstantsParityBatch1Tests.cs @@ -1,7 +1,7 @@ using System.Text; using NATS.Server.Mqtt; -namespace NATS.Server.Tests.Mqtt; +namespace NATS.Server.Mqtt.Tests.Mqtt; public class MqttProtocolConstantsParityBatch1Tests { diff --git a/tests/NATS.Server.Tests/Mqtt/MqttProtocolConstantsParityBatch2Tests.cs b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttProtocolConstantsParityBatch2Tests.cs similarity index 99% rename from tests/NATS.Server.Tests/Mqtt/MqttProtocolConstantsParityBatch2Tests.cs rename to tests/NATS.Server.Mqtt.Tests/Mqtt/MqttProtocolConstantsParityBatch2Tests.cs index cb109fa..8e94695 100644 --- a/tests/NATS.Server.Tests/Mqtt/MqttProtocolConstantsParityBatch2Tests.cs +++ b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttProtocolConstantsParityBatch2Tests.cs @@ -1,7 +1,7 @@ using System.Text; using NATS.Server.Mqtt; -namespace NATS.Server.Tests.Mqtt; +namespace NATS.Server.Mqtt.Tests.Mqtt; public class MqttProtocolConstantsParityBatch2Tests { diff --git a/tests/NATS.Server.Tests/Mqtt/MqttPublishSubscribeParityTests.cs b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttPublishSubscribeParityTests.cs similarity index 97% rename from tests/NATS.Server.Tests/Mqtt/MqttPublishSubscribeParityTests.cs rename to tests/NATS.Server.Mqtt.Tests/Mqtt/MqttPublishSubscribeParityTests.cs index 64def53..f8832c9 100644 --- a/tests/NATS.Server.Tests/Mqtt/MqttPublishSubscribeParityTests.cs +++ b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttPublishSubscribeParityTests.cs @@ -2,7 +2,7 @@ using System.Net; using System.Net.Sockets; using NATS.Server.Mqtt; -namespace NATS.Server.Tests; +namespace NATS.Server.Mqtt.Tests; public class MqttPublishSubscribeParityTests { diff --git a/tests/NATS.Server.Tests/Mqtt/MqttQoSTrackingTests.cs b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttQoSTrackingTests.cs similarity index 99% rename from tests/NATS.Server.Tests/Mqtt/MqttQoSTrackingTests.cs rename to tests/NATS.Server.Mqtt.Tests/Mqtt/MqttQoSTrackingTests.cs index 0ca8676..a4c6fe8 100644 --- a/tests/NATS.Server.Tests/Mqtt/MqttQoSTrackingTests.cs +++ b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttQoSTrackingTests.cs @@ -4,7 +4,7 @@ using NATS.Server.Mqtt; using Shouldly; -namespace NATS.Server.Tests.Mqtt; +namespace NATS.Server.Mqtt.Tests.Mqtt; public sealed class MqttQoSTrackingTests { diff --git a/tests/NATS.Server.Tests/Mqtt/MqttQosAckRuntimeTests.cs b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttQosAckRuntimeTests.cs similarity index 95% rename from tests/NATS.Server.Tests/Mqtt/MqttQosAckRuntimeTests.cs rename to tests/NATS.Server.Mqtt.Tests/Mqtt/MqttQosAckRuntimeTests.cs index b792dfa..2e09ab9 100644 --- a/tests/NATS.Server.Tests/Mqtt/MqttQosAckRuntimeTests.cs +++ b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttQosAckRuntimeTests.cs @@ -2,7 +2,7 @@ using System.Net; using System.Net.Sockets; using NATS.Server.Mqtt; -namespace NATS.Server.Tests.Mqtt; +namespace NATS.Server.Mqtt.Tests.Mqtt; public class MqttQosAckRuntimeTests { diff --git a/tests/NATS.Server.Tests/Mqtt/MqttQosDeliveryParityTests.cs b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttQosDeliveryParityTests.cs similarity index 99% rename from tests/NATS.Server.Tests/Mqtt/MqttQosDeliveryParityTests.cs rename to tests/NATS.Server.Mqtt.Tests/Mqtt/MqttQosDeliveryParityTests.cs index 1cd1cb0..0aa20c0 100644 --- a/tests/NATS.Server.Tests/Mqtt/MqttQosDeliveryParityTests.cs +++ b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttQosDeliveryParityTests.cs @@ -6,7 +6,7 @@ using System.Net.Sockets; using System.Text; using NATS.Server.Mqtt; -namespace NATS.Server.Tests.Mqtt; +namespace NATS.Server.Mqtt.Tests.Mqtt; public class MqttQosDeliveryParityTests { diff --git a/tests/NATS.Server.Tests/Mqtt/MqttQosTests.cs b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttQosTests.cs similarity index 99% rename from tests/NATS.Server.Tests/Mqtt/MqttQosTests.cs rename to tests/NATS.Server.Mqtt.Tests/Mqtt/MqttQosTests.cs index 9d893bf..486a2cb 100644 --- a/tests/NATS.Server.Tests/Mqtt/MqttQosTests.cs +++ b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttQosTests.cs @@ -6,7 +6,7 @@ using System.Text; using NATS.Server.Mqtt; -namespace NATS.Server.Tests.Mqtt; +namespace NATS.Server.Mqtt.Tests.Mqtt; public class MqttQosTests { diff --git a/tests/NATS.Server.Tests/Mqtt/MqttRetainedDeliveryTests.cs b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttRetainedDeliveryTests.cs similarity index 99% rename from tests/NATS.Server.Tests/Mqtt/MqttRetainedDeliveryTests.cs rename to tests/NATS.Server.Mqtt.Tests/Mqtt/MqttRetainedDeliveryTests.cs index c5df2a4..7b51937 100644 --- a/tests/NATS.Server.Tests/Mqtt/MqttRetainedDeliveryTests.cs +++ b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttRetainedDeliveryTests.cs @@ -6,7 +6,7 @@ using System.Text; using NATS.Server.Mqtt; using Shouldly; -namespace NATS.Server.Tests.Mqtt; +namespace NATS.Server.Mqtt.Tests.Mqtt; public class MqttRetainedDeliveryTests { diff --git a/tests/NATS.Server.Tests/Mqtt/MqttRetainedMessageParityTests.cs b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttRetainedMessageParityTests.cs similarity index 99% rename from tests/NATS.Server.Tests/Mqtt/MqttRetainedMessageParityTests.cs rename to tests/NATS.Server.Mqtt.Tests/Mqtt/MqttRetainedMessageParityTests.cs index a518e16..7cd911b 100644 --- a/tests/NATS.Server.Tests/Mqtt/MqttRetainedMessageParityTests.cs +++ b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttRetainedMessageParityTests.cs @@ -8,7 +8,7 @@ using System.Net.Sockets; using System.Text; using NATS.Server.Mqtt; -namespace NATS.Server.Tests.Mqtt; +namespace NATS.Server.Mqtt.Tests.Mqtt; public class MqttRetainedMessageParityTests { diff --git a/tests/NATS.Server.Tests/Mqtt/MqttSessionParityTests.cs b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttSessionParityTests.cs similarity index 99% rename from tests/NATS.Server.Tests/Mqtt/MqttSessionParityTests.cs rename to tests/NATS.Server.Mqtt.Tests/Mqtt/MqttSessionParityTests.cs index 1e55aaf..6cdf5a1 100644 --- a/tests/NATS.Server.Tests/Mqtt/MqttSessionParityTests.cs +++ b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttSessionParityTests.cs @@ -7,7 +7,7 @@ using System.Net.Sockets; using System.Text; using NATS.Server.Mqtt; -namespace NATS.Server.Tests.Mqtt; +namespace NATS.Server.Mqtt.Tests.Mqtt; public class MqttSessionParityTests { diff --git a/tests/NATS.Server.Tests/Mqtt/MqttSessionPersistenceTests.cs b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttSessionPersistenceTests.cs similarity index 99% rename from tests/NATS.Server.Tests/Mqtt/MqttSessionPersistenceTests.cs rename to tests/NATS.Server.Mqtt.Tests/Mqtt/MqttSessionPersistenceTests.cs index 711d991..fc370f0 100644 --- a/tests/NATS.Server.Tests/Mqtt/MqttSessionPersistenceTests.cs +++ b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttSessionPersistenceTests.cs @@ -5,7 +5,7 @@ using NATS.Server.Mqtt; -namespace NATS.Server.Tests.Mqtt; +namespace NATS.Server.Mqtt.Tests.Mqtt; public class MqttSessionPersistenceTests { diff --git a/tests/NATS.Server.Tests/Mqtt/MqttSessionRuntimeTests.cs b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttSessionRuntimeTests.cs similarity index 98% rename from tests/NATS.Server.Tests/Mqtt/MqttSessionRuntimeTests.cs rename to tests/NATS.Server.Mqtt.Tests/Mqtt/MqttSessionRuntimeTests.cs index d3ecbcb..a14cc51 100644 --- a/tests/NATS.Server.Tests/Mqtt/MqttSessionRuntimeTests.cs +++ b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttSessionRuntimeTests.cs @@ -3,7 +3,7 @@ using System.Net.Sockets; using System.Text; using NATS.Server.Mqtt; -namespace NATS.Server.Tests.Mqtt; +namespace NATS.Server.Mqtt.Tests.Mqtt; public class MqttSessionRuntimeTests { diff --git a/tests/NATS.Server.Tests/Mqtt/MqttTopicMappingParityTests.cs b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttTopicMappingParityTests.cs similarity index 99% rename from tests/NATS.Server.Tests/Mqtt/MqttTopicMappingParityTests.cs rename to tests/NATS.Server.Mqtt.Tests/Mqtt/MqttTopicMappingParityTests.cs index b09e8b9..9b39d33 100644 --- a/tests/NATS.Server.Tests/Mqtt/MqttTopicMappingParityTests.cs +++ b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttTopicMappingParityTests.cs @@ -4,7 +4,7 @@ // golang/nats-server/server/mqtt.go — mqttTopicToNATSPubSubject, mqttFilterToNATSSubject, // natsSubjectToMQTTTopic, mqttToNATSSubjectConversion -namespace NATS.Server.Tests.Mqtt; +namespace NATS.Server.Mqtt.Tests.Mqtt; /// /// Tests MQTT topic to NATS subject conversion and vice versa, porting the diff --git a/tests/NATS.Server.Tests/Mqtt/MqttWillMessageParityTests.cs b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttWillMessageParityTests.cs similarity index 99% rename from tests/NATS.Server.Tests/Mqtt/MqttWillMessageParityTests.cs rename to tests/NATS.Server.Mqtt.Tests/Mqtt/MqttWillMessageParityTests.cs index 22b5df4..90a970f 100644 --- a/tests/NATS.Server.Tests/Mqtt/MqttWillMessageParityTests.cs +++ b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttWillMessageParityTests.cs @@ -7,7 +7,7 @@ using System.Net.Sockets; using System.Text; using NATS.Server.Mqtt; -namespace NATS.Server.Tests.Mqtt; +namespace NATS.Server.Mqtt.Tests.Mqtt; public class MqttWillMessageParityTests { diff --git a/tests/NATS.Server.Tests/Mqtt/MqttWillMessageTests.cs b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttWillMessageTests.cs similarity index 99% rename from tests/NATS.Server.Tests/Mqtt/MqttWillMessageTests.cs rename to tests/NATS.Server.Mqtt.Tests/Mqtt/MqttWillMessageTests.cs index 56ef0ba..9de1340 100644 --- a/tests/NATS.Server.Tests/Mqtt/MqttWillMessageTests.cs +++ b/tests/NATS.Server.Mqtt.Tests/Mqtt/MqttWillMessageTests.cs @@ -5,7 +5,7 @@ using NATS.Server.Mqtt; using Shouldly; -namespace NATS.Server.Tests.Mqtt; +namespace NATS.Server.Mqtt.Tests.Mqtt; public class MqttWillMessageTests { diff --git a/tests/NATS.Server.Tests/MqttPersistenceTests.cs b/tests/NATS.Server.Mqtt.Tests/MqttPersistenceTests.cs similarity index 98% rename from tests/NATS.Server.Tests/MqttPersistenceTests.cs rename to tests/NATS.Server.Mqtt.Tests/MqttPersistenceTests.cs index 477c5a7..e78ad54 100644 --- a/tests/NATS.Server.Tests/MqttPersistenceTests.cs +++ b/tests/NATS.Server.Mqtt.Tests/MqttPersistenceTests.cs @@ -2,7 +2,7 @@ using NSubstitute; using NATS.Server.JetStream.Storage; using NATS.Server.Mqtt; -namespace NATS.Server.Tests; +namespace NATS.Server.Mqtt.Tests; // Go reference: server/mqtt.go ($MQTT_msgs, $MQTT_sess, $MQTT_rmsgs JetStream streams) diff --git a/tests/NATS.Server.Mqtt.Tests/NATS.Server.Mqtt.Tests.csproj b/tests/NATS.Server.Mqtt.Tests/NATS.Server.Mqtt.Tests.csproj new file mode 100644 index 0000000..81a4151 --- /dev/null +++ b/tests/NATS.Server.Mqtt.Tests/NATS.Server.Mqtt.Tests.csproj @@ -0,0 +1,25 @@ + + + false + + + + + + + + + + + + + + + + + + + + + +