mirror of
https://github.com/sshnet/SSH.NET.git
synced 2026-09-10 17:25:51 +00:00
Fixed some tests after recent GlobalRequestMessage changes.
This commit is contained in:
@@ -10,9 +10,9 @@ namespace Renci.SshNet.Tests.Classes
|
||||
{
|
||||
private IgnoreMessage _ignoreMessage;
|
||||
|
||||
protected override void Arrange()
|
||||
protected override void SetupData()
|
||||
{
|
||||
base.Arrange();
|
||||
base.SetupData();
|
||||
|
||||
var data = new byte[10];
|
||||
Random.NextBytes(data);
|
||||
|
||||
@@ -58,7 +58,7 @@ namespace Renci.SshNet.Tests.Classes
|
||||
}
|
||||
}
|
||||
|
||||
protected virtual void Arrange()
|
||||
protected virtual void SetupData()
|
||||
{
|
||||
Random = new Random();
|
||||
|
||||
@@ -67,8 +67,8 @@ namespace Renci.SshNet.Tests.Classes
|
||||
_serverEndPoint.Address.ToString(),
|
||||
_serverEndPoint.Port,
|
||||
"user",
|
||||
new PasswordAuthenticationMethod("user", "password"));
|
||||
ConnectionInfo.Timeout = TimeSpan.FromSeconds(20);
|
||||
new PasswordAuthenticationMethod("user", "password"))
|
||||
{Timeout = TimeSpan.FromSeconds(20)};
|
||||
_keyExchangeAlgorithm = Random.Next().ToString(CultureInfo.InvariantCulture);
|
||||
SessionId = new byte[10];
|
||||
Random.NextBytes(SessionId);
|
||||
@@ -77,10 +77,6 @@ namespace Renci.SshNet.Tests.Classes
|
||||
ErrorOccurredRegister = new List<ExceptionEventArgs>();
|
||||
ServerBytesReceivedRegister = new List<byte[]>();
|
||||
|
||||
_serviceFactoryMock = new Mock<IServiceFactory>(MockBehavior.Strict);
|
||||
_keyExchangeMock = new Mock<IKeyExchange>(MockBehavior.Strict);
|
||||
_clientAuthenticationMock = new Mock<IClientAuthentication>(MockBehavior.Strict);
|
||||
|
||||
Session = new Session(ConnectionInfo, _serviceFactoryMock.Object);
|
||||
Session.Disconnected += (sender, args) => DisconnectedRegister.Add(args);
|
||||
Session.DisconnectReceived += (sender, args) => DisconnectReceivedRegister.Add(args);
|
||||
@@ -92,22 +88,6 @@ namespace Renci.SshNet.Tests.Classes
|
||||
ServerSocket.Send(newKeys, 4, newKeys.Length - 4, SocketFlags.None);
|
||||
};
|
||||
|
||||
_serviceFactoryMock.Setup(
|
||||
p =>
|
||||
p.CreateKeyExchange(ConnectionInfo.KeyExchangeAlgorithms, new[] {_keyExchangeAlgorithm})).Returns(_keyExchangeMock.Object);
|
||||
_keyExchangeMock.Setup(p => p.Name).Returns(_keyExchangeAlgorithm);
|
||||
_keyExchangeMock.Setup(p => p.Start(Session, It.IsAny<KeyExchangeInitMessage>()));
|
||||
_keyExchangeMock.Setup(p => p.ExchangeHash).Returns(SessionId);
|
||||
_keyExchangeMock.Setup(p => p.CreateServerCipher()).Returns((Cipher) null);
|
||||
_keyExchangeMock.Setup(p => p.CreateClientCipher()).Returns((Cipher) null);
|
||||
_keyExchangeMock.Setup(p => p.CreateServerHash()).Returns((HashAlgorithm) null);
|
||||
_keyExchangeMock.Setup(p => p.CreateClientHash()).Returns((HashAlgorithm) null);
|
||||
_keyExchangeMock.Setup(p => p.CreateCompressor()).Returns((Compressor) null);
|
||||
_keyExchangeMock.Setup(p => p.CreateDecompressor()).Returns((Compressor) null);
|
||||
_keyExchangeMock.Setup(p => p.Dispose());
|
||||
_serviceFactoryMock.Setup(p => p.CreateClientAuthentication()).Callback(ClientAuthentication_Callback).Returns(_clientAuthenticationMock.Object);
|
||||
_clientAuthenticationMock.Setup(p => p.Authenticate(ConnectionInfo, Session));
|
||||
|
||||
ServerListener = new AsyncSocketListener(_serverEndPoint);
|
||||
ServerListener.Connected += socket =>
|
||||
{
|
||||
@@ -128,18 +108,18 @@ namespace Renci.SshNet.Tests.Classes
|
||||
{
|
||||
case 0:
|
||||
var keyExchangeInitMessage = new KeyExchangeInitMessage
|
||||
{
|
||||
CompressionAlgorithmsClientToServer = new string[0],
|
||||
CompressionAlgorithmsServerToClient = new string[0],
|
||||
EncryptionAlgorithmsClientToServer = new string[0],
|
||||
EncryptionAlgorithmsServerToClient = new string[0],
|
||||
KeyExchangeAlgorithms = new[] {_keyExchangeAlgorithm},
|
||||
LanguagesClientToServer = new string[0],
|
||||
LanguagesServerToClient = new string[0],
|
||||
MacAlgorithmsClientToServer = new string[0],
|
||||
MacAlgorithmsServerToClient = new string[0],
|
||||
ServerHostKeyAlgorithms = new string[0]
|
||||
};
|
||||
{
|
||||
CompressionAlgorithmsClientToServer = new string[0],
|
||||
CompressionAlgorithmsServerToClient = new string[0],
|
||||
EncryptionAlgorithmsClientToServer = new string[0],
|
||||
EncryptionAlgorithmsServerToClient = new string[0],
|
||||
KeyExchangeAlgorithms = new[] {_keyExchangeAlgorithm},
|
||||
LanguagesClientToServer = new string[0],
|
||||
LanguagesServerToClient = new string[0],
|
||||
MacAlgorithmsClientToServer = new string[0],
|
||||
MacAlgorithmsServerToClient = new string[0],
|
||||
ServerHostKeyAlgorithms = new string[0]
|
||||
};
|
||||
var keyExchangeInit = keyExchangeInitMessage.GetPacket(8, null);
|
||||
ServerSocket.Send(keyExchangeInit, 4, keyExchangeInit.Length - 4, SocketFlags.None);
|
||||
break;
|
||||
@@ -151,8 +131,43 @@ namespace Renci.SshNet.Tests.Classes
|
||||
break;
|
||||
}
|
||||
};
|
||||
ServerListener.Start();
|
||||
}
|
||||
|
||||
private void CreateMocks()
|
||||
{
|
||||
_serviceFactoryMock = new Mock<IServiceFactory>(MockBehavior.Strict);
|
||||
_keyExchangeMock = new Mock<IKeyExchange>(MockBehavior.Strict);
|
||||
_clientAuthenticationMock = new Mock<IClientAuthentication>(MockBehavior.Strict);
|
||||
}
|
||||
|
||||
private void SetupMocks()
|
||||
{
|
||||
_serviceFactoryMock.Setup(
|
||||
p =>
|
||||
p.CreateKeyExchange(ConnectionInfo.KeyExchangeAlgorithms, new[] { _keyExchangeAlgorithm })).Returns(_keyExchangeMock.Object);
|
||||
_keyExchangeMock.Setup(p => p.Name).Returns(_keyExchangeAlgorithm);
|
||||
_keyExchangeMock.Setup(p => p.Start(Session, It.IsAny<KeyExchangeInitMessage>()));
|
||||
_keyExchangeMock.Setup(p => p.ExchangeHash).Returns(SessionId);
|
||||
_keyExchangeMock.Setup(p => p.CreateServerCipher()).Returns((Cipher) null);
|
||||
_keyExchangeMock.Setup(p => p.CreateClientCipher()).Returns((Cipher) null);
|
||||
_keyExchangeMock.Setup(p => p.CreateServerHash()).Returns((HashAlgorithm) null);
|
||||
_keyExchangeMock.Setup(p => p.CreateClientHash()).Returns((HashAlgorithm) null);
|
||||
_keyExchangeMock.Setup(p => p.CreateCompressor()).Returns((Compressor) null);
|
||||
_keyExchangeMock.Setup(p => p.CreateDecompressor()).Returns((Compressor) null);
|
||||
_keyExchangeMock.Setup(p => p.Dispose());
|
||||
_serviceFactoryMock.Setup(p => p.CreateClientAuthentication())
|
||||
.Callback(ClientAuthentication_Callback)
|
||||
.Returns(_clientAuthenticationMock.Object);
|
||||
_clientAuthenticationMock.Setup(p => p.Authenticate(ConnectionInfo, Session));
|
||||
}
|
||||
|
||||
protected virtual void Arrange()
|
||||
{
|
||||
CreateMocks();
|
||||
SetupData();
|
||||
SetupMocks();
|
||||
|
||||
ServerListener.Start();
|
||||
Session.Connect();
|
||||
}
|
||||
|
||||
|
||||
+2
-3
@@ -13,9 +13,9 @@ namespace Renci.SshNet.Tests.Classes
|
||||
{
|
||||
private GlobalRequestMessage _globalRequestMessage;
|
||||
|
||||
protected override void Arrange()
|
||||
protected override void SetupData()
|
||||
{
|
||||
base.Arrange();
|
||||
base.SetupData();
|
||||
|
||||
_globalRequestMessage = new GlobalRequestMessage(Encoding.ASCII.GetBytes("ping-mocana-com"), false);
|
||||
}
|
||||
@@ -26,7 +26,6 @@ namespace Renci.SshNet.Tests.Classes
|
||||
|
||||
protected override void ClientAuthentication_Callback()
|
||||
{
|
||||
|
||||
var globalRequest = _globalRequestMessage.GetPacket(8, null);
|
||||
ServerSocket.Send(globalRequest, 4, globalRequest.Length - 4, SocketFlags.None);
|
||||
}
|
||||
|
||||
+3
-3
@@ -13,11 +13,11 @@ namespace Renci.SshNet.Tests.Classes
|
||||
{
|
||||
private DisconnectMessage _disconnectMessage;
|
||||
|
||||
protected override void Arrange()
|
||||
protected override void SetupData()
|
||||
{
|
||||
_disconnectMessage = new DisconnectMessage(DisconnectReason.ServiceNotAvailable, "Not today!");
|
||||
base.SetupData();
|
||||
|
||||
base.Arrange();
|
||||
_disconnectMessage = new DisconnectMessage(DisconnectReason.ServiceNotAvailable, "Not today!");
|
||||
}
|
||||
|
||||
protected override void Act()
|
||||
|
||||
+4
-4
@@ -13,11 +13,11 @@ namespace Renci.SshNet.Tests.Classes
|
||||
{
|
||||
private DisconnectMessage _disconnectMessage;
|
||||
|
||||
protected override void Arrange()
|
||||
protected override void SetupData()
|
||||
{
|
||||
_disconnectMessage = new DisconnectMessage(DisconnectReason.ServiceNotAvailable, "Not today!");
|
||||
base.SetupData();
|
||||
|
||||
base.Arrange();
|
||||
_disconnectMessage = new DisconnectMessage(DisconnectReason.ServiceNotAvailable, "Not today!");
|
||||
}
|
||||
|
||||
protected override void Act()
|
||||
@@ -116,7 +116,7 @@ namespace Renci.SshNet.Tests.Classes
|
||||
[TestMethod]
|
||||
public void ISession_MessageListenerCompletedShouldBeSignaled()
|
||||
{
|
||||
var session = (ISession)Session;
|
||||
var session = (ISession) Session;
|
||||
|
||||
Assert.IsNotNull(session.MessageListenerCompleted);
|
||||
Assert.IsTrue(session.MessageListenerCompleted.WaitOne());
|
||||
|
||||
Reference in New Issue
Block a user