Files
cproof/tests/unittests/test_muc.c
Steffen Jaeckel 988d3663d1 Introduce tests/prof_cmocka.h
As 9f2abc75 accidentally got the ordering of some of the includes wrong,
I decided to propose my initial solution again.

Additional to that, I've opened a MR against CMocka to solve this on
their side, since I believe that the current way this is done is not
sustainable [0].

[0] https://gitlab.com/cmocka/cmocka/-/merge_requests/91

Fixes: 9f2abc75 ("Fix tests with gcc15 (uintptr_t)")
Signed-off-by: Steffen Jaeckel <s@jaeckel.eu>

CProof note: our new tests need to also be updated.
2025-09-10 14:11:03 +02:00

88 lines
1.5 KiB
C

#include "prof_cmocka.h"
#include <stdlib.h>
#include "xmpp/muc.h"
void prof_shutdown(void);
int
muc_before_test(void** state)
{
muc_init();
return 0;
}
int
muc_after_test(void** state)
{
prof_shutdown();
return 0;
}
void
test_muc_invites_add(void** state)
{
char* room = "room@conf.server";
muc_invites_add(room, NULL);
gboolean invite_exists = muc_invites_contain(room);
assert_true(invite_exists);
}
void
test_muc_remove_invite(void** state)
{
char* room = "room@conf.server";
muc_invites_add(room, NULL);
muc_invites_remove(room);
gboolean invite_exists = muc_invites_contain(room);
assert_false(invite_exists);
}
void
test_muc_invites_count_0(void** state)
{
int invite_count = muc_invites_count();
assert_true(invite_count == 0);
}
void
test_muc_invites_count_5(void** state)
{
muc_invites_add("room1@conf.server", NULL);
muc_invites_add("room2@conf.server", NULL);
muc_invites_add("room3@conf.server", NULL);
muc_invites_add("room4@conf.server", NULL);
muc_invites_add("room5@conf.server", NULL);
int invite_count = muc_invites_count();
assert_true(invite_count == 5);
}
void
test_muc_room_is_not_active(void** state)
{
char* room = "room@server.org";
gboolean room_is_active = muc_active(room);
assert_false(room_is_active);
}
void
test_muc_active(void** state)
{
char* room = "room@server.org";
char* nick = "bob";
muc_join(room, nick, NULL, FALSE);
gboolean room_is_active = muc_active(room);
assert_true(room_is_active);
}