Socks4ConnectorTestBase.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using System.Net;
  2. using Moq;
  3. using Renci.SshNet.Connection;
  4. using Renci.SshNet.Tests.Common;
  5. namespace Renci.SshNet.Tests.Classes.Connection
  6. {
  7. public abstract class Socks4ConnectorTestBase : TripleATestBase
  8. {
  9. internal Mock<ISocketFactory> SocketFactoryMock { get; private set; }
  10. internal Socks4Connector Connector { get; private set; }
  11. internal SocketFactory SocketFactory { get; private set; }
  12. protected virtual void CreateMocks()
  13. {
  14. SocketFactoryMock = new Mock<ISocketFactory>(MockBehavior.Strict);
  15. }
  16. protected virtual void SetupData()
  17. {
  18. Connector = new Socks4Connector(SocketFactoryMock.Object);
  19. SocketFactory = new SocketFactory();
  20. }
  21. protected virtual void SetupMocks()
  22. {
  23. }
  24. protected sealed override void Arrange()
  25. {
  26. CreateMocks();
  27. SetupData();
  28. SetupMocks();
  29. }
  30. protected ConnectionInfo CreateConnectionInfo(string proxyUser, string proxyPassword)
  31. {
  32. return new ConnectionInfo(IPAddress.Loopback.ToString(),
  33. 1030,
  34. "user",
  35. ProxyTypes.Socks4,
  36. IPAddress.Loopback.ToString(),
  37. 8122,
  38. proxyUser,
  39. proxyPassword,
  40. new KeyboardInteractiveAuthenticationMethod("user"));
  41. }
  42. }
  43. }