diff options
Diffstat (limited to 'spec/input')
| -rw-r--r-- | spec/input/ssh_spec.rb | 37 | 
1 files changed, 37 insertions, 0 deletions
| diff --git a/spec/input/ssh_spec.rb b/spec/input/ssh_spec.rb new file mode 100644 index 0000000..43c7d66 --- /dev/null +++ b/spec/input/ssh_spec.rb @@ -0,0 +1,37 @@ +require 'spec_helper' +require 'oxidized/input/ssh' + +describe Oxidized::SSH do +  before(:each) do +    Oxidized.asetus = Asetus.new +    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: {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) + +      proxy = mock() +      Net::SSH::Proxy::Command.expects(:new).with("ssh test.com nc %h %p").returns(proxy) +      Net::SSH.expects(:start).with('93.184.216.34', 'alma', {:port => 22, :password => 'armud', :timeout => Oxidized.config.timeout, +                                    :paranoid => Oxidized.config.input.ssh.secure, :auth_methods => ['none', 'publickey', 'password', 'keyboard-interactive'], +                                    :number_of_password_prompts => 0, :proxy => proxy}) + +      ssh.instance_variable_set("@exec", true) +      ssh.connect(@node) +    end +  end +end | 
