1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Fix DB Console tests

The build is broken: https://travis-ci.org/rails/rails/builds/15824530

This commit fixes it.

The problem: Sqlite expects the `database` part to be an absolute path. That prompted this change to be committed to master: fbb79b517f

This change provides correct behavior. Unfortunately tests were introduced in 971d5107cd that were relying on the incorrect behavior. We can avoid the fix by changing to another database url such as `mysql` or `postgresql`

In addition to fixing the failure, the assertions are changed so that the "expected" value comes before "actual" value.
This commit is contained in:
schneems 2013-12-21 23:09:01 -05:00
parent 6d255b741c
commit a1f9ae5eb8

View file

@ -38,36 +38,38 @@ class Rails::DBConsoleTest < ActiveSupport::TestCase
end
def test_config_with_database_url_only
ENV['DATABASE_URL'] = 'sqlite3://foo:bar@localhost:9000/foo_test?pool=5&timeout=3000'
ENV['DATABASE_URL'] = 'postgresql://foo:bar@localhost:9000/foo_test?pool=5&timeout=3000'
app_db_config(nil)
assert_equal Rails::DBConsole.new.config.sort, {
"adapter"=> "sqlite3",
"host"=> "localhost",
"port"=> 9000,
"database"=> "foo_test",
"username"=> "foo",
"password"=> "bar",
"pool"=> "5",
"timeout"=> "3000"
expected = {
"adapter" => "postgresql",
"host" => "localhost",
"port" => 9000,
"database" => "foo_test",
"username" => "foo",
"password" => "bar",
"pool" => "5",
"timeout" => "3000"
}.sort
assert_equal expected, Rails::DBConsole.new.config.sort
end
def test_config_choose_database_url_if_exists
ENV['DATABASE_URL'] = 'sqlite3://foo:bar@dburl:9000/foo_test?pool=5&timeout=3000'
host = "database-url-host.com"
ENV['DATABASE_URL'] = "postgresql://foo:bar@#{host}:9000/foo_test?pool=5&timeout=3000"
sample_config = {
"test" => {
"adapter"=> "sqlite3",
"host"=> "localhost",
"port"=> 9000,
"database"=> "foo_test",
"username"=> "foo",
"password"=> "bar",
"pool"=> "5",
"timeout"=> "3000"
"adapter" => "postgresql",
"host" => "not-the-#{host}",
"port" => 9000,
"database" => "foo_test",
"username" => "foo",
"password" => "bar",
"pool" => "5",
"timeout" => "3000"
}
}
app_db_config(sample_config)
assert_equal Rails::DBConsole.new.config["host"], "dburl"
assert_equal host, Rails::DBConsole.new.config["host"]
end
def test_env