From: Tristan Van Berkom Date: Fri, 22 Feb 2013 09:31:59 +0000 (+0900) Subject: test-client-remove-contact.c: Enhanced test case X-Git-Tag: upstream/3.7.91~101 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=97a725e8546c2f5e0566312bc81d1c518bcd9eec;p=platform%2Fupstream%2Fevolution-data-server.git test-client-remove-contact.c: Enhanced test case Check that removing a removed contact reports the correct error code See bug: https://bugzilla.gnome.org/show_bug.cgi?id=694188 --- diff --git a/tests/libebook/client/test-client-remove-contact.c b/tests/libebook/client/test-client-remove-contact.c index bb314aa..7cfce66 100644 --- a/tests/libebook/client/test-client-remove-contact.c +++ b/tests/libebook/client/test-client-remove-contact.c @@ -1,11 +1,13 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +#include #include #include "client-test-utils.h" #include "e-test-server-utils.h" static ETestServerClosure book_closure = { E_TEST_SERVER_ADDRESS_BOOK, NULL, 0 }; +static ETestServerClosure direct_book_closure = { E_TEST_SERVER_DIRECT_ADDRESS_BOOK, NULL, 0 }; static void check_removed_contact (EBookClient *book_client, @@ -21,6 +23,14 @@ check_removed_contact (EBookClient *book_client, error->message, g_quark_to_string (error->domain), error->code); else g_clear_error (&error); + + if (e_book_client_remove_contact_by_uid_sync (book_client, uid, NULL, &error)) + g_error ("succeeded to remove the already removed contact"); + else if (!g_error_matches (error, E_BOOK_CLIENT_ERROR, E_BOOK_CLIENT_ERROR_CONTACT_NOT_FOUND)) + g_error ("Wrong error in remove contact sync on removed contact: %s (domain: %s, code: %d)", + error->message, g_quark_to_string (error->domain), error->code); + else + g_clear_error (&error); } static void @@ -105,6 +115,8 @@ main (gint argc, #endif g_test_init (&argc, &argv, NULL); + setlocale (LC_ALL, "en_US.UTF-8"); + g_test_add ( "/EBookClient/RemoveContact/Sync", ETestServerFixture, &book_closure, e_test_server_utils_setup, test_remove_contact_sync, e_test_server_utils_teardown); @@ -112,5 +124,12 @@ main (gint argc, "/EBookClient/RemoveContact/Async", ETestServerFixture, &book_closure, e_test_server_utils_setup, test_remove_contact_async, e_test_server_utils_teardown); + /* We run the direct access variants here because we're interested in testing the error + * code from e_book_client_get_contact(removed_contact_uid) */ + g_test_add ("/EBookClient/DirectAccess/RemoveContact/Sync", ETestServerFixture, &direct_book_closure, + e_test_server_utils_setup, test_remove_contact_sync, e_test_server_utils_teardown); + g_test_add ("/EBookClient/DirectAccess/RemoveContact/Async", ETestServerFixture, &direct_book_closure, + e_test_server_utils_setup, test_remove_contact_async, e_test_server_utils_teardown); + return e_test_server_utils_run (); }