--- /dev/null
+#!/usr/bin/python3
+###############################################################################
+# #
+# Pakfire - The IPFire package management system #
+# Copyright (C) 2023 Pakfire development team #
+# #
+# This program is free software: you can redistribute it and/or modify #
+# it under the terms of the GNU General Public License as published by #
+# the Free Software Foundation, either version 3 of the License, or #
+# (at your option) any later version. #
+# #
+# This program is distributed in the hope that it will be useful, #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+# GNU General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with this program. If not, see <http://www.gnu.org/licenses/>. #
+# #
+###############################################################################
+
+import os
+import pakfire
+import unittest
+
+class KeysTests(unittest.TestCase):
+ """
+ This tests the keys
+ """
+ def setUp(self):
+ path = os.environ.get("TEST_STUB_ROOT")
+ if not path:
+ raise RuntimeError("TEST_STUB_ROOT is not defined")
+
+ self.pakfire = pakfire.Pakfire(path)
+
+ def test_generate(self):
+ """
+ Generate a new key
+ """
+ key = self.pakfire.generate_key(algorithm=pakfire.PAKFIRE_KEY_ALGO_ED25519)
+
+ # Check if we got the correct type
+ self.assertIsInstance(key, pakfire.Key)
+
+ # Check that the ID is in integer
+ self.assertIsInstance(key.id, int)
+
+ # Check that the algorithm matches
+ self.assertEqual(key.algorithm, "Ed255919")
+
+
+if __name__ == "__main__":
+ unittest.main()