Closes rails/rails#18864: Renaming transactional fixtures to transactional tests

I’m renaming all instances of `use_transcational_fixtures` to
`use_transactional_tests` and “transactional fixtures” to
“transactional tests”.

I’m deprecating `use_transactional_fixtures=`. So anyone who is
explicitly setting this will get a warning telling them to use
`use_transactional_tests=` instead.

I’m maintaining backwards compatibility—both forms will work.
`use_transactional_tests` will check to see if
`use_transactional_fixtures` is set and use that, otherwise it will use
itself. But because `use_transactional_tests` is a class attribute
(created with `class_attribute`) this requires a little bit of hoop
jumping. The writer method that `class_attribute` generates defines a
new reader method that return the value being set. Which means we can’t
set the default of `true` using `use_transactional_tests=` as was done
previously because that won’t take into account anyone using
`use_transactional_fixtures`. Instead I defined the reader method
manually and it checks `use_transactional_fixtures`. If it was set then
it should be used, otherwise it should return the default, which is
`true`. If someone uses `use_transactional_tests=` then it will
overwrite the backwards-compatible method with whatever they set.
This commit is contained in:
Brandon Weiss 2015-03-10 19:21:19 -07:00
parent 82c2baf534
commit 0965863564
53 changed files with 143 additions and 89 deletions

View File

@ -76,7 +76,7 @@ class ActiveRecordTestCase < ActionController::TestCase
# Set our fixture path
if ActiveRecordTestConnector.able_to_connect
self.fixture_path = [FIXTURE_LOAD_PATH]
self.use_transactional_fixtures = false
self.use_transactional_tests = false
end
def self.fixtures(*args)

View File

@ -5,7 +5,7 @@ module TestCaseHelpers
extend ActiveSupport::Concern
included do
self.use_transactional_fixtures = false
self.use_transactional_tests = false
setup do
clear_jobs

View File

@ -1,3 +1,9 @@
* Renaming `use_transactional_fixtures` to `use_transactional_tests` for clarity.
Fixes #18864.
*Brandon Weiss*
* Increase pg gem version requirement to `~> 0.18`. Earlier versions of the
pg gem are known to have problems with Ruby 2.2.

View File

@ -139,13 +139,13 @@ module ActiveRecord
# name: kitten.png
# sha: <%= file_sha 'files/kitten.png' %>
#
# = Transactional Fixtures
# = Transactional Tests
#
# Test cases can use begin+rollback to isolate their changes to the database instead of having to
# delete+insert for every test case.
#
# class FooTest < ActiveSupport::TestCase
# self.use_transactional_fixtures = true
# self.use_transactional_tests = true
#
# test "godzilla" do
# assert !Foo.all.empty?
@ -159,14 +159,14 @@ module ActiveRecord
# end
#
# If you preload your test database with all fixture data (probably in the rake task) and use
# transactional fixtures, then you may omit all fixtures declarations in your test cases since
# transactional tests, then you may omit all fixtures declarations in your test cases since
# all the data's already there and every case rolls back its changes.
#
# In order to use instantiated fixtures with preloaded data, set +self.pre_loaded_fixtures+ to
# true. This will provide access to fixture data for every table that has been loaded through
# fixtures (depending on the value of +use_instantiated_fixtures+).
#
# When *not* to use transactional fixtures:
# When *not* to use transactional tests:
#
# 1. You're testing whether a transaction works correctly. Nested transactions don't commit until
# all parent transactions commit, particularly, the fixtures transaction which is begun in setup
@ -835,13 +835,15 @@ module ActiveRecord
class_attribute :fixture_path, :instance_writer => false
class_attribute :fixture_table_names
class_attribute :fixture_class_names
class_attribute :use_transactional_tests
class_attribute :use_transactional_fixtures
class_attribute :use_instantiated_fixtures # true, false, or :no_instances
class_attribute :pre_loaded_fixtures
class_attribute :config
singleton_class.deprecate 'use_transactional_fixtures=' => 'use use_transactional_tests= instead'
self.fixture_table_names = []
self.use_transactional_fixtures = true
self.use_instantiated_fixtures = false
self.pre_loaded_fixtures = false
self.config = ActiveRecord::Base
@ -849,6 +851,16 @@ module ActiveRecord
self.fixture_class_names = Hash.new do |h, fixture_set_name|
h[fixture_set_name] = ActiveRecord::FixtureSet.default_fixture_model_name(fixture_set_name, self.config)
end
silence_warnings do
define_singleton_method :use_transactional_tests do
if use_transactional_fixtures.nil?
true
else
use_transactional_fixtures
end
end
end
end
module ClassMethods
@ -919,13 +931,13 @@ module ActiveRecord
end
def run_in_transaction?
use_transactional_fixtures &&
use_transactional_tests &&
!self.class.uses_transaction?(method_name)
end
def setup_fixtures(config = ActiveRecord::Base)
if pre_loaded_fixtures && !use_transactional_fixtures
raise RuntimeError, 'pre_loaded_fixtures requires use_transactional_fixtures'
if pre_loaded_fixtures && !use_transactional_tests
raise RuntimeError, 'pre_loaded_fixtures requires use_transactional_tests'
end
@fixture_cache = {}

