summaryrefslogtreecommitdiff
path: root/backend/tests
diff options
context:
space:
mode:
Diffstat (limited to 'backend/tests')
-rw-r--r--backend/tests/definitions.cc92
-rw-r--r--backend/tests/dl-test.cc25
-rw-r--r--backend/tests/job-test.cc39
-rw-r--r--backend/tests/meson.build55
-rw-r--r--backend/tests/slackpkg-test.cc25
5 files changed, 236 insertions, 0 deletions
diff --git a/backend/tests/definitions.cc b/backend/tests/definitions.cc
new file mode 100644
index 0000000..7906dd8
--- /dev/null
+++ b/backend/tests/definitions.cc
@@ -0,0 +1,92 @@
+#include "pk-backend.h"
+#include <pk-backend-job.h>
+
+gpointer
+pk_backend_job_get_user_data (PkBackendJob *job)
+{
+ return NULL;
+}
+
+void
+pk_backend_job_set_user_data (PkBackendJob *job, gpointer user_data)
+{
+}
+
+void
+pk_backend_job_set_allow_cancel (PkBackendJob *job, gboolean allow_cancel)
+{
+}
+
+void
+pk_backend_job_package (PkBackendJob *job,
+ PkInfoEnum info,
+ const gchar *package_id,
+ const gchar *summary)
+{
+}
+
+void
+pk_backend_job_set_status (PkBackendJob *job, PkStatusEnum status)
+{
+}
+
+void
+pk_backend_job_set_percentage (PkBackendJob *job, guint percentage)
+{
+}
+
+void
+pk_backend_job_error_code (PkBackendJob *job,
+ PkErrorEnum error_code, const gchar *format, ...)
+{
+}
+
+void
+pk_backend_job_files (PkBackendJob *job,
+ const gchar *package_id, gchar **files)
+{
+}
+
+void
+pk_backend_job_details (PkBackendJob *job,
+ const gchar *package_id,
+ const gchar *summary,
+ const gchar *license,
+ PkGroupEnum group,
+ const gchar *description,
+ const gchar *url,
+ gulong size,
+ guint64 download_size)
+{
+}
+
+void
+pk_backend_job_update_detail (PkBackendJob *job,
+ const gchar *package_id,
+ gchar **updates,
+ gchar **obsoletes,
+ gchar **vendor_urls,
+ gchar **bugzilla_urls,
+ gchar **cve_urls,
+ PkRestartEnum restart,
+ const gchar *update_text,
+ const gchar *changelog,
+ PkUpdateStateEnum state,
+ const gchar *issued,
+ const gchar *updated)
+{
+}
+
+gboolean
+pk_backend_job_thread_create (PkBackendJob *job,
+ PkBackendJobThreadFunc func,
+ gpointer user_data,
+ GDestroyNotify destroy_func)
+{
+ return FALSE;
+}
+
+gboolean pk_directory_remove_contents (const gchar *directory)
+{
+ return TRUE;
+}
diff --git a/backend/tests/dl-test.cc b/backend/tests/dl-test.cc
new file mode 100644
index 0000000..f4959fe
--- /dev/null
+++ b/backend/tests/dl-test.cc
@@ -0,0 +1,25 @@
+#include "dl.h"
+
+using namespace slack;
+
+static void
+slack_test_dl_construct()
+{
+ auto dl = new Dl ("some", "mirror", 1, NULL, NULL);
+
+ g_assert_cmpstr (dl->get_name (), ==, "some");
+ g_assert_cmpstr (dl->get_mirror (), ==, "mirror");
+ g_assert_cmpuint (dl->get_order (), ==, 1);
+ g_assert_false (dl->is_blacklisted ("pattern"));
+
+ delete dl;
+}
+
+int main(int argc, char *argv[])
+{
+ g_test_init(&argc, &argv, NULL);
+
+ g_test_add_func("/slack/dl/construct", slack_test_dl_construct);
+
+ return g_test_run();
+}
diff --git a/backend/tests/job-test.cc b/backend/tests/job-test.cc
new file mode 100644
index 0000000..f784da3
--- /dev/null
+++ b/backend/tests/job-test.cc
@@ -0,0 +1,39 @@
+#include "job.h"
+
+using namespace slack;
+
+static void
+test_filter_package_installed ()
+{
+ PkBitfield filters = pk_bitfield_value (PK_FILTER_ENUM_INSTALLED);
+ g_assert_true (filter_package (filters, true));
+ g_assert_false (filter_package (filters, false));
+}
+
+static void
+test_filter_package_not_installed ()
+{
+ PkBitfield filters = pk_bitfield_value (PK_FILTER_ENUM_NOT_INSTALLED);
+ g_assert_true (filter_package (filters, false));
+ g_assert_false (filter_package (filters, true));
+}
+
+static void
+test_filter_package_none ()
+{
+ PkBitfield filters = pk_bitfield_value (PK_FILTER_ENUM_NONE);
+ g_assert_true (filter_package (filters, false));
+ g_assert_true (filter_package (filters, true));
+}
+
+int
+main (int argc, char *argv[])
+{
+ g_test_init (&argc, &argv, NULL);
+
+ g_test_add_func ("/slack/filter_package_installed", test_filter_package_installed);
+ g_test_add_func ("/slack/filter_package_not_installed", test_filter_package_not_installed);
+ g_test_add_func ("/slack/filter_package_none", test_filter_package_none);
+
+ return g_test_run ();
+}
diff --git a/backend/tests/meson.build b/backend/tests/meson.build
new file mode 100644
index 0000000..5ade48a
--- /dev/null
+++ b/backend/tests/meson.build
@@ -0,0 +1,55 @@
+bzip2_dep = dependency('bzip2')
+
+pk_slack_test_dependencies = [
+ packagekit_glib2_dep,
+ gmodule_dep,
+ sqlite3_dep,
+ bzip2_dep,
+ polkit_dep
+]
+
+pk_slack_test_cpp_args = [
+ '-DG_LOG_DOMAIN="PackageKit-Slackware"',
+ '-DLOCALSTATEDIR="@0@"'.format(join_paths(get_option('prefix'), get_option('localstatedir'))),
+ '-DLIBDIR="@0@"'.format(join_paths(get_option('prefix'), get_option('libdir'))),
+ '-DSYSCONFDIR="@0@"'.format(get_option('sysconfdir')),
+ '-DGETTEXT_PACKAGE="@0@"'.format(meson.project_name()),
+ '-DLIBEXECDIR="@0@"'.format(join_paths(get_option('prefix'), get_option('libexecdir'))),
+ '-DPK_DB_DIR="."',
+]
+
+pk_slack_test_include_directories = [
+ include_directories('..'),
+ packagekit_src_include,
+]
+
+pk_slack_test_dl = executable('pk-slack-test-dl',
+ ['dl-test.cc', 'definitions.cc'],
+ link_with: packagekit_backend_slack_module,
+ include_directories: pk_slack_test_include_directories,
+ dependencies: pk_slack_test_dependencies,
+ cpp_args: pk_slack_test_cpp_args,
+ c_args: pk_slack_test_cpp_args
+)
+
+pk_slack_test_slackpkg = executable('pk-slack-test-slackpkg',
+ ['slackpkg-test.cc', 'definitions.cc'],
+ link_with: packagekit_backend_slack_module,
+ include_directories: pk_slack_test_include_directories,
+ dependencies: pk_slack_test_dependencies,
+ cpp_args: pk_slack_test_cpp_args,
+ c_args: pk_slack_test_cpp_args
+)
+
+pk_slack_test_job = executable('pk-slack-test-job',
+ ['job-test.cc', 'definitions.cc'],
+ link_with: packagekit_backend_slack_module,
+ include_directories: pk_slack_test_include_directories,
+ dependencies: pk_slack_test_dependencies,
+ cpp_args: pk_slack_test_cpp_args,
+ c_args: pk_slack_test_cpp_args
+)
+
+test('slack-dl', pk_slack_test_dl)
+test('slac-slackpkg', pk_slack_test_slackpkg)
+test('slack-job', pk_slack_test_job)
diff --git a/backend/tests/slackpkg-test.cc b/backend/tests/slackpkg-test.cc
new file mode 100644
index 0000000..09c4142
--- /dev/null
+++ b/backend/tests/slackpkg-test.cc
@@ -0,0 +1,25 @@
+#include "slackpkg.h"
+
+using namespace slack;
+
+static void
+slack_test_slackpkg_construct()
+{
+ auto slackpkg = new Slackpkg ("some", "mirror", 1, NULL, NULL);
+
+ g_assert_cmpstr(slackpkg->get_name (), ==, "some");
+ g_assert_cmpstr(slackpkg->get_mirror (), ==, "mirror");
+ g_assert_cmpuint(slackpkg->get_order (), ==, 1);
+ g_assert_false (slackpkg->is_blacklisted ("pattern"));
+
+ delete slackpkg;
+}
+
+int main(int argc, char *argv[])
+{
+ g_test_init(&argc, &argv, NULL);
+
+ g_test_add_func("/slack/slackpkg/construct", slack_test_slackpkg_construct);
+
+ return g_test_run();
+}