diff --git a/SMBLibrary.Tests/IntegrationTests/LoginTests.cs b/SMBLibrary.Tests/IntegrationTests/LoginTests.cs index 5a0a6f4..e05bc32 100644 --- a/SMBLibrary.Tests/IntegrationTests/LoginTests.cs +++ b/SMBLibrary.Tests/IntegrationTests/LoginTests.cs @@ -45,6 +45,26 @@ namespace SMBLibrary.Tests.IntegrationTests Assert.AreEqual(NTStatus.STATUS_SUCCESS, status); } + [TestMethod] + public void When_ClientDisconnectAndReconnect_LoginSucceed() + { + // Arrange + SMB2Client client = new SMB2Client(); + client.Connect(IPAddress.Loopback, SMBTransportType.DirectTCPTransport, m_serverPort, 5000); + + // Act + NTStatus status = client.Login("", "John", "password"); + Assert.AreEqual(NTStatus.STATUS_SUCCESS, status); + status = client.Logoff(); + Assert.AreEqual(NTStatus.STATUS_SUCCESS, status); + client.Disconnect(); + client.Connect(IPAddress.Loopback, SMBTransportType.DirectTCPTransport, m_serverPort, 5000); + status = client.Login("", "John", "password"); + + // Assert + Assert.AreEqual(NTStatus.STATUS_SUCCESS, status); + } + [TestMethod] public void When_InvalidCredentialsProvided_LoginFails() {