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

don't establish a new connection when testing with sqlite3_mem.

This fixes broken `rake test_sqlite3_mem` suite for Active Record.
The problem is that that the old database with the schema is lost
when establishing a new connection. Upon reconnting we are left
with a blank database and tests down the line start failing.
This commit is contained in:
Yves Senn 2014-01-14 18:00:58 +01:00
parent 93b38d54df
commit b23330745b

View file

@ -34,6 +34,8 @@ module ActiveRecord
end end
def test_connect_with_url def test_connect_with_url
skip "can't establish new connection when using memory db" if in_memory_db?
begin
original_connection = ActiveRecord::Base.remove_connection original_connection = ActiveRecord::Base.remove_connection
tf = Tempfile.open 'whatever' tf = Tempfile.open 'whatever'
url = "sqlite3://#{tf.path}" url = "sqlite3://#{tf.path}"
@ -44,8 +46,11 @@ module ActiveRecord
tf.unlink tf.unlink
ActiveRecord::Base.establish_connection(original_connection) ActiveRecord::Base.establish_connection(original_connection)
end end
end
def test_connect_memory_with_url def test_connect_memory_with_url
skip "can't establish new connection when using memory db" if in_memory_db?
begin
original_connection = ActiveRecord::Base.remove_connection original_connection = ActiveRecord::Base.remove_connection
url = "sqlite3:///:memory:" url = "sqlite3:///:memory:"
ActiveRecord::Base.establish_connection(url) ActiveRecord::Base.establish_connection(url)
@ -53,6 +58,7 @@ module ActiveRecord
ensure ensure
ActiveRecord::Base.establish_connection(original_connection) ActiveRecord::Base.establish_connection(original_connection)
end end
end
def test_valid_column def test_valid_column
column = @conn.columns('items').find { |col| col.name == 'id' } column = @conn.columns('items').find { |col| col.name == 'id' }