DirectConnectorTest_Connect_HostNameInvalid.cs 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. using System.Net.Sockets;
  2. using Microsoft.VisualStudio.TestTools.UnitTesting;
  3. namespace Renci.SshNet.Tests.Classes.Connection
  4. {
  5. [TestClass]
  6. public class DirectConnectorTest_Connect_HostNameInvalid : DirectConnectorTestBase
  7. {
  8. private ConnectionInfo _connectionInfo;
  9. private Socket _clientSocket;
  10. private SocketException _actualException;
  11. protected override void SetupData()
  12. {
  13. base.SetupData();
  14. _connectionInfo = CreateConnectionInfo("invalid.");
  15. _actualException = null;
  16. _clientSocket = SocketFactory.Create(SocketType.Stream, ProtocolType.Tcp);
  17. }
  18. protected override void Act()
  19. {
  20. try
  21. {
  22. _ = Connector.Connect(_connectionInfo);
  23. Assert.Fail();
  24. }
  25. catch (SocketException ex)
  26. {
  27. _actualException = ex;
  28. }
  29. }
  30. protected override void SetupMocks()
  31. {
  32. _ = SocketFactoryMock.Setup(p => p.Create(SocketType.Stream, ProtocolType.Tcp))
  33. .Returns(_clientSocket);
  34. }
  35. [TestMethod]
  36. public void ConnectShouldHaveThrownSocketException()
  37. {
  38. Assert.IsNotNull(_actualException);
  39. Assert.IsNull(_actualException.InnerException);
  40. Assert.IsTrue(_actualException.SocketErrorCode is SocketError.HostNotFound or SocketError.TryAgain);
  41. }
  42. }
  43. }