mirror of
https://github.com/dotnet/MQTTnet.git
synced 2026-10-21 04:03:05 +08:00
[MQTTnet, MQTTnet.Extensions.ManagedClient] Fixed bug that allowed invalid subscriptions (Thanks to @marcelwinh). (#1226)
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
using MQTTnet.Exceptions;
|
||||
using MQTTnet.Protocol;
|
||||
|
||||
namespace MQTTnet.Tests
|
||||
{
|
||||
[TestClass]
|
||||
public class MqttTopicValidatorSubscribe_Tests
|
||||
{
|
||||
[TestMethod]
|
||||
public void Valid_Topic()
|
||||
{
|
||||
MqttTopicValidator.ThrowIfInvalidSubscribe("/a/b/c");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void Valid_Topic_Plus_In_Between()
|
||||
{
|
||||
MqttTopicValidator.ThrowIfInvalidSubscribe("/a/+/c");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void Valid_Topic_Plus_Last_Char()
|
||||
{
|
||||
MqttTopicValidator.ThrowIfInvalidSubscribe("/a/+");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void Valid_Topic_Hash_Last_Char()
|
||||
{
|
||||
MqttTopicValidator.ThrowIfInvalidSubscribe("/a/#");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void Valid_Topic_Only_Hash()
|
||||
{
|
||||
MqttTopicValidator.ThrowIfInvalidSubscribe("#");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[ExpectedException(typeof(MqttProtocolViolationException))]
|
||||
public void Invalid_Topic_Hash_In_Between()
|
||||
{
|
||||
MqttTopicValidator.ThrowIfInvalidSubscribe("/a/#/c");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[ExpectedException(typeof(MqttProtocolViolationException))]
|
||||
public void Invalid_Topic_Empty()
|
||||
{
|
||||
MqttTopicValidator.ThrowIfInvalidSubscribe(string.Empty);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user