1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
4 #include <libecal/libecal.h>
5 #include <libical/ical.h>
7 #include "e-test-server-utils.h"
9 static ETestServerClosure cal_closure =
10 { E_TEST_SERVER_CALENDAR, NULL, E_CAL_CLIENT_SOURCE_TYPE_EVENTS };
12 static icalcomponent *
15 icalcomponent *icalcomp;
16 struct icaltimetype now;
18 now = icaltime_current_time_with_zone (icaltimezone_get_utc_timezone ());
19 icalcomp = icalcomponent_new (ICAL_VEVENT_COMPONENT);
20 icalcomponent_set_summary (icalcomp, "To-be-received event summary");
21 icalcomponent_set_dtstart (icalcomp, now);
22 icalcomponent_set_dtend (icalcomp, icaltime_from_timet (icaltime_as_timet (now) + 60 * 60 * 60, 0));
28 test_receive_objects_sync (ETestServerFixture *fixture,
29 gconstpointer user_data)
31 ECalClient *cal_client;
33 icalcomponent *icalcomp;
35 cal_client = E_TEST_SERVER_UTILS_SERVICE (fixture, ECalClient);
37 icalcomp = create_object ();
38 g_assert (icalcomp != NULL);
40 if (!e_cal_client_receive_objects_sync (cal_client, icalcomp, NULL, &error))
41 g_error ("receive objects sync: %s", error->message);
43 icalcomponent_free (icalcomp);
47 async_receive_result_ready (GObject *source_object,
51 ECalClient *cal_client;
53 GMainLoop *loop = (GMainLoop *) user_data;
55 cal_client = E_CAL_CLIENT (source_object);
57 if (!e_cal_client_receive_objects_finish (cal_client, result, &error))
58 g_error ("receive objects finish: %s", error->message);
60 g_main_loop_quit (loop);
64 test_receive_objects_async (ETestServerFixture *fixture,
65 gconstpointer user_data)
67 ECalClient *cal_client;
68 icalcomponent *icalcomp;
70 cal_client = E_TEST_SERVER_UTILS_SERVICE (fixture, ECalClient);
72 icalcomp = create_object ();
73 g_assert (icalcomp != NULL);
75 e_cal_client_receive_objects (cal_client, icalcomp, NULL, async_receive_result_ready, fixture->loop);
76 icalcomponent_free (icalcomp);
78 g_main_loop_run (fixture->loop);
85 #if !GLIB_CHECK_VERSION (2, 35, 1)
88 g_test_init (&argc, &argv, NULL);
89 g_test_bug_base ("http://bugzilla.gnome.org/");
92 "/ECalClient/ReceiveObjects/Sync",
95 e_test_server_utils_setup,
96 test_receive_objects_sync,
97 e_test_server_utils_teardown);
99 "/ECalClient/ReceiveObjects/Async",
102 e_test_server_utils_setup,
103 test_receive_objects_async,
104 e_test_server_utils_teardown);
106 return e_test_server_utils_run ();