From: Michael Tremer Date: Sun, 7 Feb 2021 17:03:12 +0000 (+0000) Subject: db: Add test for add_package() X-Git-Tag: 0.9.28~1285^2~789 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=31caf490739561f1dbea602e807c3185408bb5e0;p=pakfire.git db: Add test for add_package() Signed-off-by: Michael Tremer --- diff --git a/tests/libpakfire/db.c b/tests/libpakfire/db.c index 65b98eed1..05922ff26 100644 --- a/tests/libpakfire/db.c +++ b/tests/libpakfire/db.c @@ -18,7 +18,10 @@ # # #############################################################################*/ +#include #include +#include +#include #include #include "../testsuite.h" @@ -59,10 +62,44 @@ static int test_check(const struct test* t) { return 0; } +static int test_add_package(const struct test* t) { + struct pakfire_db* db; + + PakfireRepo repo = pakfire_repo_create(t->pakfire, "dummy"); + ASSERT(repo); + + int r = pakfire_db_open(&db, t->pakfire, PAKFIRE_DB_READWRITE); + ASSERT(!r); + + char* path = pakfire_path_join(TEST_SRC_PATH, "data/beep-1.3-2.ip3.x86_64.pfm"); + + // Open archive + PakfireArchive archive = pakfire_archive_open(t->pakfire, path); + ASSERT(archive); + + // Get package + PakfirePackage pkg = pakfire_archive_make_package(archive, repo); + ASSERT(pkg); + + // Try to add the package to the database + r = pakfire_db_add_package(db, pkg, archive); + ASSERT(r == 0); + + // Cleanup + pakfire_archive_unref(archive); + pakfire_db_unref(db); + pakfire_package_unref(pkg); + pakfire_repo_unref(repo); + free(path); + + return 0; +} + int main(int argc, char** argv) { testsuite_add_test(test_open_ro); testsuite_add_test(test_open_rw); testsuite_add_test(test_check); + testsuite_add_test(test_add_package); return testsuite_run(); }