mirror of
https://github.com/dotnet/MQTTnet.git
synced 2026-10-25 07:41:32 +08:00
test ResultCode for invalid credentials (no userName but password) (#1270)
fix order of parameters in exceptions AreEqual(expected, actual)
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||||
using MQTTnet.Adapter;
|
using MQTTnet.Adapter;
|
||||||
using MQTTnet.Client;
|
using MQTTnet.Client;
|
||||||
@@ -34,28 +34,29 @@ namespace MQTTnet.Tests.Server
|
|||||||
var ex = await Assert.ThrowsExceptionAsync<MqttConnectingFailedException>(async () => await client.ConnectAsync(clientOptions));
|
var ex = await Assert.ThrowsExceptionAsync<MqttConnectingFailedException>(async () => await client.ConnectAsync(clientOptions));
|
||||||
Assert.IsInstanceOfType(ex.InnerException, typeof(MqttProtocolViolationException));
|
Assert.IsInstanceOfType(ex.InnerException, typeof(MqttProtocolViolationException));
|
||||||
Assert.AreEqual("Error while authenticating. If the User Name Flag is set to 0, the Password Flag MUST be set to 0 [MQTT-3.1.2-22].", ex.Message, false);
|
Assert.AreEqual("Error while authenticating. If the User Name Flag is set to 0, the Password Flag MUST be set to 0 [MQTT-3.1.2-22].", ex.Message, false);
|
||||||
|
Assert.AreEqual(MqttClientConnectResultCode.UnspecifiedError, ex.ResultCode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public Task Handle_Wrong_UserName()
|
public Task Handle_Wrong_UserName()
|
||||||
{
|
{
|
||||||
return TestCredentials("x", "Password1");
|
return TestCredentials("x", "Password1");
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public Task Handle_Wrong_Password()
|
public Task Handle_Wrong_Password()
|
||||||
{
|
{
|
||||||
return TestCredentials("UserName", "x");
|
return TestCredentials("UserName", "x");
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public Task Handle_Wrong_UserName_And_Password()
|
public Task Handle_Wrong_UserName_And_Password()
|
||||||
{
|
{
|
||||||
return TestCredentials("x", "x");
|
return TestCredentials("x", "x");
|
||||||
}
|
}
|
||||||
|
|
||||||
async Task TestCredentials(string userName, string password)
|
private async Task TestCredentials(string userName, string password)
|
||||||
{
|
{
|
||||||
using (var testEnvironment = CreateTestEnvironment())
|
using (var testEnvironment = CreateTestEnvironment())
|
||||||
{
|
{
|
||||||
@@ -68,7 +69,7 @@ namespace MQTTnet.Tests.Server
|
|||||||
{
|
{
|
||||||
c.ReasonCode = MqttConnectReasonCode.BadUserNameOrPassword;
|
c.ReasonCode = MqttConnectReasonCode.BadUserNameOrPassword;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (c.Password != "Password1")
|
if (c.Password != "Password1")
|
||||||
{
|
{
|
||||||
c.ReasonCode = MqttConnectReasonCode.BadUserNameOrPassword;
|
c.ReasonCode = MqttConnectReasonCode.BadUserNameOrPassword;
|
||||||
@@ -83,7 +84,7 @@ namespace MQTTnet.Tests.Server
|
|||||||
.Build();
|
.Build();
|
||||||
|
|
||||||
var ex = await Assert.ThrowsExceptionAsync<MqttConnectingFailedException>(async () => await client.ConnectAsync(clientOptions));
|
var ex = await Assert.ThrowsExceptionAsync<MqttConnectingFailedException>(async () => await client.ConnectAsync(clientOptions));
|
||||||
Assert.AreEqual(ex.Result.ResultCode, MqttClientConnectResultCode.BadUserNameOrPassword);
|
Assert.AreEqual(MqttClientConnectResultCode.BadUserNameOrPassword, ex.Result.ResultCode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user