@@ -157,62 +157,88 @@ private function getSchemaSynchronizerMock()
157
157
/**
158
158
* @dataProvider buildConfigurationProvider
159
159
*/
160
- public function testBuildConfiguration ($ dsn , $ options , $ expectedManager , $ expectedTableName , $ expectedRedeliverTimeout , $ expectedQueue )
160
+ public function testBuildConfiguration ($ dsn , $ options , $ expectedConnection , $ expectedTableName , $ expectedRedeliverTimeout , $ expectedQueue, $ expectedAutoSetup )
161
161
{
162
162
$ config = Connection::buildConfiguration ($ dsn , $ options );
163
- $ this ->assertEquals ($ expectedManager , $ config ['connection ' ]);
163
+ $ this ->assertEquals ($ expectedConnection , $ config ['connection ' ]);
164
164
$ this ->assertEquals ($ expectedTableName , $ config ['table_name ' ]);
165
165
$ this ->assertEquals ($ expectedRedeliverTimeout , $ config ['redeliver_timeout ' ]);
166
166
$ this ->assertEquals ($ expectedQueue , $ config ['queue_name ' ]);
167
+ $ this ->assertEquals ($ expectedAutoSetup , $ config ['auto_setup ' ]);
167
168
}
168
169
169
170
public function buildConfigurationProvider ()
170
171
{
171
- return [
172
- [
173
- 'dsn ' => 'doctrine://default ' ,
174
- 'options ' => [],
175
- 'expectedManager ' => 'default ' ,
176
- 'expectedTableName ' => 'messenger_messages ' ,
177
- 'expectedRedeliverTimeout ' => 3600 ,
178
- 'expectedQueue ' => 'default ' ,
179
- ],
180
- // test options from options array
181
- [
182
- 'dsn ' => 'doctrine://default ' ,
183
- 'options ' => [
184
- 'table_name ' => 'name_from_options ' ,
185
- 'redeliver_timeout ' => 1800 ,
186
- 'queue_name ' => 'important ' ,
187
- ],
188
- 'expectedManager ' => 'default ' ,
189
- 'expectedTableName ' => 'name_from_options ' ,
190
- 'expectedRedeliverTimeout ' => 1800 ,
191
- 'expectedQueue ' => 'important ' ,
192
- ],
193
- // tests options from dsn
194
- [
195
- 'dsn ' => 'doctrine://default?table_name=name_from_dsn&redeliver_timeout=1200&queue_name=normal ' ,
196
- 'options ' => [],
197
- 'expectedManager ' => 'default ' ,
198
- 'expectedTableName ' => 'name_from_dsn ' ,
199
- 'expectedRedeliverTimeout ' => 1200 ,
200
- 'expectedQueue ' => 'normal ' ,
172
+ yield 'no options ' => [
173
+ 'dsn ' => 'doctrine://default ' ,
174
+ 'options ' => [],
175
+ 'expectedConnection ' => 'default ' ,
176
+ 'expectedTableName ' => 'messenger_messages ' ,
177
+ 'expectedRedeliverTimeout ' => 3600 ,
178
+ 'expectedQueue ' => 'default ' ,
179
+ 'expectedAutoSetup ' => true ,
180
+ ];
181
+
182
+ yield 'test options array ' => [
183
+ 'dsn ' => 'doctrine://default ' ,
184
+ 'options ' => [
185
+ 'table_name ' => 'name_from_options ' ,
186
+ 'redeliver_timeout ' => 1800 ,
187
+ 'queue_name ' => 'important ' ,
188
+ 'auto_setup ' => false ,
201
189
],
202
- // test options from options array wins over options from dsn
203
- [
204
- 'dsn ' => 'doctrine://default?table_name=name_from_dsn&redeliver_timeout=1200&queue_name=normal ' ,
205
- 'options ' => [
206
- 'table_name ' => 'name_from_options ' ,
207
- 'redeliver_timeout ' => 1800 ,
208
- 'queue_name ' => 'important ' ,
209
- ],
210
- 'expectedManager ' => 'default ' ,
211
- 'expectedTableName ' => 'name_from_options ' ,
212
- 'expectedRedeliverTimeout ' => 1800 ,
213
- 'expectedQueue ' => 'important ' ,
190
+ 'expectedConnection ' => 'default ' ,
191
+ 'expectedTableName ' => 'name_from_options ' ,
192
+ 'expectedRedeliverTimeout ' => 1800 ,
193
+ 'expectedQueue ' => 'important ' ,
194
+ 'expectedAutoSetup ' => false ,
195
+ ];
196
+
197
+ yield 'options from dsn ' => [
198
+ 'dsn ' => 'doctrine://default?table_name=name_from_dsn&redeliver_timeout=1200&queue_name=normal&auto_setup=false ' ,
199
+ 'options ' => [],
200
+ 'expectedConnection ' => 'default ' ,
201
+ 'expectedTableName ' => 'name_from_dsn ' ,
202
+ 'expectedRedeliverTimeout ' => 1200 ,
203
+ 'expectedQueue ' => 'normal ' ,
204
+ 'expectedAutoSetup ' => false ,
205
+ ];
206
+
207
+ yield 'options from options array wins over options from dsn ' => [
208
+ 'dsn ' => 'doctrine://default?table_name=name_from_dsn&redeliver_timeout=1200&queue_name=normal&auto_setup=true ' ,
209
+ 'options ' => [
210
+ 'table_name ' => 'name_from_options ' ,
211
+ 'redeliver_timeout ' => 1800 ,
212
+ 'queue_name ' => 'important ' ,
213
+ 'auto_setup ' => false ,
214
214
],
215
+ 'expectedConnection ' => 'default ' ,
216
+ 'expectedTableName ' => 'name_from_options ' ,
217
+ 'expectedRedeliverTimeout ' => 1800 ,
218
+ 'expectedQueue ' => 'important ' ,
219
+ 'expectedAutoSetup ' => false ,
220
+ ];
221
+
222
+ yield 'options from dsn with falsey boolean ' => [
223
+ 'dsn ' => 'doctrine://default?auto_setup=0 ' ,
224
+ 'options ' => [],
225
+ 'expectedConnection ' => 'default ' ,
226
+ 'expectedTableName ' => 'messenger_messages ' ,
227
+ 'expectedRedeliverTimeout ' => 3600 ,
228
+ 'expectedQueue ' => 'default ' ,
229
+ 'expectedAutoSetup ' => false ,
215
230
];
231
+
232
+ yield 'options from dsn with thruthy boolean ' => [
233
+ 'dsn ' => 'doctrine://default?auto_setup=1 ' ,
234
+ 'options ' => [],
235
+ 'expectedConnection ' => 'default ' ,
236
+ 'expectedTableName ' => 'messenger_messages ' ,
237
+ 'expectedRedeliverTimeout ' => 3600 ,
238
+ 'expectedQueue ' => 'default ' ,
239
+ 'expectedAutoSetup ' => true ,
240
+ ];
241
+
216
242
}
217
243
218
244
/**
0 commit comments