Socks4ConnectorTestBase.cs 1.7 KB

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