""" ARCHES - a program developed to inventory and manage immovable cultural heritage. Copyright (C) 2013 J. Paul Getty Trust and World Monuments Fund This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero 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 Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . """ from arches.app.utils.compatibility import is_compatible_with_arches from tests.base_test import ArchesTestCase from arches import VERSION # these tests can be run from the command line via # python manage.py test tests/utils/compatibility_tests.py --pattern="*.py" --settings="tests.test_settings" class CompatibilityTests(ArchesTestCase): def test_compatibility(self): self.assertTrue(is_compatible_with_arches()) def test_min_version_too_high(self): min_version = f"{VERSION[0]},{VERSION[1]},{VERSION[2] + 1}" max_version = f"{VERSION[0]},{VERSION[1]},{VERSION[2] + 2}" self.assertFalse(is_compatible_with_arches(min_version, max_version)) def test_max_version_too_low(self): min_version = f"{VERSION[0]},{VERSION[1]},{VERSION[2] - 1}" max_version = f"{VERSION[0]},{VERSION[1]},{VERSION[2] - 2}" self.assertFalse(is_compatible_with_arches(min_version, max_version)) def test_invalid_version(self): min_version = f"{VERSION[0]}" max_version = f"{VERSION[0]},{VERSION[1]},{VERSION[2] - 2}" self.assertFalse(is_compatible_with_arches(min_version, max_version))