View File

@ -226,7 +226,7 @@ module ActiveRecord
end
class AdapterTestWithoutTransaction < ActiveRecord::TestCase
self.use_transactional_fixtures = false
self.use_transactional_tests = false
class Klass < ActiveRecord::Base
end

View File

@ -1,7 +1,7 @@
require "cases/helper"
class MysqlConsistencyTest < ActiveRecord::TestCase
self.use_transactional_fixtures = false
self.use_transactional_tests = false
class Consistency < ActiveRecord::Base
self.table_name = "mysql_consistency"

View File

@ -71,7 +71,7 @@ class MysqlReservedWordTest < ActiveRecord::TestCase
#fixtures
self.use_instantiated_fixtures = true
self.use_transactional_fixtures = false
self.use_transactional_tests = false
#activerecord model class with reserved-word table name
def test_activerecord_model

View File

@ -1,7 +1,7 @@
require "cases/helper"
class UnsignedTypeTest < ActiveRecord::TestCase
self.use_transactional_fixtures = false
self.use_transactional_tests = false
class UnsignedType < ActiveRecord::Base
end

View File

@ -1,7 +1,7 @@
require "cases/helper"
class Mysql2BooleanTest < ActiveRecord::TestCase
self.use_transactional_fixtures = false
self.use_transactional_tests = false
class BooleanType < ActiveRecord::Base
self.table_name = "mysql_booleans"

View File

@ -71,7 +71,7 @@ class MysqlReservedWordTest < ActiveRecord::TestCase
#fixtures
self.use_instantiated_fixtures = true
self.use_transactional_fixtures = false
self.use_transactional_tests = false
#activerecord model class with reserved-word table name
def test_activerecord_model

View File

@ -1,7 +1,7 @@
require "cases/helper"
class UnsignedTypeTest < ActiveRecord::TestCase
self.use_transactional_fixtures = false
self.use_transactional_tests = false
class UnsignedType < ActiveRecord::Base
end

View File

@ -12,7 +12,7 @@ class PostgresqlLtree < ActiveRecord::Base
end
class PostgresqlDataTypeTest < ActiveRecord::TestCase
self.use_transactional_fixtures = false
self.use_transactional_tests = false
def setup
@connection = ActiveRecord::Base.connection

View File

@ -1,7 +1,7 @@
require "cases/helper"
class PostgresqlExtensionMigrationTest < ActiveRecord::TestCase
self.use_transactional_fixtures = false
self.use_transactional_tests = false
class EnableHstore < ActiveRecord::Migration
def change

View File

@ -7,7 +7,7 @@ if ActiveRecord::Base.connection.supports_ranges?
end
class PostgresqlRangeTest < ActiveRecord::TestCase
self.use_transactional_fixtures = false
self.use_transactional_tests = false
include ConnectionHelper
def setup

View File

