namespace Renci.SshNet.IntegrationTests { public class LinuxVMConnectionFactory : IConnectionInfoFactory { private const string ProxyHost = "127.0.0.1"; private const int ProxyPort = 1234; private const string ProxyUserName = "test"; private const string ProxyPassword = "123"; private readonly string _host; private readonly int _port; private readonly AuthenticationMethodFactory _authenticationMethodFactory; public LinuxVMConnectionFactory(string sshServerHostName, ushort sshServerPort) { _host = sshServerHostName; _port = sshServerPort; _authenticationMethodFactory = new AuthenticationMethodFactory(); } public LinuxVMConnectionFactory(string sshServerHostName, ushort sshServerPort, AuthenticationMethodFactory authenticationMethodFactory) { _host = sshServerHostName; _port = sshServerPort; _authenticationMethodFactory = authenticationMethodFactory; } public ConnectionInfo Create() { return Create(_authenticationMethodFactory.CreateRegularUserPrivateKeyAuthenticationMethod()); } public ConnectionInfo Create(params AuthenticationMethod[] authenticationMethods) { return new ConnectionInfo(_host, _port, Users.Regular.UserName, authenticationMethods); } public ConnectionInfo CreateWithProxy() { return CreateWithProxy(_authenticationMethodFactory.CreateRegularUserPrivateKeyAuthenticationMethod()); } public ConnectionInfo CreateWithProxy(params AuthenticationMethod[] authenticationMethods) { return new ConnectionInfo( _host, _port, Users.Regular.UserName, ProxyTypes.Socks4, ProxyHost, ProxyPort, ProxyUserName, ProxyPassword, authenticationMethods); } } }