From fcb5ce41d3745ac240a83a5a5cff2fcf53c8d4fd Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Wed, 30 Mar 2022 14:57:13 +0000 Subject: [PATCH] tests: Add a simple test that lists all networks Signed-off-by: Michael Tremer --- Makefile.am | 9 ++++++- tests/python/test-export.py | 49 +++++++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+), 1 deletion(-) create mode 100755 tests/python/test-export.py diff --git a/Makefile.am b/Makefile.am index 9e76955..129e6d8 100644 --- a/Makefile.am +++ b/Makefile.am @@ -320,6 +320,9 @@ TESTS_LDADD = \ src/libloc.la \ src/libloc-internal.la +TESTS_ENVIRONMENT = \ + TEST_DATA_DIR="$(abs_top_srcdir)/tests/data" + TESTS = \ src/test-libloc \ src/test-stringpool \ @@ -328,7 +331,11 @@ TESTS = \ src/test-network \ src/test-country \ src/test-signature \ - src/test-address + src/test-address \ + tests/python/test-export.py + +EXTRA_DIST += \ + tests/data/location-2022-03-30.db CLEANFILES += \ testdata.db diff --git a/tests/python/test-export.py b/tests/python/test-export.py new file mode 100755 index 0000000..cef87b3 --- /dev/null +++ b/tests/python/test-export.py @@ -0,0 +1,49 @@ +#!/usr/bin/python3 +############################################################################### +# # +# libloc - A library to determine the location of someone on the Internet # +# # +# Copyright (C) 2022 IPFire Development Team # +# # +# This library is free software; you can redistribute it and/or # +# modify it under the terms of the GNU Lesser General Public # +# License as published by the Free Software Foundation; either # +# version 2.1 of the License, or (at your option) any later version. # +# # +# This library 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 # +# Lesser General Public License for more details. # +# # +############################################################################### + +import location +import os +import unittest + +TEST_DATA_DIR = os.environ["TEST_DATA_DIR"] + +class Test(unittest.TestCase): + def setUp(self): + path = os.path.join(TEST_DATA_DIR, "location-2022-03-30.db") + + # Load the database + self.db = location.Database(path) + + def test_list_networks(self): + """ + Lists all available networks + """ + for network in self.db.networks: + print(network) + + def test_list_networks_flattened(self): + """ + Lists all networks but flattened + """ + for network in self.db.networks_flattened: + print(network) + + +if __name__ == "__main__": + unittest.main() -- 2.39.2