提交 a1f9ae5e 编写于 作者: S schneems

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: https://github.com/rails/rails/commit/fbb79b517f3127ba620fedd01849f9628b78d6ce

This change provides correct behavior. Unfortunately tests were introduced in https://github.com/rails/rails/commit/971d5107cd4cd08c22a85d34546f4ba03ed5c925 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.
上级 6d255b74
......@@ -38,36 +38,38 @@ def test_config_with_no_db_config
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
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册