diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2022-04-03 12:40:00 +0200 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2022-04-03 12:53:25 +0200 |
commit | e18e09fbecab9f3e858f6cbcfeb906407369e898 (patch) | |
tree | 324182734b1bde84785b2d82741e2c410e18ab08 /tests | |
parent | 6b9cd24095c7007bbf0a89c46340b23699b25a0f (diff) | |
download | tracker-e18e09fbecab9f3e858f6cbcfeb906407369e898.tar.gz |
tests: Update libtracker-data tests to use high-level library API
These tests poke at libtracker-data internals that have a 1:1 mapping
on the high-level API, we can use that and avoid relying on internal
API.
This is accessory now, but libtracker-data will stop being a static
library during build.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/libtracker-data/meson.build | 2 | ||||
-rw-r--r-- | tests/libtracker-data/tracker-insert-or-replace-test.c | 23 | ||||
-rw-r--r-- | tests/libtracker-data/tracker-ontology-change-test.c | 49 | ||||
-rw-r--r-- | tests/libtracker-data/tracker-ontology-error-test.c | 15 | ||||
-rw-r--r-- | tests/libtracker-data/tracker-ontology-test.c | 67 | ||||
-rw-r--r-- | tests/libtracker-data/tracker-sparql-blank-test.c | 21 | ||||
-rw-r--r-- | tests/libtracker-data/tracker-sparql-test.c | 53 |
7 files changed, 113 insertions, 117 deletions
diff --git a/tests/libtracker-data/meson.build b/tests/libtracker-data/meson.build index 1983bdbc0..88c869619 100644 --- a/tests/libtracker-data/meson.build +++ b/tests/libtracker-data/meson.build @@ -15,7 +15,7 @@ libtracker_data_slow_tests = [ 'sparql' ] -libtracker_data_test_deps = [tracker_common_dep, tracker_data_dep, tracker_sparql_dep] +libtracker_data_test_deps = [tracker_common_dep, tracker_sparql_dep] foreach base_name: libtracker_data_tests source = 'tracker-@0@-test.c'.format(base_name) diff --git a/tests/libtracker-data/tracker-insert-or-replace-test.c b/tests/libtracker-data/tracker-insert-or-replace-test.c index 1e8183595..f731ae2e5 100644 --- a/tests/libtracker-data/tracker-insert-or-replace-test.c +++ b/tests/libtracker-data/tracker-insert-or-replace-test.c @@ -7,7 +7,7 @@ #include <gio/gio.h> #include <glib/gstdio.h> -#include <libtracker-data/tracker-data.h> +#include <libtracker-sparql/tracker-sparql.h> static gchar *insert_query_replace = "\ DELETE { ?r nao:hasTag ?tag . }\ @@ -128,7 +128,7 @@ INSERT { GRAPH <urn:uuid:08070f5c-a334-4d19-a8b0-12a3071bfab9> {\ int main (int argc, char *argv[]) { - TrackerDataManager *manager; + TrackerSparqlConnection *conn; GError *error = NULL; GFile *cache, *ontology; gchar *test_data_dir; @@ -144,16 +144,18 @@ main (int argc, char *argv[]) cache = g_file_new_for_path (test_data_dir); ontology = g_file_new_for_path (TEST_ONTOLOGIES_DIR); - manager = tracker_data_manager_new (0, cache, ontology, - 100, 100); - g_initable_init (G_INITABLE (manager), NULL, &error); + conn = tracker_sparql_connection_new (TRACKER_SPARQL_CONNECTION_FLAGS_NONE, + cache, + ontology, + NULL, &error); g_assert_no_error (error); for (i = 0; i < N_QUERIES; i++) { query = g_strdup_printf (insert_query_replace, i, i, i, i, i, i, i, i, i , i, i, i, i); - tracker_data_update_sparql (tracker_data_manager_get_data (manager), - query, &error); + tracker_sparql_connection_update (conn, + query, + NULL, &error); g_assert_no_error (error); g_free (query); } @@ -161,13 +163,14 @@ main (int argc, char *argv[]) for (i = 0; i < N_QUERIES; i++) { query = g_strdup_printf (insert_query_original, i, i, i, i, i, i, i, i, i, i, i, i, i, i, i); - tracker_data_update_sparql (tracker_data_manager_get_data (manager), - query, &error); + tracker_sparql_connection_update (conn, + query, + NULL, &error); g_assert_no_error (error); g_free (query); } - g_object_unref (manager); + g_object_unref (conn); g_object_unref (cache); g_object_unref (ontology); diff --git a/tests/libtracker-data/tracker-ontology-change-test.c b/tests/libtracker-data/tracker-ontology-change-test.c index 2aa89f8eb..62e45041d 100644 --- a/tests/libtracker-data/tracker-ontology-change-test.c +++ b/tests/libtracker-data/tracker-ontology-change-test.c @@ -28,7 +28,7 @@ #include <gio/gio.h> #include <glib/gstdio.h> -#include <libtracker-data/tracker-data.h> +#include <libtracker-sparql/tracker-sparql.h> typedef struct _TestInfo TestInfo; @@ -73,7 +73,9 @@ const ChangeInfo changes[] = { }; static void -query_helper (TrackerDataManager *manager, const gchar *query_filename, const gchar *results_filename) +query_helper (TrackerSparqlConnection *conn, + const gchar *query_filename, + const gchar *results_filename) { GError *error = NULL; gchar *queries = NULL, *query; @@ -91,9 +93,9 @@ query_helper (TrackerDataManager *manager, const gchar *query_filename, const gc query = strtok (queries, "~"); while (query) { - TrackerDBCursor *cursor; + TrackerSparqlCursor *cursor; - cursor = tracker_data_query_sparql_cursor (manager, query, &error); + cursor = tracker_sparql_connection_query (conn, query, NULL, &error); g_assert_no_error (error); /* compare results with reference output */ @@ -105,17 +107,17 @@ query_helper (TrackerDataManager *manager, const gchar *query_filename, const gc } if (cursor) { - guint col; + gint col; - while (tracker_db_cursor_iter_next (cursor, NULL, &error)) { - for (col = 0; col < tracker_db_cursor_get_n_columns (cursor); col++) { + while (tracker_sparql_cursor_next (cursor, NULL, &error)) { + for (col = 0; col < tracker_sparql_cursor_get_n_columns (cursor); col++) { const gchar *str; if (col > 0) { g_string_append (test_results, "\t"); } - str = tracker_db_cursor_get_string (cursor, col, NULL); + str = tracker_sparql_cursor_get_string (cursor, col, NULL); if (str != NULL) { /* bound variable */ g_string_append_printf (test_results, "\"%s\"", str); @@ -170,7 +172,7 @@ test_ontology_change (void) guint i; GError *error = NULL; GFile *data_location, *test_schemas; - TrackerDataManager *manager; + TrackerSparqlConnection *conn; prefix = g_build_path (G_DIR_SEPARATOR_S, TOP_SRCDIR, "tests", "libtracker-data", NULL); build_prefix = g_build_path (G_DIR_SEPARATOR_S, TOP_BUILDDIR, "tests", "libtracker-data", NULL); @@ -198,7 +200,6 @@ test_ontology_change (void) gchar *source = g_build_path (G_DIR_SEPARATOR_S, prefix, "change", "source", changes[i].ontology, NULL); gchar *update = g_build_path (G_DIR_SEPARATOR_S, prefix, "change", "updates", changes[i].update, NULL); gchar *from, *to; - TrackerData *data; file1 = g_file_new_for_path (source); @@ -213,17 +214,19 @@ test_ontology_change (void) g_assert_no_error (error); g_assert_cmpint (g_chmod (ontology_file, 0666), ==, 0); - manager = tracker_data_manager_new (0, data_location, test_schemas, - 100, 100); - g_initable_init (G_INITABLE (manager), NULL, &error); + conn = tracker_sparql_connection_new (TRACKER_SPARQL_CONNECTION_FLAGS_NONE, + data_location, + test_schemas, + NULL, &error); g_assert_no_error (error); - data = tracker_data_manager_get_data (manager); - if (g_file_get_contents (update, &queries, NULL, NULL)) { gchar *query = strtok (queries, "\n"); while (query) { - tracker_data_update_sparql (data, query, &error); + tracker_sparql_connection_update (conn, + query, + NULL, + &error); g_assert_no_error (error); query = strtok (NULL, "\n"); @@ -245,18 +248,20 @@ test_ontology_change (void) query_filename = g_strconcat (test_prefix, ".rq", NULL); results_filename = g_strconcat (test_prefix, ".out", NULL); - query_helper (manager, query_filename, results_filename); + query_helper (conn, query_filename, results_filename); g_free (test_prefix); g_free (query_filename); g_free (results_filename); } - g_object_unref (manager); + g_object_unref (conn); } - manager = tracker_data_manager_new (0, data_location, test_schemas, 100, 100); - g_initable_init (G_INITABLE (manager), NULL, &error); + conn = tracker_sparql_connection_new (TRACKER_SPARQL_CONNECTION_FLAGS_NONE, + data_location, + test_schemas, + NULL, &error); g_assert_no_error (error); for (i = 0; change_tests[i].test_name != NULL; i++) { @@ -268,14 +273,14 @@ test_ontology_change (void) query_filename = g_strconcat (test_prefix, ".rq", NULL); results_filename = g_strconcat (test_prefix, ".out", NULL); - query_helper (manager, query_filename, results_filename); + query_helper (conn, query_filename, results_filename); g_free (test_prefix); g_free (query_filename); g_free (results_filename); } - g_object_unref (manager); + g_object_unref (conn); g_file_delete (file2, NULL, NULL); diff --git a/tests/libtracker-data/tracker-ontology-error-test.c b/tests/libtracker-data/tracker-ontology-error-test.c index e3e11c4d2..c79680410 100644 --- a/tests/libtracker-data/tracker-ontology-error-test.c +++ b/tests/libtracker-data/tracker-ontology-error-test.c @@ -25,9 +25,7 @@ #include <glib/gstdio.h> #include <gio/gio.h> -#include <libtracker-common/tracker-common.h> - -#include <libtracker-data/tracker-data.h> +#include <libtracker-sparql/tracker-sparql.h> typedef struct _TestInfo TestInfo; @@ -148,17 +146,16 @@ assert_same_output (gchar *output1, gchar* output2) static void ontology_error_helper (GFile *ontology_location, char *error_path) { - TrackerDataManager *manager; + TrackerSparqlConnection *conn; gchar *error_msg = NULL; GError* error = NULL; GError* ontology_error = NULL; GMatchInfo *matchInfo; GRegex *regex; - manager = tracker_data_manager_new (TRACKER_DB_MANAGER_IN_MEMORY, - NULL, ontology_location, - 100, 100); - g_initable_init (G_INITABLE (manager), NULL, &ontology_error); + conn = tracker_sparql_connection_new (TRACKER_SPARQL_CONNECTION_FLAGS_NONE, + NULL, ontology_location, + NULL, &ontology_error); g_assert_true (ontology_error != NULL); g_file_get_contents (error_path, &error_msg, NULL, &error); @@ -175,7 +172,7 @@ ontology_error_helper (GFile *ontology_location, char *error_path) g_match_info_unref (matchInfo); g_error_free (ontology_error); g_free (error_msg); - g_object_unref (manager); + g_clear_object (&conn); } static void diff --git a/tests/libtracker-data/tracker-ontology-test.c b/tests/libtracker-data/tracker-ontology-test.c index f3a2c84da..8f8ef81d4 100644 --- a/tests/libtracker-data/tracker-ontology-test.c +++ b/tests/libtracker-data/tracker-ontology-test.c @@ -26,7 +26,7 @@ #include <gio/gio.h> #include <glib/gstdio.h> -#include <libtracker-data/tracker-data.h> +#include <libtracker-sparql/tracker-sparql.h> static gchar *tests_data_dir = NULL; @@ -68,7 +68,9 @@ const TestInfo nie_tests[] = { }; static void -query_helper (TrackerDataManager *manager, const gchar *query_filename, const gchar *results_filename) +query_helper (TrackerSparqlConnection *conn, + const gchar *query_filename, + const gchar *results_filename) { GError *error = NULL; gchar *queries = NULL, *query; @@ -86,9 +88,9 @@ query_helper (TrackerDataManager *manager, const gchar *query_filename, const gc query = strtok (queries, "~"); while (query) { - TrackerDBCursor *cursor; + TrackerSparqlCursor *cursor; - cursor = tracker_data_query_sparql_cursor (manager, query, &error); + cursor = tracker_sparql_connection_query (conn, query, NULL, &error); g_assert_no_error (error); /* compare results with reference output */ @@ -100,17 +102,17 @@ query_helper (TrackerDataManager *manager, const gchar *query_filename, const gc } if (cursor) { - guint col; + gint col; - while (tracker_db_cursor_iter_next (cursor, NULL, &error)) { - for (col = 0; col < tracker_db_cursor_get_n_columns (cursor); col++) { + while (tracker_sparql_cursor_next (cursor, NULL, &error)) { + for (col = 0; col < tracker_sparql_cursor_get_n_columns (cursor); col++) { const gchar *str; if (col > 0) { g_string_append (test_results, "\t"); } - str = tracker_db_cursor_get_string (cursor, col, NULL); + str = tracker_sparql_cursor_get_string (cursor, col, NULL); if (str != NULL) { /* bound variable */ g_string_append_printf (test_results, "\"%s\"", str); @@ -159,28 +161,27 @@ static void test_ontology_init (TestInfo *test_info, gconstpointer context) { - TrackerDataManager *manager; + TrackerSparqlConnection *conn; GError *error = NULL; GFile *data_location; data_location = g_file_new_for_path (test_info->data_location); /* first-time initialization */ - manager = tracker_data_manager_new (TRACKER_DB_MANAGER_FLAGS_NONE, - data_location, data_location, - 100, 100); - g_initable_init (G_INITABLE (manager), NULL, &error); + conn = tracker_sparql_connection_new (TRACKER_SPARQL_CONNECTION_FLAGS_NONE, + data_location, data_location, + NULL, &error); g_assert_no_error (error); - g_object_unref (manager); + g_object_unref (conn); /* initialization from existing database */ - manager = tracker_data_manager_new (0, data_location, data_location, - 100, 100); - g_initable_init (G_INITABLE (manager), NULL, &error); + conn = tracker_sparql_connection_new (TRACKER_SPARQL_CONNECTION_FLAGS_NONE, + data_location, data_location, + NULL, &error); g_assert_no_error (error); - g_object_unref (manager); + g_object_unref (conn); g_object_unref (data_location); } @@ -193,9 +194,9 @@ test_query (TestInfo *test_info, gchar *query_filename; gchar *results_filename; gchar *prefix, *data_prefix, *test_prefix, *ontology_path; + gchar *uri, *query; GFile *file, *data_location, *ontology_location; - TrackerDataManager *manager; - TrackerData *data_update; + TrackerSparqlConnection *conn; data_location = g_file_new_for_path (test_info->data_location); @@ -209,23 +210,21 @@ test_query (TestInfo *test_info, g_free (ontology_path); /* initialization */ - manager = tracker_data_manager_new (TRACKER_DB_MANAGER_FLAGS_NONE, - data_location, ontology_location, - 100, 100); - g_initable_init (G_INITABLE (manager), NULL, &error); + conn = tracker_sparql_connection_new (TRACKER_SPARQL_CONNECTION_FLAGS_NONE, + data_location, ontology_location, + NULL, &error); g_assert_no_error (error); - data_update = tracker_data_manager_get_data (manager); - /* load data set */ data_filename = g_strconcat (data_prefix, ".ttl", NULL); file = g_file_new_for_path (data_filename); - data_update = tracker_data_manager_get_data (manager); - tracker_data_begin_transaction (data_update, &error); - g_assert_no_error (error); - tracker_data_load_turtle_file (data_update, file, NULL, &error); - g_assert_no_error (error); - tracker_data_commit_transaction (data_update, &error); + + uri = g_file_get_uri (file); + query = g_strdup_printf ("LOAD <%s>", uri); + g_free (uri); + + tracker_sparql_connection_update (conn, query, NULL, &error); + g_free (query); g_assert_no_error (error); g_object_unref (file); @@ -235,7 +234,7 @@ test_query (TestInfo *test_info, g_free (data_prefix); g_free (test_prefix); - query_helper (manager, query_filename, results_filename); + query_helper (conn, query_filename, results_filename); /* cleanup */ @@ -245,7 +244,7 @@ test_query (TestInfo *test_info, g_object_unref (ontology_location); g_object_unref (data_location); - g_object_unref (manager); + g_object_unref (conn); } static inline void diff --git a/tests/libtracker-data/tracker-sparql-blank-test.c b/tests/libtracker-data/tracker-sparql-blank-test.c index 7fe67aa4a..6b4f139e4 100644 --- a/tests/libtracker-data/tracker-sparql-blank-test.c +++ b/tests/libtracker-data/tracker-sparql-blank-test.c @@ -26,7 +26,7 @@ #include <glib/gstdio.h> #include <gio/gio.h> -#include <libtracker-data/tracker-data.h> +#include <libtracker-sparql/tracker-sparql.h> static gchar *tests_data_dir = NULL; @@ -46,25 +46,24 @@ test_blank (TestInfo *info, guint len = 0; gchar *solutions[3][3]; GFile *data_location; - TrackerDataManager *manager; + TrackerSparqlConnection *conn; error = NULL; data_location = g_file_new_for_path (info->data_location); /* initialization */ - manager = tracker_data_manager_new (TRACKER_DB_MANAGER_FLAGS_NONE, - data_location, data_location, /* loc, domain and ontology_name */ - 100, 100); - g_initable_init (G_INITABLE (manager), NULL, &error); + conn = tracker_sparql_connection_new (TRACKER_SPARQL_CONNECTION_FLAGS_NONE, + data_location, data_location, + NULL, &error); g_assert_no_error (error); /* perform update in transaction */ - updates = tracker_data_update_sparql_blank (tracker_data_manager_get_data (manager), - "INSERT { _:foo a rdfs:Resource } " - "INSERT { _:foo a rdfs:Resource . _:bar a rdfs:Resource } ", - &error); + updates = tracker_sparql_connection_update_blank (conn, + "INSERT { _:foo a rdfs:Resource } " + "INSERT { _:foo a rdfs:Resource . _:bar a rdfs:Resource } ", + NULL, &error); g_assert_no_error (error); g_assert_true (updates != NULL); @@ -121,7 +120,7 @@ test_blank (TestInfo *info, g_variant_unref (updates); g_object_unref (data_location); - g_object_unref (manager); + g_object_unref (conn); } static void diff --git a/tests/libtracker-data/tracker-sparql-test.c b/tests/libtracker-data/tracker-sparql-test.c index 59bc73ccc..6b8f38b19 100644 --- a/tests/libtracker-data/tracker-sparql-test.c +++ b/tests/libtracker-data/tracker-sparql-test.c @@ -25,9 +25,7 @@ #include <glib/gstdio.h> #include <gio/gio.h> -#include <libtracker-common/tracker-common.h> - -#include <libtracker-data/tracker-data.h> +#include <libtracker-sparql/tracker-sparql.h> static gchar *tests_data_dir = NULL; @@ -389,10 +387,10 @@ const TestInfo tests[] = { }; static void -check_result (TrackerDBCursor *cursor, - const TestInfo *test_info, - const gchar *results_filename, - GError *error) +check_result (TrackerSparqlCursor *cursor, + const TestInfo *test_info, + const gchar *results_filename, + GError *error) { GString *test_results; gchar *results; @@ -411,19 +409,19 @@ check_result (TrackerDBCursor *cursor, test_results = g_string_new (""); if (cursor) { - guint col; + gint col; - while (tracker_db_cursor_iter_next (cursor, NULL, &error)) { + while (tracker_sparql_cursor_next (cursor, NULL, &error)) { GString *row_str = g_string_new (NULL); - for (col = 0; col < tracker_db_cursor_get_n_columns (cursor); col++) { + for (col = 0; col < tracker_sparql_cursor_get_n_columns (cursor); col++) { const gchar *str; if (col > 0) { g_string_append (row_str, "\t"); } - str = tracker_db_cursor_get_string (cursor, col, NULL); + str = tracker_sparql_cursor_get_string (cursor, col, NULL); /* Hack to avoid misc properties that might tamper with * test reproduceability in DESCRIBE and other unrestricted @@ -491,15 +489,14 @@ static void test_sparql_query (TestInfo *test_info, gconstpointer context) { - TrackerDBCursor *cursor; + TrackerSparqlCursor *cursor; GError *error = NULL; gchar *data_filename; gchar *query, *query_filename; gchar *results_filename; gchar *prefix, *data_prefix, *test_prefix; GFile *file, *test_schemas; - TrackerDataManager *manager; - TrackerData *data_update; + TrackerSparqlConnection *conn; /* initialization */ prefix = g_build_path (G_DIR_SEPARATOR_S, TOP_SRCDIR, "tests", "libtracker-data", NULL); @@ -511,27 +508,24 @@ test_sparql_query (TestInfo *test_info, test_schemas = g_file_get_parent (file); g_object_unref (file); - manager = tracker_data_manager_new (TRACKER_DB_MANAGER_IN_MEMORY, - NULL, test_schemas, /* loc, domain and ontology_name */ - 100, 100); - g_initable_init (G_INITABLE (manager), NULL, &error); + conn = tracker_sparql_connection_new (TRACKER_SPARQL_CONNECTION_FLAGS_NONE, + NULL, test_schemas, NULL, &error); g_assert_no_error (error); - data_update = tracker_data_manager_get_data (manager); - /* data_path = g_build_path (G_DIR_SEPARATOR_S, TOP_SRCDIR, "tests", "libtracker-data", NULL); */ /* load data set */ data_filename = g_strconcat (data_prefix, ".ttl", NULL); if (g_file_test (data_filename, G_FILE_TEST_IS_REGULAR)) { GFile *file = g_file_new_for_path (data_filename); - tracker_data_begin_transaction (data_update, &error); - g_assert_no_error (error); - tracker_data_load_turtle_file (data_update, file, NULL, &error); - g_assert_no_error (error); - tracker_data_commit_transaction (data_update, &error); + gchar *uri = g_file_get_uri (file); + gchar *query = g_strdup_printf ("LOAD <%s>", uri); + + tracker_sparql_connection_update (conn, query, NULL, &error); g_assert_no_error (error); g_object_unref (file); + g_free (uri); + g_free (query); } else { /* no .ttl available, assume .rq with SPARQL Update */ gchar *data; @@ -542,7 +536,7 @@ test_sparql_query (TestInfo *test_info, g_file_get_contents (data_filename, &data, NULL, &error); g_assert_no_error (error); - tracker_data_update_sparql (data_update, data, &error); + tracker_sparql_connection_update (conn, data, NULL, &error); if (test_info->expect_update_error) { g_assert_true (error != NULL); g_clear_error (&error); @@ -561,7 +555,7 @@ test_sparql_query (TestInfo *test_info, /* perform actual query */ - cursor = tracker_data_query_sparql_cursor (manager, query, &error); + cursor = tracker_sparql_connection_query (conn, query, NULL, &error); check_result (cursor, test_info, results_filename, error); @@ -571,7 +565,7 @@ test_sparql_query (TestInfo *test_info, query_filename = g_strconcat (test_prefix, ".extra.rq", NULL); if (g_file_get_contents (query_filename, &query, NULL, NULL)) { g_object_unref (cursor); - cursor = tracker_data_query_sparql_cursor (manager, query, &error); + cursor = tracker_sparql_connection_query (conn, query, NULL, &error); g_assert_no_error (error); g_free (results_filename); results_filename = g_strconcat (test_prefix, ".extra.out", NULL); @@ -593,8 +587,7 @@ test_sparql_query (TestInfo *test_info, g_free (results_filename); g_object_unref (test_schemas); - tracker_data_manager_shutdown (manager); - g_object_unref (manager); + g_object_unref (conn); } static void |