aboutsummaryrefslogtreecommitdiffstats
path: root/tests/check_user.c
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2008-04-02 16:22:57 +0200
committerJelmer Vernooij <jelmer@samba.org>2008-04-02 16:22:57 +0200
commit85d7b857fb8ca8e3c03d4abb3368a0966760630c (patch)
treea16163e557bcae3af41bde7d2d771d64ca248a97 /tests/check_user.c
parent875ad4201402b1a8f80ba22a6cdcdb152c6e5510 (diff)
parentdd345753c1742905c9f81aa71d8b09109fbc5456 (diff)
Merge trunk.
Diffstat (limited to 'tests/check_user.c')
-rw-r--r--tests/check_user.c75
1 files changed, 75 insertions, 0 deletions
diff --git a/tests/check_user.c b/tests/check_user.c
new file mode 100644
index 00000000..79248049
--- /dev/null
+++ b/tests/check_user.c
@@ -0,0 +1,75 @@
+#include <stdlib.h>
+#include <glib.h>
+#include <gmodule.h>
+#include <check.h>
+#include <string.h>
+#include "bitlbee.h"
+#include "user.h"
+#include "testsuite.h"
+
+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
+
+Suite *user_suite (void)
+{
+ Suite *s = suite_create("User");
+ TCase *tc_core = tcase_create("Core");
+ suite_add_tcase (s, tc_core);
+ 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);
+ return s;
+}