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 in971d5107cd
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:
parent
6d255b741c
commit
a1f9ae5eb8
1 changed files with 22 additions and 20 deletions
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue