require 'spec_helper' require 'oxidized/input/ssh' describe Oxidized::SSH do before(:each) do Oxidized.asetus = Asetus.new Oxidized.setup_logger Oxidized::Node.any_instance.stubs(:resolve_repo) Oxidized::Node.any_instance.stubs(:resolve_input) Oxidized::Node.any_instance.stubs(:resolve_output) @node = Oxidized::Node.new(name: 'example.com', input: 'ssh', output: 'git', model: 'junos', username: 'alma', password: 'armud', vars: { ssh_proxy: 'test.com' }) end describe "#connect" do it "should use proxy command when proxy host given" do ssh = Oxidized::SSH.new model = mock model.expects(:cfg).returns('ssh' => []) @node.expects(:model).returns(model).at_least_once proxy = mock Net::SSH::Proxy::Command.expects(:new).with("ssh test.com -W %h:%p").returns(proxy) Net::SSH.expects(:start).with('93.184.216.34', 'alma', port: 22, timeout: Oxidized.config.timeout, paranoid: Oxidized.config.input.ssh.secure, keepalive: true, proxy: proxy, password: 'armud', number_of_password_prompts: 0, auth_methods: ['none', 'publickey', 'password', 'keyboard-interactive']) ssh.instance_variable_set("@exec", true) ssh.connect(@node) end end end