Skip to content

Commit fb9fe50

Browse files
committed
Fixed some tests after recent GlobalRequestMessage changes.
1 parent 546caed commit fb9fe50

5 files changed

+62
-48
lines changed

src/Renci.SshNet.Tests/Classes/SessionTest_Connected.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ public class SessionTest_Connected : SessionTest_ConnectedBase
1010
{
1111
private IgnoreMessage _ignoreMessage;
1212

13-
protected override void Arrange()
13+
protected override void SetupData()
1414
{
15-
base.Arrange();
15+
base.SetupData();
1616

1717
var data = new byte[10];
1818
Random.NextBytes(data);

src/Renci.SshNet.Tests/Classes/SessionTest_ConnectedBase.cs

Lines changed: 51 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public void TearDown()
5858
}
5959
}
6060

61-
protected virtual void Arrange()
61+
protected virtual void SetupData()
6262
{
6363
Random = new Random();
6464

@@ -67,8 +67,8 @@ protected virtual void Arrange()
6767
_serverEndPoint.Address.ToString(),
6868
_serverEndPoint.Port,
6969
"user",
70-
new PasswordAuthenticationMethod("user", "password"));
71-
ConnectionInfo.Timeout = TimeSpan.FromSeconds(20);
70+
new PasswordAuthenticationMethod("user", "password"))
71+
{Timeout = TimeSpan.FromSeconds(20)};
7272
_keyExchangeAlgorithm = Random.Next().ToString(CultureInfo.InvariantCulture);
7373
SessionId = new byte[10];
7474
Random.NextBytes(SessionId);
@@ -77,10 +77,6 @@ protected virtual void Arrange()
7777
ErrorOccurredRegister = new List<ExceptionEventArgs>();
7878
ServerBytesReceivedRegister = new List<byte[]>();
7979

80-
_serviceFactoryMock = new Mock<IServiceFactory>(MockBehavior.Strict);
81-
_keyExchangeMock = new Mock<IKeyExchange>(MockBehavior.Strict);
82-
_clientAuthenticationMock = new Mock<IClientAuthentication>(MockBehavior.Strict);
83-
8480
Session = new Session(ConnectionInfo, _serviceFactoryMock.Object);
8581
Session.Disconnected += (sender, args) => DisconnectedRegister.Add(args);
8682
Session.DisconnectReceived += (sender, args) => DisconnectReceivedRegister.Add(args);
@@ -92,22 +88,6 @@ protected virtual void Arrange()
9288
ServerSocket.Send(newKeys, 4, newKeys.Length - 4, SocketFlags.None);
9389
};
9490

95-
_serviceFactoryMock.Setup(
96-
p =>
97-
p.CreateKeyExchange(ConnectionInfo.KeyExchangeAlgorithms, new[] {_keyExchangeAlgorithm})).Returns(_keyExchangeMock.Object);
98-
_keyExchangeMock.Setup(p => p.Name).Returns(_keyExchangeAlgorithm);
99-
_keyExchangeMock.Setup(p => p.Start(Session, It.IsAny<KeyExchangeInitMessage>()));
100-
_keyExchangeMock.Setup(p => p.ExchangeHash).Returns(SessionId);
101-
_keyExchangeMock.Setup(p => p.CreateServerCipher()).Returns((Cipher) null);
102-
_keyExchangeMock.Setup(p => p.CreateClientCipher()).Returns((Cipher) null);
103-
_keyExchangeMock.Setup(p => p.CreateServerHash()).Returns((HashAlgorithm) null);
104-
_keyExchangeMock.Setup(p => p.CreateClientHash()).Returns((HashAlgorithm) null);
105-
_keyExchangeMock.Setup(p => p.CreateCompressor()).Returns((Compressor) null);
106-
_keyExchangeMock.Setup(p => p.CreateDecompressor()).Returns((Compressor) null);
107-
_keyExchangeMock.Setup(p => p.Dispose());
108-
_serviceFactoryMock.Setup(p => p.CreateClientAuthentication()).Callback(ClientAuthentication_Callback).Returns(_clientAuthenticationMock.Object);
109-
_clientAuthenticationMock.Setup(p => p.Authenticate(ConnectionInfo, Session));
110-
11191
ServerListener = new AsyncSocketListener(_serverEndPoint);
11292
ServerListener.Connected += socket =>
11393
{
@@ -128,18 +108,18 @@ protected virtual void Arrange()
128108
{
129109
case 0:
130110
var keyExchangeInitMessage = new KeyExchangeInitMessage
131-
{
132-
CompressionAlgorithmsClientToServer = new string[0],
133-
CompressionAlgorithmsServerToClient = new string[0],
134-
EncryptionAlgorithmsClientToServer = new string[0],
135-
EncryptionAlgorithmsServerToClient = new string[0],
136-
KeyExchangeAlgorithms = new[] {_keyExchangeAlgorithm},
137-
LanguagesClientToServer = new string[0],
138-
LanguagesServerToClient = new string[0],
139-
MacAlgorithmsClientToServer = new string[0],
140-
MacAlgorithmsServerToClient = new string[0],
141-
ServerHostKeyAlgorithms = new string[0]
142-
};
111+
{
112+
CompressionAlgorithmsClientToServer = new string[0],
113+
CompressionAlgorithmsServerToClient = new string[0],
114+
EncryptionAlgorithmsClientToServer = new string[0],
115+
EncryptionAlgorithmsServerToClient = new string[0],
116+
KeyExchangeAlgorithms = new[] {_keyExchangeAlgorithm},
117+
LanguagesClientToServer = new string[0],
118+
LanguagesServerToClient = new string[0],
119+
MacAlgorithmsClientToServer = new string[0],
120+
MacAlgorithmsServerToClient = new string[0],
121+
ServerHostKeyAlgorithms = new string[0]
122+
};
143123
var keyExchangeInit = keyExchangeInitMessage.GetPacket(8, null);
144124
ServerSocket.Send(keyExchangeInit, 4, keyExchangeInit.Length - 4, SocketFlags.None);
145125
break;
@@ -151,8 +131,43 @@ protected virtual void Arrange()
151131
break;
152132
}
153133
};
154-
ServerListener.Start();
134+
}
155135

