HttpConnectorTest_Connect_ProxyHostInvalid.cs 2.0 KB

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