From 6b1864a048ffb9343d4658ec11c32494d7f038db Mon Sep 17 00:00:00 2001 From: Jamis Buck Date: Tue, 30 Aug 2005 20:53:32 +0000 Subject: 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 --- switchtower/test/configuration_test.rb | 210 --------------------------------- 1 file changed, 210 deletions(-) delete mode 100644 switchtower/test/configuration_test.rb (limited to 'switchtower/test/configuration_test.rb') diff --git a/switchtower/test/configuration_test.rb b/switchtower/test/configuration_test.rb deleted file mode 100644 index ecbc0a5607..0000000000 --- a/switchtower/test/configuration_test.rb +++ /dev/null @@ -1,210 +0,0 @@ -$:.unshift File.dirname(__FILE__) + "/../lib" - -require 'test/unit' -require 'switchtower/configuration' -require 'flexmock' - -class ConfigurationTest < Test::Unit::TestCase - class MockActor - attr_reader :tasks - - def initialize(config) - end - - def define_task(*args, &block) - (@tasks ||= []).push [args, block].flatten - end - end - - class MockSCM - attr_reader :configuration - - def initialize(config) - @configuration = config - end - end - - def setup - @config = SwitchTower::Configuration.new(MockActor) - @config.set :scm, MockSCM - end - - def test_version_dir_default - assert "releases", @config.version_dir - end - - def test_current_dir_default - assert "current", @config.current_dir - end - - def test_shared_dir_default - assert "shared", @config.shared_dir - end - - def test_set_repository - @config.set :repository, "/foo/bar/baz" - assert_equal "/foo/bar/baz", @config.repository - end - - def test_set_user - @config.set :user, "flippy" - assert_equal "flippy", @config.user - end - - def test_define_single_role - @config.role :app, "somewhere.example.com" - assert_equal 1, @config.roles[:app].length - assert_equal "somewhere.example.com", @config.roles[:app].first.host - assert_equal Hash.new, @config.roles[:app].first.options - end - - def test_define_single_role_with_options - @config.role :app, "somewhere.example.com", :primary => true - assert_equal 1, @config.roles[:app].length - assert_equal "somewhere.example.com", @config.roles[:app].first.host - assert_equal({:primary => true}, @config.roles[:app].first.options) - end - - def test_define_multi_role - @config.role :app, "somewhere.example.com", "else.example.com" - assert_equal 2, @config.roles[:app].length - assert_equal "somewhere.example.com", @config.roles[:app].first.host - assert_equal "else.example.com", @config.roles[:app].last.host - assert_equal({}, @config.roles[:app].first.options) - assert_equal({}, @config.roles[:app].last.options) - end - - def test_define_multi_role_with_options - @config.role :app, "somewhere.example.com", "else.example.com", :primary => true - assert_equal 2, @config.roles[:app].length - assert_equal "somewhere.example.com", @config.roles[:app].first.host - assert_equal "else.example.com", @config.roles[:app].last.host - assert_equal({:primary => true}, @config.roles[:app].first.options) - assert_equal({:primary => true}, @config.roles[:app].last.options) - end - - def test_load_string_unnamed - @config.load :string => "set :repository, __FILE__" - assert_equal "", @config.repository - end - - def test_load_string_named - @config.load :string => "set :repository, __FILE__", :name => "test.rb" - assert_equal "test.rb", @config.repository - end - - def test_load - file = File.dirname(__FILE__) + "/fixtures/config.rb" - @config.load file - assert_equal "1/2/foo", @config.repository - assert_equal "./#{file}.example.com", @config.gateway - assert_equal 1, @config.roles[:web].length - end - - def test_load_explicit_name - file = File.dirname(__FILE__) + "/fixtures/config.rb" - @config.load file, :name => "config" - assert_equal "1/2/foo", @config.repository - assert_equal "config.example.com", @config.gateway - assert_equal 1, @config.roles[:web].length - end - - def test_load_file_implied_name - file = File.dirname(__FILE__) + "/fixtures/config.rb" - @config.load :file => file - assert_equal "1/2/foo", @config.repository - assert_equal "./#{file}.example.com", @config.gateway - assert_equal 1, @config.roles[:web].length - end - - def test_load_file_explicit_name - file = File.dirname(__FILE__) + "/fixtures/config.rb" - @config.load :file => file, :name => "config" - assert_equal "1/2/foo", @config.repository - assert_equal "config.example.com", @config.gateway - assert_equal 1, @config.roles[:web].length - end - - def test_task_without_options - block = Proc.new { } - @config.task :hello, &block - assert_equal 1, @config.actor.tasks.length - assert_equal :hello, @config.actor.tasks[0][0] - assert_equal({}, @config.actor.tasks[0][1]) - assert_equal block, @config.actor.tasks[0][2] - end - - def test_task_with_options - block = Proc.new { } - @config.task :hello, :roles => :app, &block - assert_equal 1, @config.actor.tasks.length - assert_equal :hello, @config.actor.tasks[0][0] - assert_equal({:roles => :app}, @config.actor.tasks[0][1]) - assert_equal block, @config.actor.tasks[0][2] - end - - def test_source - @config.set :repository, "/foo/bar/baz" - assert_equal "/foo/bar/baz", @config.source.configuration.repository - end - - def test_releases_path_default - @config.set :deploy_to, "/start/of/path" - assert_equal "/start/of/path/releases", @config.releases_path - end - - def test_releases_path_custom - @config.set :deploy_to, "/start/of/path" - @config.set :version_dir, "right/here" - assert_equal "/start/of/path/right/here", @config.releases_path - end - - def test_current_path_default - @config.set :deploy_to, "/start/of/path" - assert_equal "/start/of/path/current", @config.current_path - end - - def test_current_path_custom - @config.set :deploy_to, "/start/of/path" - @config.set :current_dir, "right/here" - assert_equal "/start/of/path/right/here", @config.current_path - end - - def test_shared_path_default - @config.set :deploy_to, "/start/of/path" - assert_equal "/start/of/path/shared", @config.shared_path - end - - def test_shared_path_custom - @config.set :deploy_to, "/start/of/path" - @config.set :shared_dir, "right/here" - assert_equal "/start/of/path/right/here", @config.shared_path - end - - def test_release_path_implicit - @config.set :deploy_to, "/start/of/path" - assert_equal "/start/of/path/releases/#{@config.now.strftime("%Y%m%d%H%M%S")}", @config.release_path - end - - def test_release_path_explicit - @config.set :deploy_to, "/start/of/path" - assert_equal "/start/of/path/releases/silly", @config.release_path("silly") - end - - def test_task_description - block = Proc.new { } - @config.desc "A sample task" - @config.task :hello, &block - assert_equal "A sample task", @config.actor.tasks[0][1][:desc] - end - - def test_set_scm_to_darcs - @config.set :scm, :darcs - assert_equal "SwitchTower::SCM::Darcs", @config.source.class.name - end - - def test_set_scm_to_subversion - @config.set :scm, :subversion - assert_equal "SwitchTower::SCM::Subversion", @config.source.class.name - end -end -- cgit v1.2.3