diff options
author | Elvin Efendi <elvin.efendiyev@gmail.com> | 2016-01-21 17:00:26 -0500 |
---|---|---|
committer | Elvin Efendi <elvin.efendiyev@gmail.com> | 2016-01-21 17:00:26 -0500 |
commit | b466a30f45c9571d8f1871c1c2f4ab9255eaf0b6 (patch) | |
tree | e2a2a70a346c5cb887d03f0760cb8fa5a9c9cb42 /spec | |
parent | 93593578aabba6cbbc11b331ead3c4271b3569f6 (diff) | |
parent | ba05171450facc21824a24403221eeb9a856caad (diff) |
Merge pull request #18 from Shopify/ssh-proxy
SSH proxy command
Diffstat (limited to 'spec')
-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 |