@@ -141,7 +141,6 @@ class DatabaseTasksCreateAllTest < ActiveRecord::TestCase
141
141
def setup
142
142
@configurations = { "development" => { "database" => "my-db" } }
143
143
144
- ActiveRecord ::Base . stubs ( :configurations ) . returns ( @configurations )
145
144
# To refrain from connecting to a newly created empty DB in sqlite3_mem tests
146
145
ActiveRecord ::Base . connection_handler . stubs ( :establish_connection )
147
146
@@ -156,52 +155,71 @@ def teardown
156
155
def test_ignores_configurations_without_databases
157
156
@configurations [ "development" ] . merge! ( "database" => nil )
158
157
159
- assert_not_called ( ActiveRecord ::Tasks ::DatabaseTasks , :create ) do
160
- ActiveRecord ::Tasks ::DatabaseTasks . create_all
158
+ with_stubbed_configurations do
159
+ assert_not_called ( ActiveRecord ::Tasks ::DatabaseTasks , :create ) do
160
+ ActiveRecord ::Tasks ::DatabaseTasks . create_all
161
+ end
161
162
end
162
163
end
163
164
164
165
def test_ignores_remote_databases
165
166
@configurations [ "development" ] . merge! ( "host" => "my.server.tld" )
166
- $stderr. stubs ( :puts )
167
167
168
- assert_not_called ( ActiveRecord ::Tasks ::DatabaseTasks , :create ) do
169
- ActiveRecord ::Tasks ::DatabaseTasks . create_all
168
+ with_stubbed_configurations do
169
+ assert_not_called ( ActiveRecord ::Tasks ::DatabaseTasks , :create ) do
170
+ ActiveRecord ::Tasks ::DatabaseTasks . create_all
171
+ end
170
172
end
171
173
end
172
174
173
175
def test_warning_for_remote_databases
174
176
@configurations [ "development" ] . merge! ( "host" => "my.server.tld" )
175
177
176
- ActiveRecord ::Tasks ::DatabaseTasks . create_all
178
+ with_stubbed_configurations do
179
+ ActiveRecord ::Tasks ::DatabaseTasks . create_all
177
180
178
- assert_match "This task only modifies local databases. my-db is on a remote host." ,
179
- $stderr. string
181
+ assert_match "This task only modifies local databases. my-db is on a remote host." ,
182
+ $stderr. string
183
+ end
180
184
end
181
185
182
186
def test_creates_configurations_with_local_ip
183
187
@configurations [ "development" ] . merge! ( "host" => "127.0.0.1" )
184
188
185
- assert_called ( ActiveRecord ::Tasks ::DatabaseTasks , :create ) do
186
- ActiveRecord ::Tasks ::DatabaseTasks . create_all
189
+ with_stubbed_configurations do
190
+ assert_called ( ActiveRecord ::Tasks ::DatabaseTasks , :create ) do
191
+ ActiveRecord ::Tasks ::DatabaseTasks . create_all
192
+ end
187
193
end
188
194
end
189
195
190
196
def test_creates_configurations_with_local_host
191
197
@configurations [ "development" ] . merge! ( "host" => "localhost" )
192
198
193
- assert_called ( ActiveRecord ::Tasks ::DatabaseTasks , :create ) do
194
- ActiveRecord ::Tasks ::DatabaseTasks . create_all
199
+ with_stubbed_configurations do
200
+ assert_called ( ActiveRecord ::Tasks ::DatabaseTasks , :create ) do
201
+ ActiveRecord ::Tasks ::DatabaseTasks . create_all
202
+ end
195
203
end
196
204
end
197
205
198
206
def test_creates_configurations_with_blank_hosts
199
207
@configurations [ "development" ] . merge! ( "host" => nil )
200
208
201
- assert_called ( ActiveRecord ::Tasks ::DatabaseTasks , :create ) do
202
- ActiveRecord ::Tasks ::DatabaseTasks . create_all
209
+ with_stubbed_configurations do
210
+ assert_called ( ActiveRecord ::Tasks ::DatabaseTasks , :create ) do
211
+ ActiveRecord ::Tasks ::DatabaseTasks . create_all
212
+ end
203
213
end
204
214
end
215
+
216
+ private
217
+
218
+ def with_stubbed_configurations
219
+ ActiveRecord ::Base . stub ( :configurations , @configurations ) do
220
+ yield
221
+ end
222
+ end
205
223
end
206
224
207
225
class DatabaseTasksCreateCurrentTest < ActiveRecord ::TestCase
0 commit comments