File: parse-test.c

package info (click to toggle)
php-mongo 1.5.7-1
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 11,040 kB
  • ctags: 2,802
  • sloc: ansic: 17,632; xml: 2,195; php: 1,630; pascal: 330; makefile: 52; sh: 39
file content (75 lines) | stat: -rw-r--r-- 2,872 bytes parent folder | download | duplicates (2)
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
#include "manager.h"
#include "parse.h"
#include "utils.h"
#include <stdlib.h>
#include <stdio.h>

void parse_test(char *spec)
{
	int i;
	mongo_con_manager *manager;
	mongo_servers *servers;
	char *error_message;

	manager = mongo_init();
	manager->log_function = mongo_log_printf;

	servers = mongo_parse_init();
	if (mongo_parse_server_spec(manager, servers, spec, (char **) &error_message)) {
		printf("error_message: %s\n", error_message);
		free(error_message);
	}

	for (i = 0; i < servers->count; i++) {
		char *tmp_hash;

		tmp_hash = mongo_server_create_hash(servers->server[i]);
		printf("HASH: %s\n", tmp_hash);
		free(tmp_hash);
	}
	mongo_servers_dump(manager, servers);

	mongo_servers_dtor(servers);
	mongo_deinit(manager);
}

int main(void)
{
	parse_test("host1:123");
	parse_test("host1:123,host2:123");
	parse_test("mongodb://host1:123,host2:123");
	parse_test("mongodb://derick:test@host1:123");
	parse_test("mongodb://derick:test@host1:123,host2:123");
	parse_test("mongodb://derick:test@host1:123,host2:123/database");
	parse_test("mongodb://derick:test@host1:123,host2/database");
	parse_test("mongodb://derick:test@host1,host2:123/database");
	parse_test("mongodb://host1,host2:123/database");
	/* Specifying options */
	parse_test("mongodb://derick:test@host1,host2:123/database?readPreference=secondary_preferred");
	parse_test("mongodb://derick:test@host1,host2:123/?readPreference=secondary");
	parse_test("mongodb://derick:test@host1,host2:123?timeout=4");
	parse_test("mongodb://derick:test@host1,host2:123/?timeout=4");
	parse_test("mongodb://derick:test@host1,host2:123/?readPreference");
	parse_test("mongodb://derick:test@host1,host2:123/?readPreference=primary;timeout=baz");
	parse_test("mongodb://derick:test@host1,host2:123/?readPreference=primary&timeout=baz");
	parse_test("mongodb://derick:test@host1,host2:123/?readPreference=primary;timeout");
	parse_test("mongodb://derick:test@host1,host2:123/?readPreference;timeout=baz");
	/* Specific options */
	parse_test("mongodb://host1/?replicaSet=testset");
	parse_test("mongodb://foo:bar@primary:14000/database?replicaSet=seta");
	parse_test("mongodb://foo:bar@primary:14000/database/?replicaSet=seta");
	/* Unix Domain Sockets */
	parse_test("mongodb:///tmp/mongodb-27017.sock");
	parse_test("mongodb:///tmp/mongodb-27017.sock/");
	parse_test("mongodb:///tmp/mongodb-27017.sock/?timeout=4");
	parse_test("mongodb:///tmp/mongodb-27017.sock/database");
	parse_test("mongodb:///tmp/mongodb-27017.sock/database?timeout=4");
	parse_test("mongodb://derick:test@/tmp/mongodb-27017.sock");
	parse_test("mongodb://derick:test@/tmp/mongodb-27017.sock/");
	parse_test("mongodb://derick:test@/tmp/mongodb-27017.sock/?timeout=4");
	parse_test("mongodb://derick:test@/tmp/mongodb-27017.sock/database");
	parse_test("mongodb://derick:test@/tmp/mongodb-27017.sock/database?timeout=4");


	return 0;
}