@ -2,7 +2,7 @@ require 'cases/helper'
require 'support/connection_helper'
class PostgreSQLReferentialIntegrityTest < ActiveRecord::TestCase
self.use_transactional_fixtures = false
self.use_transactional_tests = false
include ConnectionHelper

View File

@ -4,7 +4,7 @@ class SchemaThing < ActiveRecord::Base
end
class SchemaAuthorizationTest < ActiveRecord::TestCase
self.use_transactional_fixtures = false
self.use_transactional_tests = false
TABLE_NAME = 'schema_things'
COLUMNS = [

View File

@ -3,7 +3,7 @@ require 'models/default'
require 'support/schema_dumping_helper'
class SchemaTest < ActiveRecord::TestCase
self.use_transactional_fixtures = false
self.use_transactional_tests = false
SCHEMA_NAME = 'test_schema'
SCHEMA2_NAME = 'test_schema2'

View File

@ -5,7 +5,7 @@ require 'models/topic'
class PostgresqlTimestampTest < ActiveRecord::TestCase
class PostgresqlTimestampWithZone < ActiveRecord::Base; end
self.use_transactional_fixtures = false
self.use_transactional_tests = false
setup do
@connection = ActiveRecord::Base.connection

View File

@ -8,7 +8,7 @@ module ActiveRecord
class SQLite3AdapterTest < ActiveRecord::TestCase
include DdlHelper
self.use_transactional_fixtures = false
self.use_transactional_tests = false
class DualEncoding < ActiveRecord::Base
end

View File

@ -3,7 +3,7 @@ require "cases/helper"
if ActiveRecord::Base.connection.supports_migrations?
class ActiveRecordSchemaTest < ActiveRecord::TestCase
self.use_transactional_fixtures = false
self.use_transactional_tests = false
setup do
@original_verbose = ActiveRecord::Migration.verbose

View File

@ -12,7 +12,7 @@ require 'models/image'
require 'models/post'
class HasOneAssociationsTest < ActiveRecord::TestCase
self.use_transactional_fixtures = false unless supports_savepoints?
self.use_transactional_tests = false unless supports_savepoints?
fixtures :accounts, :companies, :developers, :projects, :developers_projects, :ships, :pirates
def setup

View File

@ -17,7 +17,7 @@ require 'models/engine'
require 'models/car'
class AssociationsJoinModelTest < ActiveRecord::TestCase
self.use_transactional_fixtures = false unless supports_savepoints?
self.use_transactional_tests = false unless supports_savepoints?
fixtures :posts, :authors, :categories, :categorizations, :comments, :tags, :taggings, :author_favorites, :vertices, :items, :books,
# Reload edges table from fixtures as otherwise repeated test was failing

View File

@ -1,7 +1,7 @@
require "cases/helper"
class RequiredAssociationsTest < ActiveRecord::TestCase
self.use_transactional_fixtures = false
self.use_transactional_tests = false
class Parent < ActiveRecord::Base
end

View File

@ -629,7 +629,7 @@ class TestDefaultAutosaveAssociationOnNewRecord < ActiveRecord::TestCase
end
class TestDestroyAsPartOfAutosaveAssociation < ActiveRecord::TestCase
self.use_transactional_fixtures = false
self.use_transactional_tests = false
setup do
@pirate = Pirate.create(:catchphrase => "Don' botharrr talkin' like one, savvy?")
@ -637,7 +637,7 @@ class TestDestroyAsPartOfAutosaveAssociation < ActiveRecord::TestCase
end
teardown do
# We are running without transactional fixtures and need to cleanup.
# We are running without transactional tests and need to cleanup.
Bird.delete_all
Parrot.delete_all
@ship.delete
@ -1009,7 +1009,7 @@ class TestDestroyAsPartOfAutosaveAssociation < ActiveRecord::TestCase
end
class TestAutosaveAssociationOnAHasOneAssociation < ActiveRecord::TestCase
self.use_transactional_fixtures = false unless supports_savepoints?
self.use_transactional_tests = false unless supports_savepoints?
def setup
super
@ -1145,7 +1145,7 @@ class TestAutosaveAssociationOnAHasOneAssociation < ActiveRecord::TestCase
end
class TestAutosaveAssociationOnAHasOneThroughAssociation < ActiveRecord::TestCase
self.use_transactional_fixtures = false unless supports_savepoints?
self.use_transactional_tests = false unless supports_savepoints?
def setup
super
@ -1166,7 +1166,7 @@ class TestAutosaveAssociationOnAHasOneThroughAssociation < ActiveRecord::TestCas
end
class TestAutosaveAssociationOnABelongsToAssociation < ActiveRecord::TestCase
self.use_transactional_fixtures = false unless supports_savepoints?
self.use_transactional_tests = false unless supports_savepoints?
def setup
super
@ -1414,7 +1414,7 @@ module AutosaveAssociationOnACollectionAssociationTests
end
class TestAutosaveAssociationOnAHasManyAssociation < ActiveRecord::TestCase
self.use_transactional_fixtures = false unless supports_savepoints?
self.use_transactional_tests = false unless supports_savepoints?
def setup
super
@ -1430,7 +1430,7 @@ class TestAutosaveAssociationOnAHasManyAssociation < ActiveRecord::TestCase
end
class TestAutosaveAssociationOnAHasAndBelongsToManyAssociation < ActiveRecord::TestCase
self.use_transactional_fixtures = false unless supports_savepoints?
self.use_transactional_tests = false unless supports_savepoints?
def setup
super
@ -1447,7 +1447,7 @@ class TestAutosaveAssociationOnAHasAndBelongsToManyAssociation < ActiveRecord::T
end
class TestAutosaveAssociationOnAHasAndBelongsToManyAssociationWithAcceptsNestedAttributes < ActiveRecord::TestCase
self.use_transactional_fixtures = false unless supports_savepoints?
self.use_transactional_tests = false unless supports_savepoints?
def setup
super
@ -1464,7 +1464,7 @@ class TestAutosaveAssociationOnAHasAndBelongsToManyAssociationWithAcceptsNestedA
end
class TestAutosaveAssociationValidationsOnAHasManyAssociation < ActiveRecord::TestCase
self.use_transactional_fixtures = false unless supports_savepoints?
self.use_transactional_tests = false unless supports_savepoints?
def setup
super
@ -1481,7 +1481,7 @@ class TestAutosaveAssociationValidationsOnAHasManyAssociation < ActiveRecord::Te
end
class TestAutosaveAssociationValidationsOnAHasOneAssociation < ActiveRecord::TestCase
self.use_transactional_fixtures = false unless supports_savepoints?
self.use_transactional_tests = false unless supports_savepoints?
def setup
super
@ -1504,7 +1504,7 @@ class TestAutosaveAssociationValidationsOnAHasOneAssociation < ActiveRecord::Tes
end
class TestAutosaveAssociationValidationsOnABelongsToAssociation < ActiveRecord::TestCase
self.use_transactional_fixtures = false unless supports_savepoints?
self.use_transactional_tests = false unless supports_savepoints?
def setup
super
@ -1525,7 +1525,7 @@ class TestAutosaveAssociationValidationsOnABelongsToAssociation < ActiveRecord::
end
class TestAutosaveAssociationValidationsOnAHABTMAssociation < ActiveRecord::TestCase
self.use_transactional_fixtures = false unless supports_savepoints?
self.use_transactional_tests = false unless supports_savepoints?
def setup
super
@ -1548,7 +1548,7 @@ class TestAutosaveAssociationValidationsOnAHABTMAssociation < ActiveRecord::Test
end
class TestAutosaveAssociationValidationMethodsGeneration < ActiveRecord::TestCase
self.use_transactional_fixtures = false unless supports_savepoints?
self.use_transactional_tests = false unless supports_savepoints?
def setup
super

View File

@ -4,7 +4,7 @@ require 'support/schema_dumping_helper'
if ActiveRecord::Base.connection.supports_datetime_with_precision?
class DateTimePrecisionTest < ActiveRecord::TestCase
include SchemaDumpingHelper
self.use_transactional_fixtures = false
self.use_transactional_tests = false
class Foo < ActiveRecord::Base; end

View File

@ -90,14 +90,14 @@ end
if current_adapter?(:MysqlAdapter, :Mysql2Adapter)
class DefaultsTestWithoutTransactionalFixtures < ActiveRecord::TestCase
# ActiveRecord::Base#create! (and #save and other related methods) will
# open a new transaction. When in transactional fixtures mode, this will
# open a new transaction. When in transactional tests mode, this will
# cause Active Record to create a new savepoint. However, since MySQL doesn't
# support DDL transactions, creating a table will result in any created
# savepoints to be automatically released. This in turn causes the savepoint
# release code in AbstractAdapter#transaction to fail.
#
# We don't want that to happen, so we disable transactional fixtures here.
self.use_transactional_fixtures = false
# We don't want that to happen, so we disable transactional tests here.
self.use_transactional_tests = false
def using_strict(strict)
connection = ActiveRecord::Base.remove_connection

View File

@ -4,7 +4,7 @@ class TestRecord < ActiveRecord::Base
end
class TestDisconnectedAdapter < ActiveRecord::TestCase
self.use_transactional_fixtures = false
self.use_transactional_tests = false
def setup
@connection = ActiveRecord::Base.connection

View File

@ -28,7 +28,7 @@ require 'tempfile'
class FixturesTest < ActiveRecord::TestCase
self.use_instantiated_fixtures = true
self.use_transactional_fixtures = false
self.use_transactional_tests = false
# other_topics fixture should not be included here
fixtures :topics, :developers, :accounts, :tasks, :categories, :funny_jokes, :binaries, :traffic_lights
@ -419,7 +419,7 @@ end
class TransactionalFixturesTest < ActiveRecord::TestCase
self.use_instantiated_fixtures = true
self.use_transactional_fixtures = true
self.use_transactional_tests = true
fixtures :topics
@ -511,7 +511,7 @@ class CheckSetTableNameFixturesTest < ActiveRecord::TestCase
fixtures :funny_jokes
# Set to false to blow away fixtures cache and ensure our fixtures are loaded
# and thus takes into account our set_fixture_class
self.use_transactional_fixtures = false
self.use_transactional_tests = false
def test_table_method
assert_kind_of Joke, funny_jokes(:a_joke)
@ -523,7 +523,7 @@ class FixtureNameIsNotTableNameFixturesTest < ActiveRecord::TestCase
fixtures :items
# Set to false to blow away fixtures cache and ensure our fixtures are loaded
# and thus takes into account our set_fixture_class
self.use_transactional_fixtures = false
self.use_transactional_tests = false
def test_named_accessor
assert_kind_of Book, items(:dvd)
@ -535,7 +535,7 @@ class FixtureNameIsNotTableNameMultipleFixturesTest < ActiveRecord::TestCase
fixtures :items, :funny_jokes
# Set to false to blow away fixtures cache and ensure our fixtures are loaded
# and thus takes into account our set_fixture_class
self.use_transactional_fixtures = false
self.use_transactional_tests = false
def test_named_accessor_of_differently_named_fixture
assert_kind_of Book, items(:dvd)
@ -549,7 +549,7 @@ end
class CustomConnectionFixturesTest < ActiveRecord::TestCase
set_fixture_class :courses => Course
fixtures :courses
self.use_transactional_fixtures = false
self.use_transactional_tests = false
def test_leaky_destroy
assert_nothing_raised { courses(:ruby) }
@ -564,7 +564,7 @@ end
class TransactionalFixturesOnCustomConnectionTest < ActiveRecord::TestCase
set_fixture_class :courses => Course
fixtures :courses
self.use_transactional_fixtures = true
self.use_transactional_tests = true
def test_leaky_destroy
assert_nothing_raised { courses(:ruby) }
@ -580,7 +580,7 @@ class InvalidTableNameFixturesTest < ActiveRecord::TestCase
fixtures :funny_jokes
# Set to false to blow away fixtures cache and ensure our fixtures are loaded
# and thus takes into account our lack of set_fixture_class
self.use_transactional_fixtures = false
self.use_transactional_tests = false
def test_raises_error
assert_raise ActiveRecord::FixtureClassNotFound do
@ -594,7 +594,7 @@ class CheckEscapedYamlFixturesTest < ActiveRecord::TestCase
fixtures :funny_jokes
# Set to false to blow away fixtures cache and ensure our fixtures are loaded
# and thus takes into account our set_fixture_class
self.use_transactional_fixtures = false
self.use_transactional_tests = false
def test_proper_escaped_fixture
assert_equal "The \\n Aristocrats\nAte the candy\n", funny_jokes(:another_joke).name
@ -664,7 +664,7 @@ class LoadAllFixturesWithPathnameTest < ActiveRecord::TestCase
end
class FasterFixturesTest < ActiveRecord::TestCase
self.use_transactional_fixtures = false
self.use_transactional_tests = false
fixtures :categories, :authors
def load_extra_fixture(name)

View File

@ -143,7 +143,7 @@ class ActiveSupport::TestCase
self.fixture_path = FIXTURES_ROOT
self.use_instantiated_fixtures = false
self.use_transactional_fixtures = true
self.use_transactional_tests = true
def create_fixtures(*fixture_set_names, &block)
ActiveRecord::FixtureSet.create_fixtures(ActiveSupport::TestCase.fixture_path, fixture_set_names, fixture_class_names, &block)

View File

@ -1,7 +1,7 @@
require 'cases/helper'
class HotCompatibilityTest < ActiveRecord::TestCase
self.use_transactional_fixtures = false
self.use_transactional_tests = false
setup do
@klass = Class.new(ActiveRecord::Base) do

View File

@ -1,7 +1,7 @@
require "cases/helper"
class TestAdapterWithInvalidConnection < ActiveRecord::TestCase
self.use_transactional_fixtures = false
self.use_transactional_tests = false
class Bird < ActiveRecord::Base
end

View File

@ -285,10 +285,10 @@ end
class OptimisticLockingWithSchemaChangeTest < ActiveRecord::TestCase
fixtures :people, :legacy_things, :references
# need to disable transactional fixtures, because otherwise the sqlite3
# need to disable transactional tests, because otherwise the sqlite3
# adapter (at least) chokes when we try and change the schema in the middle
# of a test (see test_increment_counter_*).
self.use_transactional_fixtures = false
self.use_transactional_tests = false
{ :lock_version => Person, :custom_lock_version => LegacyThing }.each do |name, model|
define_method("test_increment_counter_updates_#{name}") do
@ -365,7 +365,7 @@ end
# (See exec vs. async_exec in the PostgreSQL adapter.)
unless in_memory_db?
class PessimisticLockingTest < ActiveRecord::TestCase
self.use_transactional_fixtures = false
self.use_transactional_tests = false
fixtures :people, :readers
def setup

View File

@ -426,7 +426,7 @@ module ActiveRecord
if ActiveRecord::Base.connection.supports_foreign_keys?
class ChangeSchemaWithDependentObjectsTest < ActiveRecord::TestCase
self.use_transactional_fixtures = false
self.use_transactional_tests = false
setup do
@connection = ActiveRecord::Base.connection

View File

@ -5,7 +5,7 @@ module ActiveRecord
class ColumnAttributesTest < ActiveRecord::TestCase
include ActiveRecord::Migration::TestHelper
self.use_transactional_fixtures = false
self.use_transactional_tests = false
def test_add_column_newline_default
string = "foo\nbar"

View File

@ -5,7 +5,7 @@ module ActiveRecord
class ColumnsTest < ActiveRecord::TestCase
include ActiveRecord::Migration::TestHelper
self.use_transactional_fixtures = false
self.use_transactional_tests = false
# FIXME: this is more of an integration test with AR::Base and the
# schema modifications. Maybe we should move this?

View File

@ -4,7 +4,7 @@ module ActiveRecord
class Migration
class LoggerTest < ActiveRecord::TestCase
# MySQL can't roll back ddl changes
self.use_transactional_fixtures = false
self.use_transactional_tests = false
Migration = Struct.new(:name, :version) do
def disable_ddl_transaction; false end

View File

@ -5,7 +5,7 @@ module ActiveRecord
class ReferencesStatementsTest < ActiveRecord::TestCase
include ActiveRecord::Migration::TestHelper
self.use_transactional_fixtures = false
self.use_transactional_tests = false
def setup
super

View File

@ -5,7 +5,7 @@ module ActiveRecord
class RenameTableTest < ActiveRecord::TestCase
include ActiveRecord::Migration::TestHelper
self.use_transactional_fixtures = false
self.use_transactional_tests = false
def setup
super

View File

@ -24,7 +24,7 @@ class Reminder < ActiveRecord::Base; end
class Thing < ActiveRecord::Base; end
class MigrationTest < ActiveRecord::TestCase
self.use_transactional_fixtures = false
self.use_transactional_tests = false
fixtures :people

View File

@ -2,7 +2,7 @@ require "cases/helper"
require "cases/migration/helper"
class MigratorTest < ActiveRecord::TestCase
self.use_transactional_fixtures = false
self.use_transactional_tests = false
# Use this class to sense if migrations have gone
# up or down.

View File

@ -4,7 +4,7 @@ require 'models/bird'
require 'models/course'
class MultipleDbTest < ActiveRecord::TestCase
self.use_transactional_fixtures = false
self.use_transactional_tests = false
def setup
@courses = create_fixtures("courses") { Course.retrieve_connection }

View File

@ -943,7 +943,7 @@ class TestNestedAttributesWithNonStandardPrimaryKeys < ActiveRecord::TestCase
end
class TestHasOneAutosaveAssociationWhichItselfHasAutosaveAssociations < ActiveRecord::TestCase
self.use_transactional_fixtures = false unless supports_savepoints?
self.use_transactional_tests = false unless supports_savepoints?
def setup
@pirate = Pirate.create!(:catchphrase => "My baby takes tha mornin' train!")
@ -983,7 +983,7 @@ class TestHasOneAutosaveAssociationWhichItselfHasAutosaveAssociations < ActiveRe
end
class TestHasManyAutosaveAssociationWhichItselfHasAutosaveAssociations < ActiveRecord::TestCase
self.use_transactional_fixtures = false unless supports_savepoints?
self.use_transactional_tests = false unless supports_savepoints?
def setup
@ship = Ship.create!(:name => "The good ship Dollypop")

View File

@ -898,7 +898,7 @@ class PersistenceTest < ActiveRecord::TestCase
end
class SaveTest < ActiveRecord::TestCase
self.use_transactional_fixtures = false
self.use_transactional_tests = false
def test_save_touch_false
widget = Class.new(ActiveRecord::Base) do

View File

@ -3,7 +3,7 @@ require "models/project"
require "timeout"
class PooledConnectionsTest < ActiveRecord::TestCase
self.use_transactional_fixtures = false
self.use_transactional_tests = false
def setup
@per_test_teardown = []

View File

@ -178,7 +178,7 @@ class PrimaryKeysTest < ActiveRecord::TestCase
end
class PrimaryKeyWithNoConnectionTest < ActiveRecord::TestCase
self.use_transactional_fixtures = false
self.use_transactional_tests = false
unless in_memory_db?
def test_set_primary_key_with_no_connection
@ -199,7 +199,7 @@ end
class PrimaryKeyAnyTypeTest < ActiveRecord::TestCase
include SchemaDumpingHelper
self.use_transactional_fixtures = false
self.use_transactional_tests = false
class Barcode < ActiveRecord::Base
end
@ -229,7 +229,7 @@ end
if current_adapter?(:MysqlAdapter, :Mysql2Adapter)
class PrimaryKeyWithAnsiQuotesTest < ActiveRecord::TestCase
self.use_transactional_fixtures = false
self.use_transactional_tests = false
def test_primary_key_method_with_ansi_quotes
con = ActiveRecord::Base.connection
@ -245,7 +245,7 @@ if current_adapter?(:PostgreSQLAdapter, :MysqlAdapter, :Mysql2Adapter)
class PrimaryKeyBigSerialTest < ActiveRecord::TestCase
include SchemaDumpingHelper
self.use_transactional_fixtures = false
self.use_transactional_tests = false
class Widget < ActiveRecord::Base
end

View File

@ -3,7 +3,7 @@ require 'support/schema_dumping_helper'
class SchemaDumperTest < ActiveRecord::TestCase
include SchemaDumpingHelper
self.use_transactional_fixtures = false
self.use_transactional_tests = false
setup do
ActiveRecord::SchemaMigration.create_table

View File

@ -0,0 +1,36 @@
require 'cases/helper'
class TestFixturesTest < ActiveRecord::TestCase
setup do
@klass = Class.new
@klass.send(:include, ActiveRecord::TestFixtures)
end
def test_deprecated_use_transactional_fixtures=
assert_deprecated 'use use_transactional_tests= instead' do
@klass.use_transactional_fixtures = true
end
end
def test_use_transactional_tests_prefers_use_transactional_fixtures
ActiveSupport::Deprecation.silence do
@klass.use_transactional_fixtures = false
end
assert_equal false, @klass.use_transactional_tests
end
def test_use_transactional_tests_defaults_to_true
ActiveSupport::Deprecation.silence do
@klass.use_transactional_fixtures = nil
end
assert_equal true, @klass.use_transactional_tests
end
def test_use_transactional_tests_can_be_overriden
@klass.use_transactional_tests = "foobar"
assert_equal "foobar", @klass.use_transactional_tests
end
end

View File

@ -4,7 +4,7 @@ require 'support/schema_dumping_helper'
if ActiveRecord::Base.connection.supports_datetime_with_precision?
class TimePrecisionTest < ActiveRecord::TestCase
include SchemaDumpingHelper
self.use_transactional_fixtures = false
self.use_transactional_tests = false
class Foo < ActiveRecord::Base; end

View File

@ -450,7 +450,7 @@ end
class TimestampsWithoutTransactionTest < ActiveRecord::TestCase
include DdlHelper
self.use_transactional_fixtures = false
self.use_transactional_tests = false
class TimestampAttributePost < ActiveRecord::Base
attr_accessor :created_at, :updated_at

View File

@ -367,7 +367,7 @@ class TransactionCallbacksTest < ActiveRecord::TestCase
end
class CallbacksOnMultipleActionsTest < ActiveRecord::TestCase
self.use_transactional_fixtures = false
self.use_transactional_tests = false
class TopicWithCallbacksOnMultipleActions < ActiveRecord::Base
self.table_name = :topics

View File

@ -2,7 +2,7 @@ require 'cases/helper'
unless ActiveRecord::Base.connection.supports_transaction_isolation?
class TransactionIsolationUnsupportedTest < ActiveRecord::TestCase
self.use_transactional_fixtures = false
self.use_transactional_tests = false
class Tag < ActiveRecord::Base
end
@ -17,7 +17,7 @@ end
if ActiveRecord::Base.connection.supports_transaction_isolation?
class TransactionIsolationTest < ActiveRecord::TestCase
self.use_transactional_fixtures = false
self.use_transactional_tests = false
class Tag < ActiveRecord::Base
self.table_name = 'tags'

View File

@ -9,7 +9,7 @@ require 'models/post'
require 'models/movie'
class TransactionTest < ActiveRecord::TestCase
self.use_transactional_fixtures = false
self.use_transactional_tests = false
fixtures :topics, :developers, :authors, :posts
def setup
@ -703,7 +703,7 @@ class TransactionTest < ActiveRecord::TestCase
end
class TransactionsWithTransactionalFixturesTest < ActiveRecord::TestCase
self.use_transactional_fixtures = true
self.use_transactional_tests = true
fixtures :topics
def test_automatic_savepoint_in_outer_transaction

View File

@ -4,7 +4,7 @@ class TestRecord < ActiveRecord::Base
end
class TestUnconnectedAdapter < ActiveRecord::TestCase
self.use_transactional_fixtures = false
self.use_transactional_tests = false
def setup
@underlying = ActiveRecord::Base.connection