static gboolean test_session_create(gpointer data) { struct test_fix *fix = data; struct test_session *session; DBusMessage *msg; int err; util_session_create(fix, 1); session = fix->session; session->notify_path = "/foo"; session->notify = test_session_create_notify; err = session_notify_register(session, session->notify_path); g_assert(err == 0); msg = manager_create_session(session->connection, session->info, session->notify_path); g_assert(msg != NULL); g_assert(dbus_message_get_type(msg) != DBUS_MESSAGE_TYPE_ERROR); dbus_message_unref(msg); return FALSE; }
static gboolean test_session_create_already_exists(gpointer data) { struct test_fix *fix = data; struct test_session *session0, *session1; DBusMessage *msg; util_session_create(fix, 2); session0 = &fix->session[0]; session1 = &fix->session[1]; session0->notify_path = g_strdup("/foo"); session1->notify_path = session0->notify_path; util_session_init(session0); msg = manager_create_session(session1->connection, session1->info, session1->notify_path); g_assert(msg == NULL); util_session_cleanup(session0); util_idle_call(fix, util_quit_loop, util_session_destroy); return FALSE; }
static void test_session_create_no_notify(struct test_fix *fix) { DBusMessage *msg; util_session_create(fix, 1); msg = manager_create_session(fix->session->connection, fix->session->info, "/foo"); g_assert(msg); g_assert(dbus_message_get_type(msg) != DBUS_MESSAGE_TYPE_ERROR); dbus_message_unref(msg); util_idle_call(fix, util_quit_loop, util_session_destroy); }
static gboolean test_session_create_no_notify(gpointer data) { struct test_fix *fix = data; DBusMessage *msg; util_session_create(fix, 1); msg = manager_create_session(fix->session->connection, fix->session->info, "/foo"); g_assert(msg != NULL); g_assert(dbus_message_get_type(msg) != DBUS_MESSAGE_TYPE_ERROR); dbus_message_unref(msg); util_idle_call(fix, util_quit_loop, util_session_destroy); return FALSE; }
static void test_session_create_dup_notification(struct test_fix *fix) { struct test_session *session0, *session1; DBusMessage *msg; util_session_create(fix, 2); session0 = &fix->session[0]; session1 = &fix->session[1]; session0->notify_path = g_strdup("/foo"); session1->notify_path = session0->notify_path; util_session_init(session0); msg = manager_create_session(session1->connection, session1->info, session1->notify_path); g_assert(msg); util_session_cleanup(session0); util_idle_call(fix, util_quit_loop, util_session_destroy); }