static mock_server_t * _run_server (read_pref_test_type_t test_type, int32_t max_wire_version) { mock_server_t *server; server = mock_server_new (); mock_server_run (server); switch (test_type) { case READ_PREF_TEST_STANDALONE: mock_server_auto_ismaster (server, "{'ok': 1," " 'maxWireVersion': %d," " 'ismaster': true}", max_wire_version); break; case READ_PREF_TEST_MONGOS: mock_server_auto_ismaster (server, "{'ok': 1," " 'maxWireVersion': %d," " 'ismaster': true," " 'msg': 'isdbgrid'}", max_wire_version); break; case READ_PREF_TEST_PRIMARY: mock_server_auto_ismaster (server, "{'ok': 1," " 'maxWireVersion': %d," " 'ismaster': true," " 'setName': 'rs'," " 'hosts': ['%s']}", max_wire_version, mock_server_get_host_and_port (server)); break; case READ_PREF_TEST_SECONDARY: mock_server_auto_ismaster (server, "{'ok': 1," " 'maxWireVersion': %d," " 'ismaster': false," " 'secondary': true," " 'setName': 'rs'," " 'hosts': ['%s']}", max_wire_version, mock_server_get_host_and_port (server)); break; default: fprintf (stderr, "Invalid test_type: : %d\n", test_type); abort (); } return server; }
mock_server_t * mock_server_with_autoismaster (int32_t max_wire_version) { mock_server_t *server = mock_server_new (); char *ismaster = bson_strdup_printf ("{'ok': 1.0," " 'ismaster': true," " 'minWireVersion': 0," " 'maxWireVersion': %d}", max_wire_version); mock_server_auto_ismaster (server, ismaster); bson_free (ismaster); return server; }
static void auto_ismaster (mock_server_t *server, int32_t max_wire_version, int32_t max_message_size, int32_t max_bson_size, int32_t max_batch_size) { char *response = bson_strdup_printf ( "{'ismaster': true, " " 'maxWireVersion': %d," " 'maxBsonObjectSize': %d," " 'maxMessageSizeBytes': %d," " 'maxWriteBatchSize': %d }", max_wire_version, max_bson_size, max_message_size, max_batch_size); mock_server_auto_ismaster (server, response); bson_free (response); }