File: test-connection-string-split.c

package info (click to toggle)
libgda4 4.0.12-1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 34,928 kB
  • ctags: 18,543
  • sloc: ansic: 187,884; sh: 10,317; xml: 7,903; yacc: 3,454; makefile: 1,974; java: 1,253; python: 896; sql: 321
file content (54 lines) | stat: -rw-r--r-- 1,596 bytes parent folder | download
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
#include <libgda/libgda.h>
#include <string.h>
int
main (int argc, char *argv[])
{
	g_type_init();
	gda_init ();

	gchar *str[] = {
	"PostgreSQL://meme:pass@DB_NAME=mydb;HOST=server",
	"PostgreSQL://meme@DB_NAME=mydb;HOST=server;PASSWORD=pass",
	"PostgreSQL://meme@DB_NAME=mydb;PASSWORD=pass;HOST=server",
	"PostgreSQL://meme@PASSWORD=pass;DB_NAME=mydb;HOST=server",
	"PostgreSQL://DB_NAME=mydb;HOST=server;USERNAME=meme;PASSWORD=pass",
	"PostgreSQL://DB_NAME=mydb;HOST=server;PASSWORD=pass;USERNAME=meme",
        "PostgreSQL://DB_NAME=mydb;USERNAME=meme;PASSWORD=pass;HOST=server",
        "PostgreSQL://PASSWORD=pass;USERNAME=meme;DB_NAME=mydb;HOST=server",
        "PostgreSQL://:pass@USERNAME=meme;DB_NAME=mydb;HOST=server",
        "PostgreSQL://:pass@DB_NAME=mydb;HOST=server;USERNAME=meme",
	NULL};

	gint i;
	for (i = 0; ;i++) {
		if (!str[i])
			break;
		gchar *cnc_params, *prov, *user, *pass;
		gda_connection_string_split (str[i], &cnc_params, &prov, &user, &pass);
		g_print ("[%s]\n  cnc_params=[%s]\n  prov      =[%s]\n  user      =[%s]\n  pass      =[%s]\n",
			str[i], cnc_params, prov, user, pass);
		if (strcmp (cnc_params, "DB_NAME=mydb;HOST=server")) {
			g_print ("Wrong cnc_params result\n");
			return 1;
		}
		if (strcmp (prov, "PostgreSQL")) {
			g_print ("Wrong provider result\n");
			return 1;
		}
		if (strcmp (user, "meme")) {
			g_print ("Wrong username result\n");
			return 1;
		}
		if (strcmp (pass, "pass")) {
			g_print ("Wrong password result\n");
			return 1;
		}
		g_free (cnc_params);
		g_free (prov);
		g_free (user);
		g_free (pass);
	}

	return 0;
}