diff options
Diffstat (limited to 'gdata/tests/contacts.c')
-rw-r--r-- | gdata/tests/contacts.c | 257 |
1 files changed, 195 insertions, 62 deletions
diff --git a/gdata/tests/contacts.c b/gdata/tests/contacts.c index 710851c5..9fc59cd2 100644 --- a/gdata/tests/contacts.c +++ b/gdata/tests/contacts.c @@ -24,6 +24,8 @@ #include "gdata.h" #include "common.h" +static GDataMockServer *mock_server = NULL; + typedef struct { GDataContactsContact *contact; } TempContactData; @@ -33,6 +35,8 @@ set_up_temp_contact (TempContactData *data, gconstpointer service) { GDataContactsContact *contact; + gdata_test_mock_server_start_trace (mock_server, "setup-temp-contact"); + /* Create a new temporary contact to use for a single test */ contact = gdata_contacts_contact_new (NULL); gdata_contacts_contact_set_nickname (contact, "Test Contact Esq."); @@ -43,6 +47,8 @@ set_up_temp_contact (TempContactData *data, gconstpointer service) gdata_test_compare_kind (GDATA_ENTRY (data->contact), "http://schemas.google.com/contact/2008#contact", NULL); g_object_unref (contact); + + gdata_mock_server_end_trace (mock_server); } static void @@ -50,6 +56,8 @@ tear_down_temp_contact (TempContactData *data, gconstpointer service) { GDataEntry *updated_contact; + gdata_test_mock_server_start_trace (mock_server, "teardown-temp-contact"); + /* Re-query for the contact to get any updated ETags */ updated_contact = gdata_service_query_single_entry (GDATA_SERVICE (service), gdata_contacts_service_get_primary_authorization_domain (), gdata_entry_get_id (GDATA_ENTRY (data->contact)), NULL, GDATA_TYPE_CONTACTS_CONTACT, @@ -63,6 +71,8 @@ tear_down_temp_contact (TempContactData *data, gconstpointer service) updated_contact, NULL, NULL) == TRUE); g_object_unref (updated_contact); + + gdata_mock_server_end_trace (mock_server); } GDATA_ASYNC_CLOSURE_FUNCTIONS (temp_contact, TempContactData); @@ -74,6 +84,8 @@ test_authentication (void) GDataClientLoginAuthorizer *authorizer; GError *error = NULL; + gdata_test_mock_server_start_trace (mock_server, "authentication"); + /* Create an authorizer */ authorizer = gdata_client_login_authorizer_new (CLIENT_ID, GDATA_TYPE_CONTACTS_SERVICE); @@ -93,12 +105,16 @@ test_authentication (void) gdata_contacts_service_get_primary_authorization_domain ()) == TRUE); g_object_unref (authorizer); + + gdata_mock_server_end_trace (mock_server); } GDATA_ASYNC_TEST_FUNCTIONS (authentication, void, G_STMT_START { GDataClientLoginAuthorizer *authorizer; + gdata_test_mock_server_start_trace (mock_server, "authentication-async"); + /* Create an authorizer */ authorizer = gdata_client_login_authorizer_new (CLIENT_ID, GDATA_TYPE_CONTACTS_SERVICE); @@ -133,6 +149,8 @@ G_STMT_START { g_assert (gdata_authorizer_is_authorized_for_domain (GDATA_AUTHORIZER (authorizer), gdata_contacts_service_get_primary_authorization_domain ()) == FALSE); } + + gdata_mock_server_end_trace (mock_server); } G_STMT_END); typedef struct { @@ -146,6 +164,8 @@ set_up_query_all_contacts (QueryAllContactsData *data, gconstpointer service) { GDataContactsContact *contact; + gdata_test_mock_server_start_trace (mock_server, "setup-query-all-contacts"); + /* Create new temporary contacts to use for the query all contacts tests */ contact = gdata_contacts_contact_new (NULL); gdata_contacts_contact_set_nickname (contact, "Test Contact 1"); @@ -161,11 +181,15 @@ set_up_query_all_contacts (QueryAllContactsData *data, gconstpointer service) gdata_contacts_contact_set_nickname (contact, "Test Contact 3"); data->contact3 = gdata_contacts_service_insert_contact (GDATA_CONTACTS_SERVICE (service), contact, NULL, NULL); g_object_unref (contact); + + gdata_mock_server_end_trace (mock_server); } static void tear_down_query_all_contacts (QueryAllContactsData *data, gconstpointer service) { + gdata_test_mock_server_start_trace (mock_server, "teardown-query-all-contacts"); + /* Delete the new contacts */ g_assert (gdata_service_delete_entry (GDATA_SERVICE (service), gdata_contacts_service_get_primary_authorization_domain (), GDATA_ENTRY (data->contact1), NULL, NULL) == TRUE); @@ -178,6 +202,8 @@ tear_down_query_all_contacts (QueryAllContactsData *data, gconstpointer service) g_assert (gdata_service_delete_entry (GDATA_SERVICE (service), gdata_contacts_service_get_primary_authorization_domain (), GDATA_ENTRY (data->contact3), NULL, NULL) == TRUE); g_object_unref (data->contact3); + + gdata_mock_server_end_trace (mock_server); } static void @@ -186,6 +212,8 @@ test_query_all_contacts (QueryAllContactsData *data, gconstpointer service) GDataFeed *feed; GError *error = NULL; + gdata_test_mock_server_start_trace (mock_server, "query-all-contacts"); + feed = gdata_contacts_service_query_contacts (GDATA_CONTACTS_SERVICE (service), NULL, NULL, NULL, NULL, &error); g_assert_no_error (error); g_assert (GDATA_IS_FEED (feed)); @@ -194,12 +222,16 @@ test_query_all_contacts (QueryAllContactsData *data, gconstpointer service) /* TODO: check entries, kinds and feed properties */ g_object_unref (feed); + + gdata_mock_server_end_trace (mock_server); } GDATA_ASYNC_CLOSURE_FUNCTIONS (query_all_contacts, QueryAllContactsData); GDATA_ASYNC_TEST_FUNCTIONS (query_all_contacts, QueryAllContactsData, G_STMT_START { + gdata_test_mock_server_start_trace (mock_server, "query-all-contacts-async"); + gdata_contacts_service_query_contacts_async (GDATA_CONTACTS_SERVICE (service), NULL, cancellable, NULL, NULL, NULL, async_ready_callback, async_data); } G_STMT_END, @@ -216,6 +248,8 @@ G_STMT_START { } else { g_assert (feed == NULL); } + + gdata_mock_server_end_trace (mock_server); } G_STMT_END); static void @@ -223,6 +257,8 @@ test_query_all_contacts_async_progress_closure (QueryAllContactsData *query_data { GDataAsyncProgressClosure *data = g_slice_new0 (GDataAsyncProgressClosure); + gdata_test_mock_server_start_trace (mock_server, "query-all-contacts-async-progress-closure"); + data->main_loop = g_main_loop_new (NULL, TRUE); gdata_contacts_service_query_contacts_async (GDATA_CONTACTS_SERVICE (service), NULL, NULL, @@ -237,6 +273,8 @@ test_query_all_contacts_async_progress_closure (QueryAllContactsData *query_data g_assert_cmpuint (data->async_ready_notify_count, ==, 1); g_slice_free (GDataAsyncProgressClosure, data); + + gdata_mock_server_end_trace (mock_server); } typedef struct { @@ -252,11 +290,15 @@ set_up_insert (InsertData *data, gconstpointer service) static void tear_down_insert (InsertData *data, gconstpointer service) { + gdata_test_mock_server_start_trace (mock_server, "teardown-insert"); + /* Delete the new contact */ g_assert (gdata_service_delete_entry (GDATA_SERVICE (service), gdata_contacts_service_get_primary_authorization_domain (), GDATA_ENTRY (data->new_contact), NULL, NULL) == TRUE); g_object_unref (data->new_contact); + + gdata_mock_server_end_trace (mock_server); } static void @@ -283,6 +325,8 @@ test_contact_insert (InsertData *data, gconstpointer service) gint64 edited, creation_time; GError *error = NULL; + gdata_test_mock_server_start_trace (mock_server, "contact-insert"); + contact = gdata_contacts_contact_new (NULL); g_get_current_time (¤t_time); @@ -527,6 +571,8 @@ test_contact_insert (InsertData *data, gconstpointer service) /* TODO: check entries and feed properties */ g_object_unref (contact); + + gdata_mock_server_end_trace (mock_server); } static void @@ -535,6 +581,8 @@ test_contact_update (TempContactData *data, gconstpointer service) GDataContactsContact *new_contact; GError *error = NULL; + gdata_test_mock_server_start_trace (mock_server, "contact-update"); + /* Update the contact's name and add an extended property */ gdata_entry_set_title (GDATA_ENTRY (data->contact), "John Wilson"); g_assert (gdata_contacts_contact_set_extended_property (data->contact, "contact-test", "value")); @@ -554,6 +602,8 @@ test_contact_update (TempContactData *data, gconstpointer service) g_assert (gdata_contacts_contact_is_deleted (new_contact) == FALSE); g_object_unref (new_contact); + + gdata_mock_server_end_trace (mock_server); } typedef struct { @@ -567,6 +617,8 @@ set_up_query_all_groups (QueryAllGroupsData *data, gconstpointer service) { GDataContactsGroup *group; + gdata_test_mock_server_start_trace (mock_server, "setup-query-all-groups"); + group = gdata_contacts_group_new (NULL); gdata_entry_set_title (GDATA_ENTRY (group), "Test Group 1"); data->group1 = gdata_contacts_service_insert_group (GDATA_CONTACTS_SERVICE (service), group, NULL, NULL); @@ -584,11 +636,15 @@ set_up_query_all_groups (QueryAllGroupsData *data, gconstpointer service) data->group3 = gdata_contacts_service_insert_group (GDATA_CONTACTS_SERVICE (service), group, NULL, NULL); g_assert (GDATA_IS_CONTACTS_GROUP (data->group3)); g_object_unref (group); + + gdata_mock_server_end_trace (mock_server); } static void tear_down_query_all_groups (QueryAllGroupsData *data, gconstpointer service) { + gdata_test_mock_server_start_trace (mock_server, "teardown-query-all-groups"); + g_assert (gdata_service_delete_entry (GDATA_SERVICE (service), gdata_contacts_service_get_primary_authorization_domain (), GDATA_ENTRY (data->group1), NULL, NULL) == TRUE); g_object_unref (data->group1); @@ -600,6 +656,8 @@ tear_down_query_all_groups (QueryAllGroupsData *data, gconstpointer service) g_assert (gdata_service_delete_entry (GDATA_SERVICE (service), gdata_contacts_service_get_primary_authorization_domain (), GDATA_ENTRY (data->group3), NULL, NULL) == TRUE); g_object_unref (data->group3); + + gdata_mock_server_end_trace (mock_server); } static void @@ -608,6 +666,8 @@ test_query_all_groups (QueryAllGroupsData *data, gconstpointer service) GDataFeed *feed; GError *error = NULL; + gdata_test_mock_server_start_trace (mock_server, "query-all-groups"); + feed = gdata_contacts_service_query_groups (GDATA_CONTACTS_SERVICE (service), NULL, NULL, NULL, NULL, &error); g_assert_no_error (error); g_assert (GDATA_IS_FEED (feed)); @@ -616,12 +676,16 @@ test_query_all_groups (QueryAllGroupsData *data, gconstpointer service) /* TODO: check entries, kinds and feed properties */ g_object_unref (feed); + + gdata_mock_server_end_trace (mock_server); } GDATA_ASYNC_CLOSURE_FUNCTIONS (query_all_groups, QueryAllGroupsData); GDATA_ASYNC_TEST_FUNCTIONS (query_all_groups, QueryAllGroupsData, G_STMT_START { + gdata_test_mock_server_start_trace (mock_server, "query-all-groups-async"); + gdata_contacts_service_query_groups_async (GDATA_CONTACTS_SERVICE (service), NULL, cancellable, NULL, NULL, NULL, async_ready_callback, async_data); } G_STMT_END, @@ -638,6 +702,8 @@ G_STMT_START { } else { g_assert (feed == NULL); } + + gdata_mock_server_end_trace (mock_server); } G_STMT_END); static void @@ -645,6 +711,8 @@ test_query_all_groups_async_progress_closure (QueryAllGroupsData *query_data, gc { GDataAsyncProgressClosure *data = g_slice_new0 (GDataAsyncProgressClosure); + gdata_test_mock_server_start_trace (mock_server, "query-all-groups-async-progress-closure"); + data->main_loop = g_main_loop_new (NULL, TRUE); gdata_contacts_service_query_groups_async (GDATA_CONTACTS_SERVICE (service), NULL, NULL, @@ -660,6 +728,8 @@ test_query_all_groups_async_progress_closure (QueryAllGroupsData *query_data, gc g_assert_cmpuint (data->async_ready_notify_count, ==, 1); g_slice_free (GDataAsyncProgressClosure, data); + + gdata_mock_server_end_trace (mock_server); } typedef struct { @@ -675,10 +745,14 @@ set_up_insert_group (InsertGroupData *data, gconstpointer service) static void tear_down_insert_group (InsertGroupData *data, gconstpointer service) { + gdata_test_mock_server_start_trace (mock_server, "teardown-insert-group"); + /* Delete the group, just to be tidy */ g_assert (gdata_service_delete_entry (GDATA_SERVICE (service), gdata_contacts_service_get_primary_authorization_domain (), GDATA_ENTRY (data->new_group), NULL, NULL) == TRUE); g_object_unref (data->new_group); + + gdata_mock_server_end_trace (mock_server); } static void @@ -689,6 +763,8 @@ test_group_insert (InsertGroupData *data, gconstpointer service) GHashTable *properties; GError *error = NULL; + gdata_test_mock_server_start_trace (mock_server, "group-insert"); + g_get_current_time (&time_val); group = gdata_contacts_group_new (NULL); @@ -719,6 +795,8 @@ test_group_insert (InsertGroupData *data, gconstpointer service) g_assert_cmpstr (gdata_contacts_group_get_extended_property (new_group, "foobar"), ==, "barfoo"); g_object_unref (group); + + gdata_mock_server_end_trace (mock_server); } GDATA_ASYNC_CLOSURE_FUNCTIONS (insert_group, InsertGroupData); @@ -727,6 +805,8 @@ GDATA_ASYNC_TEST_FUNCTIONS (group_insert, InsertGroupData, G_STMT_START { GDataContactsGroup *group; + gdata_test_mock_server_start_trace (mock_server, "group-insert-async"); + group = gdata_contacts_group_new (NULL); /* Check the kind is present and correct */ @@ -754,6 +834,8 @@ G_STMT_START { } else { g_assert (entry == NULL); } + + gdata_mock_server_end_trace (mock_server); } G_STMT_END); static void @@ -1906,6 +1988,8 @@ test_photo_add (TempContactData *data, gconstpointer service) gboolean retval; GError *error = NULL; + gdata_test_mock_server_start_trace (mock_server, "photo-add"); + /* Get the photo */ g_assert (g_file_get_contents (TEST_FILE_DIR "photo.jpg", (gchar**) &photo_data, &length, NULL) == TRUE); @@ -1916,6 +2000,8 @@ test_photo_add (TempContactData *data, gconstpointer service) g_clear_error (&error); g_free (photo_data); + + gdata_mock_server_end_trace (mock_server); } GDATA_ASYNC_TEST_FUNCTIONS (photo_add, TempContactData, @@ -1923,6 +2009,8 @@ G_STMT_START { guint8 *photo_data; gsize length; + gdata_test_mock_server_start_trace (mock_server, "photo-add-async"); + /* Get the photo */ g_assert (g_file_get_contents (TEST_FILE_DIR "photo.jpg", (gchar**) &photo_data, &length, NULL) == TRUE); @@ -1945,6 +2033,8 @@ G_STMT_START { g_assert (success == FALSE); g_assert (gdata_contacts_contact_get_photo_etag (contact) == NULL); } + + gdata_mock_server_end_trace (mock_server); } G_STMT_END); static void @@ -1990,6 +2080,8 @@ test_photo_get (TempContactData *data, gconstpointer service) gsize length = 0; GError *error = NULL; + gdata_test_mock_server_start_trace (mock_server, "photo-get"); + g_assert (gdata_contacts_contact_get_photo_etag (data->contact) != NULL); /* Get the photo from the network */ @@ -2004,10 +2096,14 @@ test_photo_get (TempContactData *data, gconstpointer service) g_free (content_type); g_free (photo_data); g_clear_error (&error); + + gdata_mock_server_end_trace (mock_server); } GDATA_ASYNC_TEST_FUNCTIONS (photo_get, TempContactData, G_STMT_START { + gdata_test_mock_server_start_trace (mock_server, "photo-get-async"); + g_assert (gdata_contacts_contact_get_photo_etag (data->contact) != NULL); /* Get the photo from the network asynchronously */ @@ -2036,6 +2132,8 @@ G_STMT_START { g_free (content_type); g_free (photo_data); + + gdata_mock_server_end_trace (mock_server); } G_STMT_END); static void @@ -2043,6 +2141,8 @@ test_photo_delete (TempContactData *data, gconstpointer service) { GError *error = NULL; + gdata_test_mock_server_start_trace (mock_server, "photo-delete"); + g_assert (gdata_contacts_contact_get_photo_etag (data->contact) != NULL); /* Remove the contact's photo */ @@ -2052,10 +2152,14 @@ test_photo_delete (TempContactData *data, gconstpointer service) g_assert (gdata_contacts_contact_get_photo_etag (data->contact) == NULL); g_clear_error (&error); + + gdata_mock_server_end_trace (mock_server); } GDATA_ASYNC_TEST_FUNCTIONS (photo_delete, TempContactData, G_STMT_START { + gdata_test_mock_server_start_trace (mock_server, "photo-delete-async"); + g_assert (gdata_contacts_contact_get_photo_etag (data->contact) != NULL); /* Delete it from the contact asynchronously */ @@ -2075,6 +2179,8 @@ G_STMT_START { g_assert (success == FALSE); g_assert (gdata_contacts_contact_get_photo_etag (contact) != NULL); } + + gdata_mock_server_end_trace (mock_server); } G_STMT_END); static void @@ -2088,6 +2194,8 @@ test_batch (gconstpointer service) guint op_id, op_id2, op_id3; GError *error = NULL, *entry_error = NULL; + gdata_test_mock_server_start_trace (mock_server, "batch"); + /* Here we hardcode the feed URI, but it should really be extracted from a contacts feed, as the GDATA_LINK_BATCH link */ operation = gdata_batchable_create_operation (GDATA_BATCHABLE (service), gdata_contacts_service_get_primary_authorization_domain (), "https://www.google.com/m8/feeds/contacts/default/full/batch"); @@ -2186,6 +2294,8 @@ test_batch (gconstpointer service) g_clear_error (&error); g_object_unref (operation); g_object_unref (inserted_entry3); + + gdata_mock_server_end_trace (mock_server); } typedef struct { @@ -2198,6 +2308,8 @@ setup_batch_async (BatchAsyncData *data, gconstpointer service) GDataContactsContact *contact; GError *error = NULL; + gdata_test_mock_server_start_trace (mock_server, "setup-batch-async"); + /* Insert a new contact which we can query asyncly */ contact = gdata_contacts_contact_new (NULL); gdata_entry_set_title (GDATA_ENTRY (contact), "Fooish Bar"); @@ -2208,6 +2320,8 @@ setup_batch_async (BatchAsyncData *data, gconstpointer service) g_clear_error (&error); g_object_unref (contact); + + gdata_mock_server_end_trace (mock_server); } static void @@ -2231,6 +2345,8 @@ test_batch_async (BatchAsyncData *data, gconstpointer service) GDataBatchOperation *operation; GMainLoop *main_loop; + gdata_test_mock_server_start_trace (mock_server, "batch-async"); + /* Run an async query operation on the contact */ operation = gdata_batchable_create_operation (GDATA_BATCHABLE (service), gdata_contacts_service_get_primary_authorization_domain (), "https://www.google.com/m8/feeds/contacts/default/full/batch"); @@ -2244,6 +2360,8 @@ test_batch_async (BatchAsyncData *data, gconstpointer service) g_main_loop_unref (main_loop); g_object_unref (operation); + + gdata_mock_server_end_trace (mock_server); } static void @@ -2269,6 +2387,8 @@ test_batch_async_cancellation (BatchAsyncData *data, gconstpointer service) GCancellable *cancellable; GError *error = NULL; + gdata_test_mock_server_start_trace (mock_server, "batch-async-cancellation"); + /* Run an async query operation on the contact */ operation = gdata_batchable_create_operation (GDATA_BATCHABLE (service), gdata_contacts_service_get_primary_authorization_domain (), "https://www.google.com/m8/feeds/contacts/default/full/batch"); @@ -2289,6 +2409,8 @@ test_batch_async_cancellation (BatchAsyncData *data, gconstpointer service) g_main_loop_unref (main_loop); g_object_unref (cancellable); g_object_unref (operation); + + gdata_mock_server_end_trace (mock_server); } static void @@ -2296,6 +2418,8 @@ teardown_batch_async (BatchAsyncData *data, gconstpointer service) { GError *error = NULL; + gdata_test_mock_server_start_trace (mock_server, "teardown-batch-async"); + /* Delete the contact */ g_assert (gdata_service_delete_entry (GDATA_SERVICE (service), gdata_contacts_service_get_primary_authorization_domain (), GDATA_ENTRY (data->new_contact), NULL, &error) == TRUE); @@ -2303,6 +2427,8 @@ teardown_batch_async (BatchAsyncData *data, gconstpointer service) g_clear_error (&error); g_object_unref (data->new_contact); + + gdata_mock_server_end_trace (mock_server); } static void @@ -2387,71 +2513,78 @@ main (int argc, char *argv[]) gint retval; GDataAuthorizer *authorizer = NULL; GDataService *service = NULL; + GFile *trace_directory; gdata_test_init (argc, argv); - if (gdata_test_internet () == TRUE) { - authorizer = GDATA_AUTHORIZER (gdata_client_login_authorizer_new (CLIENT_ID, GDATA_TYPE_CONTACTS_SERVICE)); - gdata_client_login_authorizer_authenticate (GDATA_CLIENT_LOGIN_AUTHORIZER (authorizer), USERNAME, PASSWORD, NULL, NULL); - - service = GDATA_SERVICE (gdata_contacts_service_new (authorizer)); - - g_test_add_func ("/contacts/authentication", test_authentication); - g_test_add ("/contacts/authentication/async", GDataAsyncTestData, NULL, gdata_set_up_async_test_data, test_authentication_async, - gdata_tear_down_async_test_data); - g_test_add ("/contacts/authentication/async/cancellation", GDataAsyncTestData, NULL, gdata_set_up_async_test_data, - test_authentication_async_cancellation, gdata_tear_down_async_test_data); - - g_test_add ("/contacts/contact/insert", InsertData, service, set_up_insert, test_contact_insert, tear_down_insert); - g_test_add ("/contacts/contact/update", TempContactData, service, set_up_temp_contact, test_contact_update, tear_down_temp_contact); - - g_test_add ("/contacts/query/all_contacts", QueryAllContactsData, service, set_up_query_all_contacts, test_query_all_contacts, - tear_down_query_all_contacts); - g_test_add ("/contacts/query/all_contacts/async", GDataAsyncTestData, service, set_up_query_all_contacts_async, - test_query_all_contacts_async, tear_down_query_all_contacts_async); - g_test_add ("/contacts/query/all_contacts/async/progress_closure", QueryAllContactsData, service, - set_up_query_all_contacts, test_query_all_contacts_async_progress_closure, tear_down_query_all_contacts); - g_test_add ("/contacts/query/all_contacts/cancellation", GDataAsyncTestData, service, set_up_query_all_contacts_async, - test_query_all_contacts_async_cancellation, tear_down_query_all_contacts_async); - - g_test_add_data_func ("/contacts/photo/has_photo", service, test_photo_has_photo); - g_test_add ("/contacts/photo/add", TempContactData, service, set_up_temp_contact, test_photo_add, tear_down_temp_contact); - g_test_add ("/contacts/photo/add/async", GDataAsyncTestData, service, set_up_temp_contact_async, test_photo_add_async, - tear_down_temp_contact_async); - g_test_add ("/contacts/photo/add/async/cancellation", GDataAsyncTestData, service, set_up_temp_contact_async, - test_photo_add_async_cancellation, tear_down_temp_contact_async); - g_test_add ("/contacts/photo/get", TempContactData, service, set_up_temp_contact_with_photo, test_photo_get, tear_down_temp_contact); - g_test_add ("/contacts/photo/get/async", GDataAsyncTestData, service, set_up_temp_contact_with_photo_async, test_photo_get_async, - tear_down_temp_contact_with_photo_async); - g_test_add ("/contacts/photo/get/async/cancellation", GDataAsyncTestData, service, set_up_temp_contact_with_photo_async, - test_photo_get_async_cancellation, tear_down_temp_contact_with_photo_async); - g_test_add ("/contacts/photo/delete", TempContactData, service, set_up_temp_contact_with_photo, test_photo_delete, - tear_down_temp_contact); - g_test_add ("/contacts/photo/delete/async", GDataAsyncTestData, service, set_up_temp_contact_with_photo_async, - test_photo_delete_async, tear_down_temp_contact_with_photo_async); - g_test_add ("/contacts/photo/delete/async/cancellation", GDataAsyncTestData, service, set_up_temp_contact_with_photo_async, - test_photo_delete_async_cancellation, tear_down_temp_contact_with_photo_async); - - g_test_add_data_func ("/contacts/batch", service, test_batch); - g_test_add ("/contacts/batch/async", BatchAsyncData, service, setup_batch_async, test_batch_async, teardown_batch_async); - g_test_add ("/contacts/batch/async/cancellation", BatchAsyncData, service, setup_batch_async, test_batch_async_cancellation, - teardown_batch_async); - - g_test_add ("/contacts/group/query", QueryAllGroupsData, service, set_up_query_all_groups, test_query_all_groups, - tear_down_query_all_groups); - g_test_add ("/contacts/group/query/async", GDataAsyncTestData, service, set_up_query_all_groups_async, - test_query_all_groups_async, tear_down_query_all_groups_async); - g_test_add ("/contacts/group/query/async/progress_closure", QueryAllGroupsData, service, set_up_query_all_groups, - test_query_all_groups_async_progress_closure, tear_down_query_all_groups); - g_test_add ("/contacts/group/query/async/cancellation", GDataAsyncTestData, service, set_up_query_all_groups_async, - test_query_all_groups_async_cancellation, tear_down_query_all_groups_async); - - g_test_add ("/contacts/group/insert", InsertGroupData, service, set_up_insert_group, test_group_insert, tear_down_insert_group); - g_test_add ("/contacts/group/insert/async", GDataAsyncTestData, service, set_up_insert_group_async, test_group_insert_async, - tear_down_insert_group_async); - g_test_add ("/contacts/group/insert/async/cancellation", GDataAsyncTestData, service, set_up_insert_group_async, - test_group_insert_async_cancellation, tear_down_insert_group_async); - } + mock_server = gdata_test_get_mock_server (); + trace_directory = g_file_new_for_path ("traces/contacts"); + gdata_mock_server_set_trace_directory (mock_server, trace_directory); + g_object_unref (trace_directory); + + gdata_test_mock_server_start_trace (mock_server, "global-authentication"); + authorizer = GDATA_AUTHORIZER (gdata_client_login_authorizer_new (CLIENT_ID, GDATA_TYPE_CONTACTS_SERVICE)); + gdata_client_login_authorizer_authenticate (GDATA_CLIENT_LOGIN_AUTHORIZER (authorizer), USERNAME, PASSWORD, NULL, NULL); + gdata_mock_server_end_trace (mock_server); + + service = GDATA_SERVICE (gdata_contacts_service_new (authorizer)); + + g_test_add_func ("/contacts/authentication", test_authentication); + g_test_add ("/contacts/authentication/async", GDataAsyncTestData, NULL, gdata_set_up_async_test_data, test_authentication_async, + gdata_tear_down_async_test_data); + g_test_add ("/contacts/authentication/async/cancellation", GDataAsyncTestData, NULL, gdata_set_up_async_test_data, + test_authentication_async_cancellation, gdata_tear_down_async_test_data); + + g_test_add ("/contacts/contact/insert", InsertData, service, set_up_insert, test_contact_insert, tear_down_insert); + g_test_add ("/contacts/contact/update", TempContactData, service, set_up_temp_contact, test_contact_update, tear_down_temp_contact); + + g_test_add ("/contacts/query/all_contacts", QueryAllContactsData, service, set_up_query_all_contacts, test_query_all_contacts, + tear_down_query_all_contacts); + g_test_add ("/contacts/query/all_contacts/async", GDataAsyncTestData, service, set_up_query_all_contacts_async, + test_query_all_contacts_async, tear_down_query_all_contacts_async); + g_test_add ("/contacts/query/all_contacts/async/progress_closure", QueryAllContactsData, service, + set_up_query_all_contacts, test_query_all_contacts_async_progress_closure, tear_down_query_all_contacts); + g_test_add ("/contacts/query/all_contacts/cancellation", GDataAsyncTestData, service, set_up_query_all_contacts_async, + test_query_all_contacts_async_cancellation, tear_down_query_all_contacts_async); + + g_test_add_data_func ("/contacts/photo/has_photo", service, test_photo_has_photo); + g_test_add ("/contacts/photo/add", TempContactData, service, set_up_temp_contact, test_photo_add, tear_down_temp_contact); + g_test_add ("/contacts/photo/add/async", GDataAsyncTestData, service, set_up_temp_contact_async, test_photo_add_async, + tear_down_temp_contact_async); + g_test_add ("/contacts/photo/add/async/cancellation", GDataAsyncTestData, service, set_up_temp_contact_async, + test_photo_add_async_cancellation, tear_down_temp_contact_async); + g_test_add ("/contacts/photo/get", TempContactData, service, set_up_temp_contact_with_photo, test_photo_get, tear_down_temp_contact); + g_test_add ("/contacts/photo/get/async", GDataAsyncTestData, service, set_up_temp_contact_with_photo_async, test_photo_get_async, + tear_down_temp_contact_with_photo_async); + g_test_add ("/contacts/photo/get/async/cancellation", GDataAsyncTestData, service, set_up_temp_contact_with_photo_async, + test_photo_get_async_cancellation, tear_down_temp_contact_with_photo_async); + + g_test_add ("/contacts/photo/delete", TempContactData, service, set_up_temp_contact_with_photo, test_photo_delete, + tear_down_temp_contact); + g_test_add ("/contacts/photo/delete/async", GDataAsyncTestData, service, set_up_temp_contact_with_photo_async, + test_photo_delete_async, tear_down_temp_contact_with_photo_async); + g_test_add ("/contacts/photo/delete/async/cancellation", GDataAsyncTestData, service, set_up_temp_contact_with_photo_async, + test_photo_delete_async_cancellation, tear_down_temp_contact_with_photo_async); + + g_test_add_data_func ("/contacts/batch", service, test_batch); + g_test_add ("/contacts/batch/async", BatchAsyncData, service, setup_batch_async, test_batch_async, teardown_batch_async); + g_test_add ("/contacts/batch/async/cancellation", BatchAsyncData, service, setup_batch_async, test_batch_async_cancellation, + teardown_batch_async); + + g_test_add ("/contacts/group/query", QueryAllGroupsData, service, set_up_query_all_groups, test_query_all_groups, + tear_down_query_all_groups); + g_test_add ("/contacts/group/query/async", GDataAsyncTestData, service, set_up_query_all_groups_async, + test_query_all_groups_async, tear_down_query_all_groups_async); + g_test_add ("/contacts/group/query/async/progress_closure", QueryAllGroupsData, service, set_up_query_all_groups, + test_query_all_groups_async_progress_closure, tear_down_query_all_groups); + g_test_add ("/contacts/group/query/async/cancellation", GDataAsyncTestData, service, set_up_query_all_groups_async, + test_query_all_groups_async_cancellation, tear_down_query_all_groups_async); + + g_test_add ("/contacts/group/insert", InsertGroupData, service, set_up_insert_group, test_group_insert, tear_down_insert_group); + g_test_add ("/contacts/group/insert/async", GDataAsyncTestData, service, set_up_insert_group_async, test_group_insert_async, + tear_down_insert_group_async); + g_test_add ("/contacts/group/insert/async/cancellation", GDataAsyncTestData, service, set_up_insert_group_async, + test_group_insert_async_cancellation, tear_down_insert_group_async); g_test_add_func ("/contacts/contact/properties", test_contact_properties); g_test_add_func ("/contacts/contact/escaping", test_contact_escaping); |