1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00
rails--rails/switchtower/test/command_test.rb
2005-08-06 19:35:25 +00:00

43 lines
1 KiB
Ruby

$:.unshift File.dirname(__FILE__) + "/../lib"
require 'stringio'
require 'test/unit'
require 'switchtower/command'
class CommandTest < Test::Unit::TestCase
class MockSession
def open_channel
{ :closed => true, :status => 0 }
end
end
class MockActor
attr_reader :sessions
def initialize
@sessions = Hash.new { |h,k| h[k] = MockSession.new }
end
end
def setup
@actor = MockActor.new
end
def test_command_executes_on_all_servers
command = SwitchTower::Command.new(%w(server1 server2 server3),
"hello", nil, {}, @actor)
assert_equal %w(server1 server2 server3), @actor.sessions.keys.sort
end
def test_command_with_newlines
command = SwitchTower::Command.new(%w(server1), "hello\nworld", nil, {},
@actor)
assert_equal "hello\\\nworld", command.command
end
def test_command_with_windows_newlines
command = SwitchTower::Command.new(%w(server1), "hello\r\nworld", nil, {},
@actor)
assert_equal "hello\\\nworld", command.command
end
end