aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases
diff options
context:
space:
mode:
authorMatthew Draper <matthew@trebex.net>2014-06-14 15:04:34 +0930
committerMatthew Draper <matthew@trebex.net>2014-06-14 15:09:37 +0930
commitcf67031546735651375b7df06bda6721ad57fbe2 (patch)
tree47ba86da193764eaf52aff5257abb1aa3d3c5f82 /activerecord/test/cases
parent7244e57de8793f3f2edd90122a4ef112b60f9be6 (diff)
downloadrails-cf67031546735651375b7df06bda6721ad57fbe2.tar.gz
rails-cf67031546735651375b7df06bda6721ad57fbe2.tar.bz2
rails-cf67031546735651375b7df06bda6721ad57fbe2.zip
Parsing DATABASE_URI, use URI#hostname: it's smarter about IPv6
Fixes #15705.
Diffstat (limited to 'activerecord/test/cases')
-rw-r--r--activerecord/test/cases/connection_adapters/merge_and_resolve_default_url_config_test.rb12
1 files changed, 12 insertions, 0 deletions
diff --git a/activerecord/test/cases/connection_adapters/merge_and_resolve_default_url_config_test.rb b/activerecord/test/cases/connection_adapters/merge_and_resolve_default_url_config_test.rb
index da852aaa02..e1b2804a18 100644
--- a/activerecord/test/cases/connection_adapters/merge_and_resolve_default_url_config_test.rb
+++ b/activerecord/test/cases/connection_adapters/merge_and_resolve_default_url_config_test.rb
@@ -144,6 +144,18 @@ module ActiveRecord
assert_equal nil, actual[:test]
end
+ def test_database_url_with_ipv6_host_and_port
+ ENV['DATABASE_URL'] = "postgres://[::1]:5454/foo"
+
+ config = {}
+ actual = resolve_config(config)
+ expected = { "adapter" => "postgresql",
+ "database" => "foo",
+ "host" => "::1",
+ "port" => 5454 }
+ assert_equal expected, actual["default_env"]
+ end
+
def test_url_sub_key_with_database_url
ENV['DATABASE_URL'] = "NOT-POSTGRES://localhost/NOT_FOO"