@@ -64,88 +64,9 @@ def test_remove_index_when_name_and_wrong_column_name_specified_positional_argum
6464
6565 end
6666
67- class AdapterForeignKeyTest < ActiveRecord ::TestCase
68- self . use_transactional_tests = false
69-
70- fixtures :fk_test_has_pk
71-
72- def before_setup
73- super
74- conn = ActiveRecord ::Base . lease_connection
75-
76- conn . drop_table :fk_test_has_fk , if_exists : true
77- conn . drop_table :fk_test_has_pk , if_exists : true
78-
79- conn . create_table :fk_test_has_pk , primary_key : "pk_id" , force : :cascade do |t |
80- end
81-
82- conn . create_table :fk_test_has_fk , force : true do |t |
83- t . references :fk , null : false
84- t . foreign_key :fk_test_has_pk , column : "fk_id" , name : "fk_name" , primary_key : "pk_id"
85- end
86-
87- conn . execute "INSERT INTO fk_test_has_pk (pk_id) VALUES (1)"
88- end
89-
90- def setup
91- super
92- @connection = ActiveRecord ::Base . lease_connection
93- end
94-
95- def test_foreign_key_violations_are_translated_to_specific_exception_with_validate_false
96- klass_has_fk = Class . new ( ActiveRecord ::Base ) do
97- self . table_name = "fk_test_has_fk"
98- end
99-
100- error = assert_raises ( ActiveRecord ::InvalidForeignKey ) do
101- has_fk = klass_has_fk . new
102- has_fk . fk_id = 1231231231
103- has_fk . save ( validate : false )
104- end
105-
106- assert_not_nil error . cause
107- end
108-
109- # This is override to prevent an intermittent error
110- # Table fk_test_has_pk has constrain droped and not created back
111- def test_foreign_key_violations_on_insert_are_translated_to_specific_exception
112- error = assert_raises ( ActiveRecord ::InvalidForeignKey ) do
113- insert_into_fk_test_has_fk
114- end
115-
116- assert_not_nil error . cause
117- end
118-
119- # This is override to prevent an intermittent error
120- # Table fk_test_has_pk has constrain droped and not created back
121- def test_foreign_key_violations_on_delete_are_translated_to_specific_exception
122- insert_into_fk_test_has_fk fk_id : 1
123-
124- error = assert_raises ( ActiveRecord ::InvalidForeignKey ) do
125- @connection . execute "DELETE FROM fk_test_has_pk WHERE pk_id = 1"
126- end
127-
128- assert_not_nil error . cause
129- end
130-
131- private
132-
133- def insert_into_fk_test_has_fk ( fk_id : 0 )
134- # Oracle adapter uses prefetched primary key values from sequence and passes them to connection adapter insert method
135- if @connection . prefetch_primary_key?
136- id_value = @connection . next_sequence_value ( @connection . default_sequence_name ( "fk_test_has_fk" , "id" ) )
137- @connection . execute "INSERT INTO fk_test_has_fk (id,fk_id) VALUES (#{ id_value } ,#{ fk_id } )"
138- else
139- @connection . execute "INSERT INTO fk_test_has_fk (fk_id) VALUES (#{ fk_id } )"
140- end
141- end
142- end
143-
14467 class AdapterTestWithoutTransaction < ActiveRecord ::TestCase
14568 self . use_transactional_tests = false
14669
147- fixtures :posts , :authors , :author_addresses
148-
14970 class Widget < ActiveRecord ::Base
15071 self . primary_key = "widgetid"
15172 end
@@ -156,7 +77,6 @@ def setup
15677
15778 teardown do
15879 @connection . drop_table :widgets , if_exists : true
159- @connection . exec_query ( "DROP SEQUENCE IF EXISTS widget_seq" )
16080 @connection . exec_query ( "DROP SEQUENCE IF EXISTS widgets_seq" )
16181 end
16282
@@ -174,46 +94,5 @@ def test_reset_empty_table_with_custom_pk_sequence
17494 " )
17595 assert_equal 1 , Widget . create ( name : "weather" ) . id
17696 end
177-
178- def test_truncate_tables
179- assert_operator Post . count , :> , 0
180- assert_operator Author . count , :> , 0
181- assert_operator AuthorAddress . count , :> , 0
182-
183- @connection . truncate_tables ( "author_addresses" , "authors" , "posts" )
184-
185- assert_equal 0 , Post . count
186- assert_equal 0 , Author . count
187- assert_equal 0 , AuthorAddress . count
188- ensure
189- reset_fixtures ( "author_addresses" , "authors" , "posts" )
190- end
191-
192- def test_truncate_tables_with_query_cache
193- @connection . enable_query_cache!
194-
195- assert_operator Post . count , :> , 0
196- assert_operator Author . count , :> , 0
197- assert_operator AuthorAddress . count , :> , 0
198-
199- @connection . truncate_tables ( "author_addresses" , "authors" , "posts" )
200-
201- assert_equal 0 , Post . count
202- assert_equal 0 , Author . count
203- assert_equal 0 , AuthorAddress . count
204- ensure
205- reset_fixtures ( "author_addresses" , "authors" , "posts" )
206- @connection . disable_query_cache!
207- end
208-
209- private
210-
211- def reset_fixtures ( *fixture_names )
212- ActiveRecord ::FixtureSet . reset_cache
213-
214- fixture_names . each do |fixture_name |
215- ActiveRecord ::FixtureSet . create_fixtures ( FIXTURES_ROOT , fixture_name )
216- end
217- end
21897 end
21998end
0 commit comments