Skip to content

Commit

Permalink
Add ConnectionHelper to refactor tests.
Browse files Browse the repository at this point in the history
  • Loading branch information
tgxworld committed Apr 3, 2014
1 parent 79f06a9 commit f1169d9
Show file tree
Hide file tree
Showing 10 changed files with 44 additions and 64 deletions.
9 changes: 4 additions & 5 deletions activerecord/test/cases/adapters/mysql/active_schema_test.rb
@@ -1,19 +1,18 @@
require "cases/helper" require "cases/helper"
require 'support/connection_helper'


class ActiveSchemaTest < ActiveRecord::TestCase class ActiveSchemaTest < ActiveRecord::TestCase
def setup include ConnectionHelper
@connection = ActiveRecord::Base.remove_connection
ActiveRecord::Base.establish_connection(@connection)


def setup
ActiveRecord::Base.connection.singleton_class.class_eval do ActiveRecord::Base.connection.singleton_class.class_eval do
alias_method :execute_without_stub, :execute alias_method :execute_without_stub, :execute
def execute(sql, name = nil) return sql end def execute(sql, name = nil) return sql end
end end
end end


teardown do teardown do
ActiveRecord::Base.remove_connection reset_connection
ActiveRecord::Base.establish_connection(@connection)
end end


def test_add_index def test_add_index
Expand Down
11 changes: 2 additions & 9 deletions activerecord/test/cases/adapters/mysql/connection_test.rb
@@ -1,7 +1,9 @@
require "cases/helper" require "cases/helper"
require 'support/connection_helper'
require 'support/ddl_helper' require 'support/ddl_helper'


class MysqlConnectionTest < ActiveRecord::TestCase class MysqlConnectionTest < ActiveRecord::TestCase
include ConnectionHelper
include DdlHelper include DdlHelper


class Klass < ActiveRecord::Base class Klass < ActiveRecord::Base
Expand Down Expand Up @@ -160,15 +162,6 @@ def test_mysql_set_session_variable_to_default


private private


def run_without_connection
original_connection = ActiveRecord::Base.remove_connection
begin
yield original_connection
ensure
ActiveRecord::Base.establish_connection(original_connection)
end
end

def with_example_table(&block) def with_example_table(&block)
definition ||= <<-SQL definition ||= <<-SQL
`id` int(11) auto_increment PRIMARY KEY, `id` int(11) auto_increment PRIMARY KEY,
Expand Down
9 changes: 4 additions & 5 deletions activerecord/test/cases/adapters/mysql2/active_schema_test.rb
@@ -1,19 +1,18 @@
require "cases/helper" require "cases/helper"
require 'support/connection_helper'


class ActiveSchemaTest < ActiveRecord::TestCase class ActiveSchemaTest < ActiveRecord::TestCase
def setup include ConnectionHelper
@connection = ActiveRecord::Base.remove_connection
ActiveRecord::Base.establish_connection(@connection)


def setup
ActiveRecord::Base.connection.singleton_class.class_eval do ActiveRecord::Base.connection.singleton_class.class_eval do
alias_method :execute_without_stub, :execute alias_method :execute_without_stub, :execute
def execute(sql, name = nil) return sql end def execute(sql, name = nil) return sql end
end end
end end


teardown do teardown do
ActiveRecord::Base.remove_connection reset_connection
ActiveRecord::Base.establish_connection(@connection)
end end


def test_add_index def test_add_index
Expand Down
14 changes: 3 additions & 11 deletions activerecord/test/cases/adapters/mysql2/connection_test.rb
@@ -1,6 +1,9 @@
require "cases/helper" require "cases/helper"
require 'support/connection_helper'


class MysqlConnectionTest < ActiveRecord::TestCase class MysqlConnectionTest < ActiveRecord::TestCase
include ConnectionHelper

def setup def setup
super super
@subscriber = SQLSubscriber.new @subscriber = SQLSubscriber.new
Expand Down Expand Up @@ -103,15 +106,4 @@ def test_quote_time_usec
assert_equal "'1970-01-01 00:00:00.000000'", @connection.quote(Time.at(0).to_datetime) assert_equal "'1970-01-01 00:00:00.000000'", @connection.quote(Time.at(0).to_datetime)
end end
end end

private

def run_without_connection
original_connection = ActiveRecord::Base.remove_connection
begin
yield original_connection
ensure
ActiveRecord::Base.establish_connection(original_connection)
end
end
end end
15 changes: 3 additions & 12 deletions activerecord/test/cases/adapters/postgresql/connection_test.rb
@@ -1,7 +1,10 @@
require "cases/helper" require "cases/helper"
require 'support/connection_helper'


module ActiveRecord module ActiveRecord
class PostgresqlConnectionTest < ActiveRecord::TestCase class PostgresqlConnectionTest < ActiveRecord::TestCase
include ConnectionHelper

class NonExistentTable < ActiveRecord::Base class NonExistentTable < ActiveRecord::Base
end end


Expand Down Expand Up @@ -198,17 +201,5 @@ def test_set_session_variable_default
ActiveRecord::Base.establish_connection(orig_connection.deep_merge({:variables => {:debug_print_plan => :default}})) ActiveRecord::Base.establish_connection(orig_connection.deep_merge({:variables => {:debug_print_plan => :default}}))
end end
end end

