aboutsummaryrefslogtreecommitdiffstats
path: root/tests/check_user.c
blob: 6fa15203effa095808e8d6f19eeba2bac57e0933 (plain)
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
#include <stdlib.h>
#include <glib.h>
#include <gmodule.h>
#include <check.h>
#include <string.h>
#include "bitlbee.h"
#include "testsuite.h"

#if 0
START_TEST(test_user_add)
irc_t * irc = torture_irc();
user_t *user;
user = user_add(irc, "foo");
fail_if(user == NULL);
fail_if(strcmp(user->nick, "foo") != 0);
fail_unless(user_find(irc, "foo") == user);
END_TEST

START_TEST(test_user_add_exists)
irc_t * irc = torture_irc();
user_t *user;
user = user_add(irc, "foo");
fail_if(user == NULL);
user = user_add(irc, "foo");
fail_unless(user == NULL);
END_TEST

START_TEST(test_user_add_invalid)
irc_t * irc = torture_irc();
user_t *user;
user = user_add(irc, ":foo");
fail_unless(user == NULL);
END_TEST

START_TEST(test_user_del_invalid)
irc_t * irc = torture_irc();
fail_unless(user_del(irc, ":foo") == 0);
END_TEST

START_TEST(test_user_del)
irc_t * irc = torture_irc();
user_t *user;
user = user_add(irc, "foo");
fail_unless(user_del(irc, "foo") == 1);
fail_unless(user_find(irc, "foo") == NULL);
END_TEST

START_TEST(test_user_del_nonexistant)
irc_t * irc = torture_irc();
fail_unless(user_del(irc, "foo") == 0);
END_TEST

START_TEST(test_user_rename)
irc_t * irc = torture_irc();
user_t *user;
user = user_add(irc, "foo");
user_rename(irc, "foo", "bar");
fail_unless(user_find(irc, "foo") == NULL);
fail_if(user_find(irc, "bar") == NULL);
END_TEST
#endif
Suite *user_suite(void)
{
	Suite *s = suite_create("User");
	TCase *tc_core = tcase_create("Core");

	suite_add_tcase(s, tc_core);
#if 0
	tcase_add_test(tc_core, test_user_add);
	tcase_add_test(tc_core, test_user_add_invalid);
	tcase_add_test(tc_core, test_user_add_exists);
	tcase_add_test(tc_core, test_user_del_invalid);
	tcase_add_test(tc_core, test_user_del_nonexistant);
	tcase_add_test(tc_core, test_user_del);
	tcase_add_test(tc_core, test_user_rename);
#endif
	return s;
}
n">jabber_set_me(ic, jid); imcb_log(ic, "Setting Hipchat JID to %s", jid); if (sep) { *sep = '/'; } /* Hipchat's auth doesn't expect a restart here */ jd->flags &= ~JFLAG_STREAM_RESTART; if (!jabber_get_roster(ic) || !jabber_iq_disco_server(ic) || !jabber_get_hipchat_profile(ic)) { return XT_ABORT; } return XT_HANDLED; } int jabber_get_hipchat_profile(struct im_connection *ic) { struct jabber_data *jd = ic->proto_data; struct xt_node *node; int st; imcb_log(ic, "Fetching hipchat profile for %s", jd->me); node = xt_new_node("query", NULL, NULL); xt_add_attr(node, "xmlns", XMLNS_HIPCHAT_PROFILE); node = jabber_make_packet("iq", "get", jd->me, node); jabber_cache_add(ic, node, jabber_parse_hipchat_profile); st = jabber_write_packet(ic, node); return st; } xt_status jabber_parse_hipchat_profile(struct im_connection *ic, struct xt_node *node, struct xt_node *orig) { struct xt_node *query, *name_node; if (!(query = xt_find_node(node->children, "query"))) { imcb_log(ic, "Warning: Received NULL profile packet"); return XT_ABORT; } name_node = xt_find_node(query->children, "name"); if (!name_node) { imcb_log(ic, "Warning: Can't find real name in profile. Joining groupchats will not be possible."); return XT_ABORT; } set_setstr(&ic->acc->set, "display_name", name_node->text); return XT_HANDLED; }