提交 5c8da16a 编写于 作者: A Aaron Patterson

decoupling more tests from AR::Base

上级 ee4e2424
......@@ -17,6 +17,51 @@ def teardown
ActiveRecord::Base.primary_key_prefix_type = nil
end
def test_remove_nonexistent_index
skip "not supported on openbase" if current_adapter?(:OpenBaseAdapter)
connection.create_table table_name do |t|
t.column :foo, :string, :limit => 100
t.column :bar, :string, :limit => 100
end
# we do this by name, so OpenBase is a wash as noted above
assert_raise(ArgumentError) { connection.remove_index(table_name, "no_such_index") }
end
def test_add_index_length_limit
connection.create_table table_name do |t|
t.column :foo, :string, :limit => 100
t.column :bar, :string, :limit => 100
end
good_index_name = 'x' * connection.index_name_length
too_long_index_name = good_index_name + 'x'
assert_raises(ArgumentError) {
connection.add_index(table_name, "foo", :name => too_long_index_name)
}
refute connection.index_name_exists?(table_name, too_long_index_name, false)
connection.add_index(table_name, "foo", :name => good_index_name)
assert connection.index_name_exists?(table_name, good_index_name, false)
connection.remove_index(table_name, :name => good_index_name)
end
def test_index_symbol_names
connection.create_table :testings do |t|
t.column :foo, :string, :limit => 100
t.column :bar, :string, :limit => 100
end
connection.add_index table_name, :foo, :name => :symbol_index_name
assert connection.index_exists?(table_name, :foo, :name => :symbol_index_name)
connection.remove_index table_name, :name => :symbol_index_name
refute connection.index_exists?(table_name, :foo, :name => :symbol_index_name)
end
def test_index_exists
connection.create_table :testings do |t|
t.column :foo, :string, :limit => 100
......
......@@ -62,30 +62,6 @@ def teardown
Person.reset_column_information
end
def test_index_symbol_names
assert_nothing_raised { Person.connection.add_index :people, :primary_contact_id, :name => :symbol_index_name }
assert Person.connection.index_exists?(:people, :primary_contact_id, :name => :symbol_index_name)
assert_nothing_raised { Person.connection.remove_index :people, :name => :symbol_index_name }
assert !Person.connection.index_exists?(:people, :primary_contact_id, :name => :symbol_index_name)
end
def test_add_index_length_limit
good_index_name = 'x' * Person.connection.index_name_length
too_long_index_name = good_index_name + 'x'
assert_raise(ArgumentError) { Person.connection.add_index("people", "first_name", :name => too_long_index_name) }
assert !Person.connection.index_name_exists?("people", too_long_index_name, false)
assert_nothing_raised { Person.connection.add_index("people", "first_name", :name => good_index_name) }
assert Person.connection.index_name_exists?("people", good_index_name, false)
Person.connection.remove_index("people", :name => good_index_name)
end
def test_remove_nonexistent_index
skip "not supported on openbase" if current_adapter?(:OpenBaseAdapter)
# we do this by name, so OpenBase is a wash as noted above
assert_raise(ArgumentError) { Person.connection.remove_index("people", "no_such_index") }
end
def test_rename_index
skip "not supported on openbase" if current_adapter?(:OpenBaseAdapter)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册