From dde21138673c111099890301ffce8b6185e9ea3c Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Mon, 28 Nov 2011 13:07:42 -0800 Subject: Move connection resoluion logic to it's own testable class. --- .../connection_specification/resolver_test.rb | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 activerecord/test/cases/connection_specification/resolver_test.rb (limited to 'activerecord/test/cases/connection_specification/resolver_test.rb') diff --git a/activerecord/test/cases/connection_specification/resolver_test.rb b/activerecord/test/cases/connection_specification/resolver_test.rb new file mode 100644 index 0000000000..1ca9a00c85 --- /dev/null +++ b/activerecord/test/cases/connection_specification/resolver_test.rb @@ -0,0 +1,41 @@ +require "cases/helper" + +module ActiveRecord + class Base + class ConnectionSpecification + class ResolverTest < ActiveRecord::TestCase + def resolve(spec) + Resolver.new(spec, ActiveRecord::Base, {}).spec.config + end + + def test_url_host_no_db + spec = resolve 'postgres://foo?encoding=utf8' + assert_equal({ + :adapter => "postgresql", + :database => "", + :host => "foo", + :encoding => "utf8" }, spec) + end + + def test_url_host_db + spec = resolve 'postgres://foo/bar?encoding=utf8' + assert_equal({ + :adapter => "postgresql", + :database => "bar", + :host => "foo", + :encoding => "utf8" }, spec) + end + + def test_url_port + spec = resolve 'postgres://foo:123?encoding=utf8' + assert_equal({ + :adapter => "postgresql", + :database => "", + :port => 123, + :host => "foo", + :encoding => "utf8" }, spec) + end + end + end + end +end -- cgit v1.2.3 From d534c8fbe26dbc1101d80ad3af4cf166d0e3cda8 Mon Sep 17 00:00:00 2001 From: Jon Leighton Date: Tue, 29 Nov 2011 12:47:54 +0000 Subject: Fix resolver_test.rb on travis (postgresql isn't setup, so it can't load the connection adapter) --- .../test/cases/connection_specification/resolver_test.rb | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'activerecord/test/cases/connection_specification/resolver_test.rb') diff --git a/activerecord/test/cases/connection_specification/resolver_test.rb b/activerecord/test/cases/connection_specification/resolver_test.rb index 1ca9a00c85..a7623d0a66 100644 --- a/activerecord/test/cases/connection_specification/resolver_test.rb +++ b/activerecord/test/cases/connection_specification/resolver_test.rb @@ -9,27 +9,27 @@ module ActiveRecord end def test_url_host_no_db - spec = resolve 'postgres://foo?encoding=utf8' + spec = resolve 'mysql://foo?encoding=utf8' assert_equal({ - :adapter => "postgresql", + :adapter => "mysql", :database => "", :host => "foo", :encoding => "utf8" }, spec) end def test_url_host_db - spec = resolve 'postgres://foo/bar?encoding=utf8' + spec = resolve 'mysql://foo/bar?encoding=utf8' assert_equal({ - :adapter => "postgresql", + :adapter => "mysql", :database => "bar", :host => "foo", :encoding => "utf8" }, spec) end def test_url_port - spec = resolve 'postgres://foo:123?encoding=utf8' + spec = resolve 'mysql://foo:123?encoding=utf8' assert_equal({ - :adapter => "postgresql", + :adapter => "mysql", :database => "", :port => 123, :host => "foo", -- cgit v1.2.3 From f73f53455a01a93bd90cb8c0cee1a7c54afdb301 Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Tue, 29 Nov 2011 11:48:55 -0800 Subject: respond_to? information of AR is not the responsibility of the spec resolver. --- activerecord/test/cases/connection_specification/resolver_test.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'activerecord/test/cases/connection_specification/resolver_test.rb') diff --git a/activerecord/test/cases/connection_specification/resolver_test.rb b/activerecord/test/cases/connection_specification/resolver_test.rb index a7623d0a66..d4b0f236ee 100644 --- a/activerecord/test/cases/connection_specification/resolver_test.rb +++ b/activerecord/test/cases/connection_specification/resolver_test.rb @@ -5,7 +5,7 @@ module ActiveRecord class ConnectionSpecification class ResolverTest < ActiveRecord::TestCase def resolve(spec) - Resolver.new(spec, ActiveRecord::Base, {}).spec.config + Resolver.new(spec, {}).spec.config end def test_url_host_no_db -- cgit v1.2.3