@@ -158,6 +158,43 @@ mock_server_with_autoismaster (int32_t max_wire_version)
158
158
}
159
159
160
160
161
+ static bool
162
+ hangup (request_t * request ,
163
+ void * ctx )
164
+ {
165
+ mock_server_hangs_up (request );
166
+ request_destroy (request );
167
+ return true;
168
+ }
169
+
170
+
171
+ /*--------------------------------------------------------------------------
172
+ *
173
+ * mock_server_down --
174
+ *
175
+ * A new mock_server_t hangs up. Call mock_server_run to start it,
176
+ * then mock_server_get_uri to connect.
177
+ *
178
+ * Returns:
179
+ * A server you must mock_server_destroy.
180
+ *
181
+ * Side effects:
182
+ * None.
183
+ *
184
+ *--------------------------------------------------------------------------
185
+ */
186
+
187
+ mock_server_t *
188
+ mock_server_down (void )
189
+ {
190
+ mock_server_t * server = mock_server_new ();
191
+
192
+ mock_server_autoresponds (server , hangup , NULL , NULL );
193
+
194
+ return server ;
195
+ }
196
+
197
+
161
198
#ifdef MONGOC_ENABLE_SSL
162
199
163
200
/*--------------------------------------------------------------------------
@@ -416,13 +453,19 @@ auto_ismaster (request_t *request,
416
453
417
454
int
418
455
mock_server_auto_ismaster (mock_server_t * server ,
419
- const char * response_json )
456
+ const char * response_json ,
457
+ ...)
420
458
{
421
- char * copy = bson_strdup (response_json );
459
+ char * formatted_response_json ;
460
+ va_list args ;
461
+
462
+ va_start (args , response_json );
463
+ formatted_response_json = bson_strdupv_printf (response_json , args );
464
+ va_end (args );
422
465
423
466
return mock_server_autoresponds (server ,
424
467
auto_ismaster ,
425
- (void * ) copy ,
468
+ (void * ) formatted_response_json ,
426
469
bson_free );
427
470
}
428
471
0 commit comments