diff options
author | Jamis Buck <jamis@37signals.com> | 2005-08-30 20:53:32 +0000 |
---|---|---|
committer | Jamis Buck <jamis@37signals.com> | 2005-08-30 20:53:32 +0000 |
commit | 6b1864a048ffb9343d4658ec11c32494d7f038db (patch) | |
tree | 6c1ad3f9131d644afab6cc6188001cfb73775e33 /switchtower/test/ssh_test.rb | |
parent | bb7f60ca1cd191fd775fef261b4d2bc7af223604 (diff) | |
download | rails-6b1864a048ffb9343d4658ec11c32494d7f038db.tar.gz rails-6b1864a048ffb9343d4658ec11c32494d7f038db.tar.bz2 rails-6b1864a048ffb9343d4658ec11c32494d7f038db.zip |
Move switchtower to the tools directory, to decouple it from rails
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2074 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'switchtower/test/ssh_test.rb')
-rw-r--r-- | switchtower/test/ssh_test.rb | 104 |
1 files changed, 0 insertions, 104 deletions
diff --git a/switchtower/test/ssh_test.rb b/switchtower/test/ssh_test.rb deleted file mode 100644 index 60e791beb3..0000000000 --- a/switchtower/test/ssh_test.rb +++ /dev/null @@ -1,104 +0,0 @@ -$:.unshift File.dirname(__FILE__) + "/../lib" - -require File.dirname(__FILE__) + "/utils" -require 'test/unit' -require 'switchtower/ssh' - -class SSHTest < Test::Unit::TestCase - class MockSSH - AuthenticationFailed = Net::SSH::AuthenticationFailed - - class <<self - attr_accessor :story - attr_accessor :invocations - end - - def self.start(server, opts, &block) - @invocations << [server, opts, block] - err = story.shift - raise err if err - end - end - - def setup - @config = MockConfiguration.new - @config[:user] = 'demo' - @config[:password] = 'c0c0nutfr0st1ng' - MockSSH.story = [] - MockSSH.invocations = [] - end - - def test_publickey_auth_succeeds_default_port_no_block - Net.const_during(:SSH, MockSSH) do - SwitchTower::SSH.connect('demo.server.i', @config) - end - - assert_equal 1, MockSSH.invocations.length - assert_equal 'demo.server.i', MockSSH.invocations.first[0] - assert_equal 22, MockSSH.invocations.first[1][:port] - assert_equal 'demo', MockSSH.invocations.first[1][:username] - assert_nil MockSSH.invocations.first[1][:password] - assert_equal %w(publickey hostbased), - MockSSH.invocations.first[1][:auth_methods] - assert_nil MockSSH.invocations.first[2] - end - - def test_publickey_auth_succeeds_explicit_port_no_block - Net.const_during(:SSH, MockSSH) do - SwitchTower::SSH.connect('demo.server.i', @config, 23) - end - - assert_equal 1, MockSSH.invocations.length - assert_equal 23, MockSSH.invocations.first[1][:port] - assert_nil MockSSH.invocations.first[2] - end - - def test_publickey_auth_succeeds_with_block - Net.const_during(:SSH, MockSSH) do - SwitchTower::SSH.connect('demo.server.i', @config) do |session| - end - end - - assert_equal 1, MockSSH.invocations.length - assert_instance_of Proc, MockSSH.invocations.first[2] - end - - def test_publickey_auth_fails - MockSSH.story << Net::SSH::AuthenticationFailed - - Net.const_during(:SSH, MockSSH) do - SwitchTower::SSH.connect('demo.server.i', @config) - end - - assert_equal 2, MockSSH.invocations.length - - assert_nil MockSSH.invocations.first[1][:password] - assert_equal %w(publickey hostbased), - MockSSH.invocations.first[1][:auth_methods] - - assert_equal 'c0c0nutfr0st1ng', MockSSH.invocations.last[1][:password] - assert_equal %w(password keyboard-interactive), - MockSSH.invocations.last[1][:auth_methods] - end - - def test_password_auth_fails - MockSSH.story << Net::SSH::AuthenticationFailed - MockSSH.story << Net::SSH::AuthenticationFailed - - Net.const_during(:SSH, MockSSH) do - assert_raises(Net::SSH::AuthenticationFailed) do - SwitchTower::SSH.connect('demo.server.i', @config) - end - end - - assert_equal 2, MockSSH.invocations.length - - assert_nil MockSSH.invocations.first[1][:password] - assert_equal %w(publickey hostbased), - MockSSH.invocations.first[1][:auth_methods] - - assert_equal 'c0c0nutfr0st1ng', MockSSH.invocations.last[1][:password] - assert_equal %w(password keyboard-interactive), - MockSSH.invocations.last[1][:auth_methods] - end -end |