static void test_replica_set_ssl_client(void) { mongoc_collection_t *collection; mongoc_client_t *client; ha_replica_set_t *replica_set; bson_error_t error; int r; bson_t b; mongoc_ssl_opt_t sopt = { 0 }; sopt.pem_file = gTestPEMFileLocalhost; sopt.ca_file = gTestCAFile; replica_set = ha_replica_set_new("repltest1"); ha_replica_set_ssl(replica_set, &sopt); ha_replica_set_add_replica(replica_set, "replica1"); ha_replica_set_add_replica(replica_set, "replica2"); ha_replica_set_add_replica(replica_set, "replica3"); ha_replica_set_start(replica_set); ha_replica_set_wait_for_healthy(replica_set); client = ha_replica_set_create_client(replica_set); assert(client); collection = mongoc_client_get_collection(client, "test", "test"); assert(collection); bson_init(&b); bson_append_utf8(&b, "hello", -1, "world", -1); r = mongoc_collection_insert(collection, MONGOC_INSERT_NONE, &b, NULL, &error); assert(r); mongoc_collection_destroy(collection); mongoc_client_destroy(client); bson_destroy(&b); ha_replica_set_shutdown(replica_set); ha_replica_set_destroy(replica_set); }
void ha_sharded_cluster_shutdown (ha_sharded_cluster_t *cluster) { ha_node_t *iter; int i; bson_return_if_fail(cluster); for (i = 0; i < 12; i++) { if (cluster->replicas[i]) { ha_replica_set_shutdown(cluster->replicas[i]); } } for (iter = cluster->configs; iter; iter = iter->next) { ha_node_kill(iter); } for (iter = cluster->routers; iter; iter = iter->next) { ha_node_kill(iter); } }
int main (int argc, /* IN */ char *argv[]) /* IN */ { mongoc_init(); replica_set = ha_replica_set_new("repltest1"); r1 = ha_replica_set_add_replica(replica_set, "replica1"); r2 = ha_replica_set_add_replica(replica_set, "replica2"); r3 = ha_replica_set_add_replica(replica_set, "replica3"); a1 = ha_replica_set_add_arbiter(replica_set, "arbiter1"); ha_replica_set_start(replica_set); ha_replica_set_wait_for_healthy(replica_set); use_pool = false; run_test("/ReplicaSet/single/lose_node_during_cursor", test1); ha_replica_set_wait_for_healthy(replica_set); use_pool = true; run_test("/ReplicaSet/pool/lose_node_during_cursor", test1); ha_replica_set_wait_for_healthy(replica_set); use_pool = false; run_test("/ReplicaSet/single/cursor_with_2_of_3_replicas_down", test2); ha_replica_set_wait_for_healthy(replica_set); use_pool = true; run_test("/ReplicaSet/pool/cursor_with_2_of_3_replicas_down", test2); ha_replica_set_wait_for_healthy(replica_set); ha_replica_set_shutdown(replica_set); ha_replica_set_destroy(replica_set); mongoc_cleanup(); return 0; }