[evolution-data-server/openismus-work-master: 7/9] Added test case to test e_book_client_get_revision()
- From: Tristan Van Berkom <tvb src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-data-server/openismus-work-master: 7/9] Added test case to test e_book_client_get_revision()
- Date: Sun, 24 Jul 2011 18:52:29 +0000 (UTC)
commit 3e191f29a9470e69e432fdcbbef0e19382ede129
Author: Tristan Van Berkom <tristan van berkom gmail com>
Date: Fri Jul 22 19:59:12 2011 -0400
Added test case to test e_book_client_get_revision()
Added a tests/libebook/client/test-client-get-revision.c to test
that the local backend supports revisions and the revisions indeed
change after modifying the addressbook in any way.
tests/libebook/client/Makefile.am | 3 +
tests/libebook/client/test-client-get-revision.c | 80 ++++++++++++++++++++++
2 files changed, 83 insertions(+), 0 deletions(-)
---
diff --git a/tests/libebook/client/Makefile.am b/tests/libebook/client/Makefile.am
index aae256d..944cd54 100644
--- a/tests/libebook/client/Makefile.am
+++ b/tests/libebook/client/Makefile.am
@@ -24,6 +24,7 @@ TESTS = \
test-client-refresh \
test-client-add-contact \
test-client-get-contact \
+ test-client-get-revision \
test-client-get-view \
test-client-get-view-directory \
test-client-suppress-notifications \
@@ -68,6 +69,8 @@ test_client_examine_LDADD=$(TEST_LIBS)
test_client_examine_CPPFLAGS=$(TEST_CPPFLAGS)
test_client_get_contact_LDADD=$(TEST_LIBS)
test_client_get_contact_CPPFLAGS=$(TEST_CPPFLAGS)
+test_client_get_revision_LDADD=$(TEST_LIBS)
+test_client_get_revision_CPPFLAGS=$(TEST_CPPFLAGS)
test_client_get_view_LDADD=$(TEST_LIBS)
test_client_get_view_CPPFLAGS=$(TEST_CPPFLAGS)
test_client_get_view_directory_LDADD=$(TEST_LIBS)
diff --git a/tests/libebook/client/test-client-get-revision.c b/tests/libebook/client/test-client-get-revision.c
new file mode 100644
index 0000000..63e75c3
--- /dev/null
+++ b/tests/libebook/client/test-client-get-revision.c
@@ -0,0 +1,80 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+
+#include <stdlib.h>
+#include <string.h>
+#include <libebook/e-book.h>
+
+#include "client-test-utils.h"
+
+#define CYCLES 10
+
+static void
+get_revision_compare_cycle (EBookClient *client)
+{
+ gchar *revision_before = NULL, *revision_after = NULL;
+ EContact *contact = NULL;
+ GError *error = NULL;
+
+ if (!e_book_client_get_revision_sync (client, &revision_before, NULL, &error))
+ g_error ("Error getting book revision: %s", error->message);
+
+ if (!add_contact_from_test_case_verify (client, "simple-1", &contact)) {
+ g_object_unref (client);
+ exit (1);
+ }
+
+ if (!e_book_client_remove_contact_sync (client, contact, NULL, &error))
+ g_error ("Unable to remove contact: %s", error->message);
+
+ g_object_unref (contact);
+
+ if (!e_book_client_get_revision_sync (client, &revision_after, NULL, &error))
+ g_error ("Error getting book revision: %s", error->message);
+
+ g_assert (revision_before);
+ g_assert (revision_after);
+ g_assert (strcmp (revision_before, revision_after) != 0);
+
+ g_message ("Passed cycle, revision before '%s' revision after '%s'",
+ revision_before, revision_after);
+
+ g_free (revision_before);
+ g_free (revision_after);
+}
+
+gint
+main (gint argc, gchar **argv)
+{
+ EBookClient *book_client;
+ GError *error = NULL;
+ gint i;
+
+ g_type_init ();
+
+ /*
+ * Setup
+ */
+ book_client = new_temp_client (NULL);
+
+ g_return_val_if_fail (book_client != NULL, 1);
+
+ if (!e_client_open_sync (E_CLIENT (book_client), FALSE, NULL, &error)) {
+ report_error ("client open sync", &error);
+ g_object_unref (book_client);
+ return 1;
+ }
+
+ /* Test that modifications make the revisions increment */
+ for (i = 0; i < CYCLES; i++)
+ get_revision_compare_cycle (book_client);
+
+ if (!e_client_remove_sync (E_CLIENT (book_client), NULL, &error)) {
+ report_error ("client remove sync", &error);
+ g_object_unref (book_client);
+ return 1;
+ }
+
+ g_object_unref (book_client);
+
+ return 0;
+}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]