diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2011-07-21 12:57:05 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2011-07-21 12:57:05 -0700 |
commit | 1a0b7ea3c903493dc44b2fd650cd8e7f3b234e46 (patch) | |
tree | d993a48b4c3d94389d3d8d00afe1afc913c4e68e /activerecord/test | |
parent | f4ed9751251b2e979ee7bf38faf74371e78bbf42 (diff) | |
download | rails-1a0b7ea3c903493dc44b2fd650cd8e7f3b234e46.tar.gz rails-1a0b7ea3c903493dc44b2fd650cd8e7f3b234e46.tar.bz2 rails-1a0b7ea3c903493dc44b2fd650cd8e7f3b234e46.zip |
adding more tests around database uri parsing
Diffstat (limited to 'activerecord/test')
-rw-r--r-- | activerecord/test/cases/connection_management_test.rb | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/activerecord/test/cases/connection_management_test.rb b/activerecord/test/cases/connection_management_test.rb index a1d1177289..f554ceef35 100644 --- a/activerecord/test/cases/connection_management_test.rb +++ b/activerecord/test/cases/connection_management_test.rb @@ -25,6 +25,40 @@ module ActiveRecord assert ActiveRecord::Base.connection_handler.active_connections? end + class FakeBase < ActiveRecord::Base + def self.establish_connection spec + String === spec ? super : spec + end + end + + def test_url_host_no_db + spec = FakeBase.establish_connection 'postgres://foo?encoding=utf8' + assert_equal({ + :adapter => "postgresql", + :database => "", + :host => "foo", + :encoding => "utf8" }, spec) + end + + def test_url_host_db + spec = FakeBase.establish_connection 'postgres://foo/bar?encoding=utf8' + assert_equal({ + :adapter => "postgresql", + :database => "bar", + :host => "foo", + :encoding => "utf8" }, spec) + end + + def test_url_port + spec = FakeBase.establish_connection 'postgres://foo:123?encoding=utf8' + assert_equal({ + :adapter => "postgresql", + :database => "", + :port => 123, + :host => "foo", + :encoding => "utf8" }, spec) + end + def test_app_delegation manager = ConnectionManagement.new(@app) |