1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
#include "test.h"
#include "mongo.h"
#include "libmongo-private.h"
void
test_mongo_sync_cmd_exists_net (void)
{
mongo_sync_connection *conn;
gchar *cc, *ns;
bson *r;
bson_cursor *c;
const gchar *str = NULL;
gboolean capped = FALSE;
begin_network_tests (4);
conn = mongo_sync_connect (config.primary_host, config.primary_port, FALSE);
cc = g_strconcat (config.coll, ".capped", NULL);
mongo_sync_cmd_drop (conn, config.db, config.coll);
mongo_sync_cmd_drop (conn, config.db, cc);
mongo_sync_cmd_create (conn, config.db, config.coll,
MONGO_COLLECTION_DEFAULTS);
mongo_sync_cmd_create (conn, config.db, cc,
MONGO_COLLECTION_CAPPED,
(gint64) 64 * 1024 * 10);
r = mongo_sync_cmd_exists (conn, config.db, config.coll);
c = bson_find (r, "name");
bson_cursor_get_string (c, &str);
is (str, config.ns,
"mongo_sync_cmd_exists() works on normal collections");
bson_cursor_find (c, "capped");
bson_cursor_get_boolean (c, &capped);
cmp_ok (capped, "==", FALSE,
"mongo_sync_cmd_exists() returned correct info");
bson_cursor_free (c);
bson_free (r);
r = mongo_sync_cmd_exists (conn, config.db, cc);
ns = g_strconcat (config.db, ".", cc, NULL);
c = bson_find (r, "name");
bson_cursor_get_string (c, &str);
is (str, ns,
"mongo_sync_cmd_exists() works on capped collections");
bson_cursor_find (c, "capped");
bson_cursor_get_boolean (c, &capped);
cmp_ok (capped, "==", FALSE,
"mongo_sync_cmd_exists() returned correct info");
bson_cursor_free (c);
g_free (ns);
bson_free (r);
mongo_sync_cmd_drop (conn, config.db, cc);
g_free (cc);
mongo_sync_disconnect (conn);
end_network_tests ();
}
void
test_mongo_sync_cmd_exists (void)
{
mongo_sync_connection *c;
c = test_make_fake_sync_conn (-1, FALSE);
ok (mongo_sync_cmd_exists (NULL, "test", "db") == NULL,
"mongo_sync_cmd_exists() fails with a NULL connection");
ok (mongo_sync_cmd_exists (c, NULL, "db") == NULL,
"mongo_sync_cmd_exists() fails with a NULL db");
ok (mongo_sync_cmd_exists (c, "test", NULL) == NULL,
"mongo_sync_cmd_exists() fails with a NULL collection");
mongo_sync_disconnect (c);
test_mongo_sync_cmd_exists_net ();
}
RUN_TEST (7, mongo_sync_cmd_exists);
|