136+
private void CreateMocks()
137+
{
138+
_serviceFactoryMock = new Mock<IServiceFactory>(MockBehavior.Strict);
139+
_keyExchangeMock = new Mock<IKeyExchange>(MockBehavior.Strict);
140+
_clientAuthenticationMock = new Mock<IClientAuthentication>(MockBehavior.Strict);
141+
}
142+
143+
private void SetupMocks()
144+
{
145+
_serviceFactoryMock.Setup(
146+
p =>
147+
p.CreateKeyExchange(ConnectionInfo.KeyExchangeAlgorithms, new[] { _keyExchangeAlgorithm })).Returns(_keyExchangeMock.Object);
148+
_keyExchangeMock.Setup(p => p.Name).Returns(_keyExchangeAlgorithm);
149+
_keyExchangeMock.Setup(p => p.Start(Session, It.IsAny<KeyExchangeInitMessage>()));
150+
_keyExchangeMock.Setup(p => p.ExchangeHash).Returns(SessionId);
151+
_keyExchangeMock.Setup(p => p.CreateServerCipher()).Returns((Cipher) null);
152+
_keyExchangeMock.Setup(p => p.CreateClientCipher()).Returns((Cipher) null);
153+
_keyExchangeMock.Setup(p => p.CreateServerHash()).Returns((HashAlgorithm) null);
154+
_keyExchangeMock.Setup(p => p.CreateClientHash()).Returns((HashAlgorithm) null);
155+
_keyExchangeMock.Setup(p => p.CreateCompressor()).Returns((Compressor) null);
156+
_keyExchangeMock.Setup(p => p.CreateDecompressor()).Returns((Compressor) null);
157+
_keyExchangeMock.Setup(p => p.Dispose());
158+
_serviceFactoryMock.Setup(p => p.CreateClientAuthentication())
159+
.Callback(ClientAuthentication_Callback)
160+
.Returns(_clientAuthenticationMock.Object);
161+
_clientAuthenticationMock.Setup(p => p.Authenticate(ConnectionInfo, Session));
162+
}
163+
164+
protected virtual void Arrange()
165+
{
166+
CreateMocks();
167+
SetupData();
168+
SetupMocks();
169+
170+
ServerListener.Start();
156171
Session.Connect();
157172
}
158173

src/Renci.SshNet.Tests/Classes/SessionTest_Connected_GlobalRequestMessageAfterAuthenticationRace.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ public class SessionTest_Connected_GlobalRequestMessageAfterAuthenticationRace :
1313
{
1414
private GlobalRequestMessage _globalRequestMessage;
1515

16-
protected override void Arrange()
16+
protected override void SetupData()
1717
{
18-
base.Arrange();
18+
base.SetupData();
1919

2020
_globalRequestMessage = new GlobalRequestMessage(Encoding.ASCII.GetBytes("ping-mocana-com"), false);
2121
}
@@ -26,7 +26,6 @@ protected override void Act()
2626

2727
protected override void ClientAuthentication_Callback()
2828
{
29-
3029
var globalRequest = _globalRequestMessage.GetPacket(8, null);
3130
ServerSocket.Send(globalRequest, 4, globalRequest.Length - 4, SocketFlags.None);
3231
}

src/Renci.SshNet.Tests/Classes/SessionTest_Connected_ServerSendsDisconnectMessage.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@ public class SessionTest_Connected_ServerSendsDisconnectMessage : SessionTest_Co
1313
{
1414
private DisconnectMessage _disconnectMessage;
1515

16-
protected override void Arrange()
16+
protected override void SetupData()
1717
{
18-
_disconnectMessage = new DisconnectMessage(DisconnectReason.ServiceNotAvailable, "Not today!");
18+
base.SetupData();
1919

20-
base.Arrange();
20+
_disconnectMessage = new DisconnectMessage(DisconnectReason.ServiceNotAvailable, "Not today!");
2121
}
2222

2323
protected override void Act()

src/Renci.SshNet.Tests/Classes/SessionTest_Connected_ServerSendsDisconnectMessageAndShutsDownSocket.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@ public class SessionTest_Connected_ServerSendsDisconnectMessageAndShutsDownSocke
1313
{
1414
private DisconnectMessage _disconnectMessage;
1515

16-
protected override void Arrange()
16+
protected override void SetupData()
1717
{
18-
_disconnectMessage = new DisconnectMessage(DisconnectReason.ServiceNotAvailable, "Not today!");
18+
base.SetupData();
1919

20-
base.Arrange();
20+
_disconnectMessage = new DisconnectMessage(DisconnectReason.ServiceNotAvailable, "Not today!");
2121
}
2222

2323
protected override void Act()
@@ -116,7 +116,7 @@ public void SendMessageShouldThrowSshConnectionException()
116116
[TestMethod]
117117
public void ISession_MessageListenerCompletedShouldBeSignaled()
118118
{
119-
var session = (ISession)Session;
119+
var session = (ISession) Session;
120120

121121
Assert.IsNotNull(session.MessageListenerCompleted);
122122
Assert.IsTrue(session.MessageListenerCompleted.WaitOne());

0 commit comments

Comments
 (0)