static void test1 (void) { MongoCollection *col; MongoDatabase *db; MongoBson *bson = NULL; gboolean success = FALSE; gConnection = mongo_connection_new(); db = mongo_connection_get_database(gConnection, "dbtest1"); g_assert(db); col = mongo_database_get_collection(db, "dbcollection1"); g_assert(col); bson = mongo_bson_new(); mongo_collection_insert_async(col, &bson, 1, MONGO_INSERT_NONE, NULL, test1_insert_cb, &success); mongo_bson_unref(bson); g_main_loop_run(gMainLoop); g_assert_cmpint(success, ==, TRUE); }
static void test2 (void) { MongoCollection *col; MongoDatabase *db; MongoBson *doc; gboolean success = FALSE; gConnection = mongo_connection_new(); db = mongo_connection_get_database(gConnection, "dbtest1"); g_assert(db); col = mongo_database_get_collection(db, "dbcollection1"); g_assert(col); doc = mongo_bson_new(); mongo_bson_append_int(doc, "test-key", 54321); mongo_collection_insert_async(col, &doc, 1, MONGO_INSERT_NONE, NULL, test2_insert_cb, &success); mongo_bson_unref(doc); g_main_loop_run(gMainLoop); g_assert_cmpint(success, ==, TRUE); }
static void test1_connect_cb (GObject *object, GAsyncResult *result, gpointer user_data) { MongoCollection *col; MongoDatabase *db; MongoBson *query = NULL; gboolean ret; GError *error = NULL; ret = mongo_client_connect_finish(gClient, result, &error); g_assert_no_error(error); g_assert(ret); db = mongo_client_get_database(gClient, "dbtest1"); g_assert(db); col = mongo_database_get_collection(db, "dbcollection1"); g_assert(col); mongo_collection_count_async(col, query, NULL, test1_count_cb, user_data); }
static void test3 (void) { MongoCollection *col; MongoDatabase *db; MongoBson *query = NULL; gboolean success = FALSE; gConnection = mongo_connection_new(); db = mongo_connection_get_database(gConnection, "dbtest1"); g_assert(db); col = mongo_database_get_collection(db, "dbcollection1"); g_assert(col); mongo_collection_find_one_async(col, query, NULL, MONGO_QUERY_NONE, NULL, test3_find_one_cb, &success); g_main_loop_run(gMainLoop); g_assert_cmpint(success, ==, TRUE); }