private

def run_without_connection
original_connection = ActiveRecord::Base.remove_connection
begin
yield original_connection
ensure
ActiveRecord::Base.establish_connection(original_connection)
end
end

end end
end end
6 changes: 3 additions & 3 deletions activerecord/test/cases/adapters/postgresql/domain_test.rb
@@ -1,11 +1,11 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
require "cases/helper" require "cases/helper"
require 'support/postgresql_helper' require 'support/connection_helper'
require 'active_record/base' require 'active_record/base'
require 'active_record/connection_adapters/postgresql_adapter' require 'active_record/connection_adapters/postgresql_adapter'


class PostgresqlDomainTest < ActiveRecord::TestCase class PostgresqlDomainTest < ActiveRecord::TestCase
include PostgresqlHelper include ConnectionHelper


class PostgresqlDomain < ActiveRecord::Base class PostgresqlDomain < ActiveRecord::Base
self.table_name = "postgresql_domains" self.table_name = "postgresql_domains"
Expand All @@ -27,7 +27,7 @@ def setup
teardown do teardown do
@connection.execute 'DROP TABLE IF EXISTS postgresql_domains' @connection.execute 'DROP TABLE IF EXISTS postgresql_domains'
@connection.execute 'DROP DOMAIN IF EXISTS custom_money' @connection.execute 'DROP DOMAIN IF EXISTS custom_money'
reset_pg_session reset_connection
end end


def test_column def test_column
Expand Down
6 changes: 3 additions & 3 deletions activerecord/test/cases/adapters/postgresql/enum_test.rb
@@ -1,11 +1,11 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
require "cases/helper" require "cases/helper"
require 'support/postgresql_helper' require 'support/connection_helper'
require 'active_record/base' require 'active_record/base'
require 'active_record/connection_adapters/postgresql_adapter' require 'active_record/connection_adapters/postgresql_adapter'


class PostgresqlEnumTest < ActiveRecord::TestCase class PostgresqlEnumTest < ActiveRecord::TestCase
include PostgresqlHelper include ConnectionHelper


class PostgresqlEnum < ActiveRecord::Base class PostgresqlEnum < ActiveRecord::Base
self.table_name = "postgresql_enums" self.table_name = "postgresql_enums"
Expand All @@ -28,7 +28,7 @@ def setup
teardown do teardown do
@connection.execute 'DROP TABLE IF EXISTS postgresql_enums' @connection.execute 'DROP TABLE IF EXISTS postgresql_enums'
@connection.execute 'DROP TYPE IF EXISTS mood' @connection.execute 'DROP TYPE IF EXISTS mood'
reset_pg_session reset_connection
end end


def test_column def test_column
Expand Down
16 changes: 8 additions & 8 deletions activerecord/test/cases/adapters/postgresql/range_test.rb
@@ -1,5 +1,5 @@
require "cases/helper" require "cases/helper"
require 'support/postgresql_helper' require 'support/connection_helper'
require 'active_record/base' require 'active_record/base'
require 'active_record/connection_adapters/postgresql_adapter' require 'active_record/connection_adapters/postgresql_adapter'


Expand All @@ -10,13 +10,7 @@ class PostgresqlRange < ActiveRecord::Base


class PostgresqlRangeTest < ActiveRecord::TestCase class PostgresqlRangeTest < ActiveRecord::TestCase
self.use_transactional_fixtures = false self.use_transactional_fixtures = false
include PostgresqlHelper include ConnectionHelper

teardown do
@connection.execute 'DROP TABLE IF EXISTS postgresql_ranges'
@connection.execute 'DROP TYPE IF EXISTS floatrange'
reset_pg_session
end


def setup def setup
@connection = PostgresqlRange.connection @connection = PostgresqlRange.connection
Expand Down Expand Up @@ -99,6 +93,12 @@ def setup
@empty_range = PostgresqlRange.find(105) @empty_range = PostgresqlRange.find(105)
end end


teardown do
@connection.execute 'DROP TABLE IF EXISTS postgresql_ranges'
@connection.execute 'DROP TYPE IF EXISTS floatrange'
reset_connection
end

def test_data_type_of_range_types def test_data_type_of_range_types
assert_equal :daterange, @first_range.column_for_attribute(:date_range).type assert_equal :daterange, @first_range.column_for_attribute(:date_range).type
assert_equal :numrange, @first_range.column_for_attribute(:num_range).type assert_equal :numrange, @first_range.column_for_attribute(:num_range).type
Expand Down
14 changes: 14 additions & 0 deletions activerecord/test/support/connection_helper.rb
@@ -0,0 +1,14 @@
module ConnectionHelper
def run_without_connection
original_connection = ActiveRecord::Base.remove_connection
yield original_connection
ensure
ActiveRecord::Base.establish_connection(original_connection)
end

# Used to drop all cache query plans in tests.
def reset_connection
original_connection = ActiveRecord::Base.remove_connection
ActiveRecord::Base.establish_connection(original_connection)
end
end
8 changes: 0 additions & 8 deletions activerecord/test/support/postgresql_helper.rb

This file was deleted.

0 comments on commit f1169d9

Please sign in to comment.