libpurple/tests/test_jabber_digest_md5.c

Sun, 28 Apr 2013 02:26:38 +0200

author
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
date
Sun, 28 Apr 2013 02:26:38 +0200
branch
soc.2008.masterpassword
changeset 34159
c47b85d03439
parent 31394
dd9b4ed08d0a
permissions
-rw-r--r--

keyring.c refactoring - order up function implementations

31394
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
1 #include <string.h>
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
2
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
3 #include "tests.h"
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
4 #include "../util.h"
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
5 #include "../protocols/jabber/auth_digest_md5.h"
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
6 #include "../protocols/jabber/jutil.h"
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
7
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
8 START_TEST(test_parsing)
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
9 {
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
10 GHashTable *table;
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
11
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
12 table = jabber_auth_digest_md5_parse("r=\"realm\",token= \" asdf\"");
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
13 fail_if(g_hash_table_lookup(table, "r") == NULL);
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
14 assert_string_equal("realm", g_hash_table_lookup(table, "r"));
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
15 fail_if(g_hash_table_lookup(table, "token") == NULL);
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
16 assert_string_equal("asdf", g_hash_table_lookup(table, "token"));
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
17 g_hash_table_destroy(table);
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
18
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
19 table = jabber_auth_digest_md5_parse("r=\"a\", token= \" asdf\"");
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
20 fail_if(g_hash_table_lookup(table, "r") == NULL);
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
21 assert_string_equal("a", g_hash_table_lookup(table, "r"));
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
22 fail_if(g_hash_table_lookup(table, "token") == NULL);
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
23 assert_string_equal("asdf", g_hash_table_lookup(table, "token"));
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
24 g_hash_table_destroy(table);
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
25
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
26 table = jabber_auth_digest_md5_parse("r=\"\", token= \" asdf\"");
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
27 fail_if(g_hash_table_lookup(table, "r") == NULL);
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
28 assert_string_equal("", g_hash_table_lookup(table, "r"));
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
29 fail_if(g_hash_table_lookup(table, "token") == NULL);
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
30 assert_string_equal("asdf", g_hash_table_lookup(table, "token"));
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
31 g_hash_table_destroy(table);
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
32
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
33 table = jabber_auth_digest_md5_parse("realm=\"somerealm\",nonce=\"OA6MG9tEQGm2hh\",qop=\"auth\",charset=utf-8,algorithm=md5-sess");
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
34 fail_if(g_hash_table_lookup(table, "realm") == NULL);
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
35 assert_string_equal("somerealm", g_hash_table_lookup(table, "realm"));
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
36 fail_if(g_hash_table_lookup(table, "nonce") == NULL);
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
37 assert_string_equal("OA6MG9tEQGm2hh", g_hash_table_lookup(table, "nonce"));
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
38 fail_if(g_hash_table_lookup(table, "qop") == NULL);
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
39 assert_string_equal("auth", g_hash_table_lookup(table, "qop"));
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
40 fail_if(g_hash_table_lookup(table, "charset") == NULL);
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
41 assert_string_equal("utf-8", g_hash_table_lookup(table, "charset"));
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
42 fail_if(g_hash_table_lookup(table, "algorithm") == NULL);
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
43 assert_string_equal("md5-sess", g_hash_table_lookup(table, "algorithm"));
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
44
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
45 g_hash_table_destroy(table);
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
46
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
47 }
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
48 END_TEST
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
49
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
50 Suite *
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
51 jabber_digest_md5_suite(void)
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
52 {
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
53 Suite *s = suite_create("Jabber SASL DIGEST-MD5 functions");
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
54
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
55 TCase *tc = tcase_create("Parsing Functionality");
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
56 tcase_add_test(tc, test_parsing);
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
57 suite_add_tcase(s, tc);
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
58 return s;
dd9b4ed08d0a jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <darkrain42@pidgin.im>
parents:
diff changeset
59 }

mercurial