Mercurial > pidgin
comparison libpurple/tests/test_jabber_digest_md5.c @ 31176:e743507b3767
jabber: Test harness for DIGEST-MD5 parsing function.
One of these tests fails, pending the next commit.
author | Paul Aurich <paul@darkrain42.org> |
---|---|
date | Wed, 02 Feb 2011 05:47:50 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
31175:928335d6461b | 31176:e743507b3767 |
---|---|
1 #include <string.h> | |
2 | |
3 #include "tests.h" | |
4 #include "../util.h" | |
5 #include "../protocols/jabber/auth_digest_md5.h" | |
6 #include "../protocols/jabber/jutil.h" | |
7 | |
8 START_TEST(test_parsing) | |
9 { | |
10 GHashTable *table; | |
11 | |
12 table = jabber_auth_digest_md5_parse("r=\"realm\",token= \" asdf\""); | |
13 fail_if(g_hash_table_lookup(table, "r") == NULL); | |
14 assert_string_equal("realm", g_hash_table_lookup(table, "r")); | |
15 fail_if(g_hash_table_lookup(table, "token") == NULL); | |
16 assert_string_equal("asdf", g_hash_table_lookup(table, "token")); | |
17 g_hash_table_destroy(table); | |
18 | |
19 table = jabber_auth_digest_md5_parse("r=\"a\", token= \" asdf\""); | |
20 fail_if(g_hash_table_lookup(table, "r") == NULL); | |
21 assert_string_equal("a", g_hash_table_lookup(table, "r")); | |
22 fail_if(g_hash_table_lookup(table, "token") == NULL); | |
23 assert_string_equal("asdf", g_hash_table_lookup(table, "token")); | |
24 g_hash_table_destroy(table); | |
25 | |
26 table = jabber_auth_digest_md5_parse("r=\"\", token= \" asdf\""); | |
27 fail_if(g_hash_table_lookup(table, "r") == NULL); | |
28 assert_string_equal("", g_hash_table_lookup(table, "r")); | |
29 fail_if(g_hash_table_lookup(table, "token") == NULL); | |
30 assert_string_equal("asdf", g_hash_table_lookup(table, "token")); | |
31 g_hash_table_destroy(table); | |
32 | |
33 table = jabber_auth_digest_md5_parse("realm=\"somerealm\",nonce=\"OA6MG9tEQGm2hh\",qop=\"auth\",charset=utf-8,algorithm=md5-sess"); | |
34 fail_if(g_hash_table_lookup(table, "realm") == NULL); | |
35 assert_string_equal("somerealm", g_hash_table_lookup(table, "realm")); | |
36 fail_if(g_hash_table_lookup(table, "nonce") == NULL); | |
37 assert_string_equal("OA6MG9tEQGm2hh", g_hash_table_lookup(table, "nonce")); | |
38 fail_if(g_hash_table_lookup(table, "qop") == NULL); | |
39 assert_string_equal("auth", g_hash_table_lookup(table, "qop")); | |
40 fail_if(g_hash_table_lookup(table, "charset") == NULL); | |
41 assert_string_equal("utf-8", g_hash_table_lookup(table, "charset")); | |
42 fail_if(g_hash_table_lookup(table, "algorithm") == NULL); | |
43 assert_string_equal("md5-sess", g_hash_table_lookup(table, "algorithm")); | |
44 | |
45 g_hash_table_destroy(table); | |
46 | |
47 } | |
48 END_TEST | |
49 | |
50 Suite * | |
51 jabber_digest_md5_suite(void) | |
52 { | |
53 Suite *s = suite_create("Jabber SASL DIGEST-MD5 functions"); | |
54 | |
55 TCase *tc = tcase_create("Parsing Functionality"); | |
56 tcase_add_test(tc, test_parsing); | |
57 suite_add_tcase(s, tc); | |
58 return s; | |
59 } |