]> git.ipfire.org Git - pakfire.git/commitdiff
tests: Set various package attributes and read them back
authorMichael Tremer <michael.tremer@ipfire.org>
Wed, 26 Oct 2022 19:41:26 +0000 (19:41 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Wed, 26 Oct 2022 19:41:26 +0000 (19:41 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
tests/libpakfire/package.c

index 1628a7382ff20403aee9a4064d66caa392a4b1d7..72da1edb8bda267c6167de9ab7b485a92fb80af6 100644 (file)
 
 #include "../testsuite.h"
 
+/*
+       This tests creates a new package and sets various attributes and reads them back again.
+*/
 static int test_create(const struct test* t) {
        struct pakfire_package* pkg = NULL;
        int r = EXIT_FAILURE;
 
-       ASSERT_SUCCESS(pakfire_package_create(&pkg, t->pakfire, NULL, "test", "1.0-1", "src"));
+       ASSERT_SUCCESS(pakfire_package_create(&pkg, t->pakfire, NULL, "test", "1.0-1", "x86_64"));
 
        ASSERT_STRING_EQUALS(pakfire_package_get_string(pkg, PAKFIRE_PKG_NAME), "test");
        ASSERT_STRING_EQUALS(pakfire_package_get_string(pkg, PAKFIRE_PKG_EVR), "1.0-1");
-       ASSERT_STRING_EQUALS(pakfire_package_get_string(pkg, PAKFIRE_PKG_ARCH), "src");
+       ASSERT_STRING_EQUALS(pakfire_package_get_string(pkg, PAKFIRE_PKG_ARCH), "x86_64");
+
+       // NEVRA
+       ASSERT_STRING_EQUALS(pakfire_package_get_string(pkg, PAKFIRE_PKG_NEVRA), "test-1.0-1.x86_64");
+
+       // UUID
+       ASSERT_SUCCESS(pakfire_package_set_string(pkg, PAKFIRE_PKG_UUID, "7a7cb0e3-d4c7-4bf8-85ef-8e4faa22c128"));
+       ASSERT_STRING_EQUALS(pakfire_package_get_string(pkg, PAKFIRE_PKG_UUID), "7a7cb0e3-d4c7-4bf8-85ef-8e4faa22c128");
 
        // Summary
        ASSERT_SUCCESS(pakfire_package_set_string(pkg, PAKFIRE_PKG_SUMMARY, "SUMMARY"));
        ASSERT_STRING_EQUALS(pakfire_package_get_string(pkg, PAKFIRE_PKG_SUMMARY), "SUMMARY");
 
+       // Description
+       ASSERT_SUCCESS(pakfire_package_set_string(pkg, PAKFIRE_PKG_DESCRIPTION, "DESCRIPTION"));
+       ASSERT_STRING_EQUALS(pakfire_package_get_string(pkg, PAKFIRE_PKG_DESCRIPTION), "DESCRIPTION");
+
+       // License
+       ASSERT_SUCCESS(pakfire_package_set_string(pkg, PAKFIRE_PKG_LICENSE, "LICENSE"));
+       ASSERT_STRING_EQUALS(pakfire_package_get_string(pkg, PAKFIRE_PKG_LICENSE), "LICENSE");
+
+       // URL
+       ASSERT_SUCCESS(pakfire_package_set_string(pkg, PAKFIRE_PKG_URL, "URL"));
+       ASSERT_STRING_EQUALS(pakfire_package_get_string(pkg, PAKFIRE_PKG_URL), "URL");
+
+       // Groups
+       ASSERT_SUCCESS(pakfire_package_set_string(pkg, PAKFIRE_PKG_GROUPS, "GROUPS"));
+       ASSERT_STRING_EQUALS(pakfire_package_get_string(pkg, PAKFIRE_PKG_GROUPS), "GROUPS");
+
+       // Vendor
+       ASSERT_SUCCESS(pakfire_package_set_string(pkg, PAKFIRE_PKG_VENDOR, "VENDOR"));
+       ASSERT_STRING_EQUALS(pakfire_package_get_string(pkg, PAKFIRE_PKG_VENDOR), "VENDOR");
+
+       // Distro
+       ASSERT_SUCCESS(pakfire_package_set_string(pkg, PAKFIRE_PKG_DISTRO, "DISTRO"));
+       ASSERT_STRING_EQUALS(pakfire_package_get_string(pkg, PAKFIRE_PKG_DISTRO), "DISTRO");
+
+       // Maintainer
+       ASSERT_SUCCESS(pakfire_package_set_string(pkg, PAKFIRE_PKG_MAINTAINER, "MAINTAINER"));
+       ASSERT_STRING_EQUALS(pakfire_package_get_string(pkg, PAKFIRE_PKG_MAINTAINER), "MAINTAINER");
+
+       // Fetch path without setting it first
+       ASSERT_STRING_EQUALS(pakfire_package_get_string(pkg, PAKFIRE_PKG_PATH),
+               "/var/cache/pakfire/test/1/x86_64/test-1.0-1.x86_64.pfm");
+
+       // Set Path
+       ASSERT_SUCCESS(pakfire_package_set_string(pkg, PAKFIRE_PKG_PATH, "/tmp/test-1.0-1.x86_64.pfm"));
+       ASSERT_STRING_EQUALS(pakfire_package_get_string(pkg, PAKFIRE_PKG_PATH), "/tmp/test-1.0-1.x86_64.pfm");
+
+       // Set filename
+       ASSERT_SUCCESS(pakfire_package_set_string(pkg, PAKFIRE_PKG_FILENAME, "test-1.0-1.x86_64.pfm"));
+       ASSERT_STRING_EQUALS(pakfire_package_get_string(pkg, PAKFIRE_PKG_FILENAME), "test-1.0-1.x86_64.pfm");
+
+       // Download Size
+       ASSERT_SUCCESS(pakfire_package_set_num(pkg, PAKFIRE_PKG_DOWNLOADSIZE, 123456));
+       ASSERT_EQUALS(pakfire_package_get_num(pkg, PAKFIRE_PKG_DOWNLOADSIZE, 0), 123456);
+
+       // Install Size
+       ASSERT_SUCCESS(pakfire_package_set_num(pkg, PAKFIRE_PKG_INSTALLSIZE, 123456));
+       ASSERT_EQUALS(pakfire_package_get_num(pkg, PAKFIRE_PKG_INSTALLSIZE, 0), 123456);
+
+       // Install Time
+       ASSERT_SUCCESS(pakfire_package_set_num(pkg, PAKFIRE_PKG_INSTALLTIME, 123456));
+       ASSERT_EQUALS(pakfire_package_get_num(pkg, PAKFIRE_PKG_INSTALLTIME, 0), 123456);
+
+       // Build Host
+       ASSERT_SUCCESS(pakfire_package_set_string(pkg, PAKFIRE_PKG_BUILD_HOST, "localhost"));
+       ASSERT_STRING_EQUALS(pakfire_package_get_string(pkg, PAKFIRE_PKG_BUILD_HOST), "localhost");
+
+       // Build ID
+       ASSERT_SUCCESS(pakfire_package_set_string(pkg, PAKFIRE_PKG_BUILD_ID, "5220bb03-d5b6-41f7-be2f-c398b721a9ba"));
+       ASSERT_STRING_EQUALS(pakfire_package_get_string(pkg, PAKFIRE_PKG_BUILD_ID), "5220bb03-d5b6-41f7-be2f-c398b721a9ba");
+
+       // Build Time
+       ASSERT_SUCCESS(pakfire_package_set_num(pkg, PAKFIRE_PKG_BUILD_TIME, 123456));
+       ASSERT_EQUALS(pakfire_package_get_num(pkg, PAKFIRE_PKG_BUILD_TIME, 0), 123456);
+
+       // Source Name
+       ASSERT_SUCCESS(pakfire_package_set_string(pkg, PAKFIRE_PKG_SOURCE_NAME, "test"));
+       ASSERT_STRING_EQUALS(pakfire_package_get_string(pkg, PAKFIRE_PKG_SOURCE_NAME), "test");
+
+       // Source EVR
+       ASSERT_SUCCESS(pakfire_package_set_string(pkg, PAKFIRE_PKG_SOURCE_EVR, "1.0-1"));
+       ASSERT_STRING_EQUALS(pakfire_package_get_string(pkg, PAKFIRE_PKG_SOURCE_EVR), "1.0-1");
+
+       // Source Arch
+       ASSERT_SUCCESS(pakfire_package_set_string(pkg, PAKFIRE_PKG_SOURCE_ARCH, "src"));
+       ASSERT_STRING_EQUALS(pakfire_package_get_string(pkg, PAKFIRE_PKG_SOURCE_ARCH), "src");
+
+       // Fetch the source name
+       ASSERT_STRING_EQUALS(pakfire_package_get_string(pkg, PAKFIRE_PKG_SOURCE_PKG), "test-1.0-1.src");
+
+       // We cannot set the source package name
+       ASSERT_ERRNO(pakfire_package_set_string(pkg, PAKFIRE_PKG_SOURCE_PKG, "XXX"), EINVAL);
+
        // Everything passed
        r = EXIT_SUCCESS;