mirror of
https://github.com/spalencsar/bearhub.git
synced 2026-07-06 20:34:16 +02:00
[arch] fix -> regressions from commit db5eeabf
This commit is contained in:
@@ -10,7 +10,7 @@ class ArchDataMapperTest(TestCase):
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
warnings.filterwarnings('ignore')
|
||||
warnings.filterwarnings('ignore', category=DeprecationWarning)
|
||||
|
||||
def test_check_version_update(self):
|
||||
self.assertTrue(AURDataMapper.check_version_update('1.0.0-1', '1.0.0-2'))
|
||||
@@ -181,3 +181,17 @@ class ArchDataMapperTest(TestCase):
|
||||
# in this case, install_date will be considered instead of package's last_modified.
|
||||
# as 'install_date' is higher, only the string versions will be compared
|
||||
self.assertTrue(mapper.check_update(pkg=pkg, last_modified=None))
|
||||
|
||||
def test_check_version_update__one_version_contain_mixed_letters_and_symbols(self):
|
||||
self.assertTrue(AURDataMapper.check_version_update('2.2.6', '2.3.3op2'))
|
||||
self.assertFalse(AURDataMapper.check_version_update('2.3', '2.2.a'))
|
||||
self.assertTrue(AURDataMapper.check_version_update('2.2.a.123', '2.3'))
|
||||
|
||||
def test_check_update__only_installed_version_with_release_number(self):
|
||||
self.assertTrue(AURDataMapper.check_version_update('2.2.6-1', '2.3'))
|
||||
self.assertTrue(AURDataMapper.check_version_update('2.2', '2.2-2'))
|
||||
self.assertFalse(AURDataMapper.check_version_update('2.2', '2.2-1'))
|
||||
|
||||
def test_check_update__versions_with_epoch(self):
|
||||
self.assertTrue(AURDataMapper.check_version_update('2.3', '1:2.1'))
|
||||
self.assertFalse(AURDataMapper.check_version_update('1:1.0', '2.1'))
|
||||
|
||||
@@ -4,48 +4,55 @@ from unittest import TestCase
|
||||
from bauh.gems.arch import version
|
||||
|
||||
|
||||
class CompareVersionsTest(TestCase):
|
||||
class MatchRequiredVersionTest(TestCase):
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
warnings.filterwarnings('ignore')
|
||||
warnings.filterwarnings('ignore', category=DeprecationWarning)
|
||||
|
||||
def test_both_versions_only_filled_with_numbers_and_same_number_of_divisions(self):
|
||||
self.assertFalse(version.compare_versions('1', '>', '2'))
|
||||
self.assertTrue(version.compare_versions('1', '<', '2'))
|
||||
self.assertTrue(version.compare_versions('1', '<=', '2'))
|
||||
self.assertTrue(version.compare_versions('2', '>=', '1'))
|
||||
self.assertTrue(version.compare_versions('1', '==', '1'))
|
||||
self.assertFalse(version.compare_versions('1.1', '>', '2.0'))
|
||||
self.assertTrue(version.compare_versions('1.1', '<', '2.0'))
|
||||
self.assertTrue(version.compare_versions('1.1', '<=', '2.0'))
|
||||
self.assertTrue(version.compare_versions('2.1', '>', '2.0'))
|
||||
self.assertTrue(version.compare_versions('2.1', '>=', '2.0'))
|
||||
self.assertTrue(version.compare_versions('2.0', '==', '2.0'))
|
||||
def test_must_accept_single_or_both_equal_symbols_as_valid(self):
|
||||
self.assertTrue(version.match_required_version('1', '=', '1'))
|
||||
self.assertTrue(version.match_required_version('1', '==', '1'))
|
||||
|
||||
def test_versions_only_filled_with_numbers_and_different_number_of_divisons(self):
|
||||
self.assertFalse(version.compare_versions('1.0', '>', '2'))
|
||||
self.assertTrue(version.compare_versions('1', '<', '2.0'))
|
||||
self.assertTrue(version.compare_versions('1.1.1', '<=', '2'))
|
||||
self.assertTrue(version.compare_versions('2', '>=', '1.0'))
|
||||
self.assertTrue(version.compare_versions('1.0', '==', '1'))
|
||||
self.assertTrue(version.compare_versions('1.1', '>', '1'))
|
||||
self.assertFalse(version.compare_versions('1.1', '<', '1'))
|
||||
def test_must_ignore_release_number_when_required_has_no_defined(self):
|
||||
self.assertTrue(version.match_required_version('1.3.0-2', '==', '1.3.0'))
|
||||
self.assertTrue(version.match_required_version('1.3.0-2', '<=', '1.3.0'))
|
||||
self.assertTrue(version.match_required_version('1.3.0-2', '>=', '1.3.0'))
|
||||
self.assertFalse(version.match_required_version('1.3.0-2', '<', '1.3.0'))
|
||||
self.assertFalse(version.match_required_version('1.3.0-2', '>', '1.3.0'))
|
||||
|
||||
def test_one_version_contain_mixed_letters_and_symbols(self):
|
||||
self.assertTrue(version.compare_versions('2.3.3op2', '>=', '2.2.6'))
|
||||
self.assertTrue(version.compare_versions('2.2a', '<', '2.2b'))
|
||||
self.assertTrue(version.compare_versions('2.2a', '<', '2.3a'))
|
||||
def test_must_ignore_epoch_number_when_required_has_no_defined(self):
|
||||
self.assertTrue(version.match_required_version('1:1.3.0-1', '>', '1.1.0'))
|
||||
self.assertTrue(version.match_required_version('1:1.3.0-1', '>=', '1.1.0'))
|
||||
self.assertFalse(version.match_required_version('1:1.3.0-1', '<', '1.1.0'))
|
||||
self.assertFalse(version.match_required_version('1:1.3.0-1', '<=', '1.1.0'))
|
||||
self.assertFalse(version.match_required_version('1:1.3.0-1', '==', '1.1.0'))
|
||||
|
||||
def test_versions_with_epochs(self):
|
||||
self.assertTrue(version.compare_versions('1:1', '==', '1:1.0'))
|
||||
self.assertTrue(version.compare_versions('1:1', '<', '1:1.1'))
|
||||
self.assertTrue(version.compare_versions('1:1', '<=', '1:1.1'))
|
||||
self.assertTrue(version.compare_versions('2:0', '>', '1:1.1'))
|
||||
self.assertTrue(version.compare_versions('1:0', '>', '2.0-1'))
|
||||
def test_must_consider_default_epoch_for_current_version_when_required_has_epoch(self):
|
||||
self.assertFalse(version.match_required_version('1.1.0', '==', '1:1.1.0')) # 1.1.0 -> 0:1.1.0
|
||||
self.assertFalse(version.match_required_version('1.1.0', '>', '1:1.1.0')) # 1.1.0 -> 0:1.1.0
|
||||
self.assertFalse(version.match_required_version('1.1.0', '>=', '1:1.1.0')) # 1.1.0 -> 0:1.1.0
|
||||
self.assertTrue(version.match_required_version('1.1.0', '<', '1:1.1.0')) # 1.1.0 -> 0:1.1.0
|
||||
self.assertTrue(version.match_required_version('1.1.0', '<=', '1:1.1.0')) # 1.1.0 -> 0:1.1.0
|
||||
|
||||
def test_versions_with_release_number(self):
|
||||
self.assertTrue(version.compare_versions('1.0-1', '<', '1.0-2'))
|
||||
self.assertTrue(version.compare_versions('1.0-2', '>', '1.0-1'))
|
||||
self.assertTrue(version.compare_versions('1.0-1', '<', '1.0-10'))
|
||||
self.assertTrue(version.compare_versions('1.0-10', '>', '1.0-1'))
|
||||
self.assertTrue(version.match_required_version('1.1.0', '==', '0:1.1.0')) # 1.1.0 -> 0:1.1.0
|
||||
|
||||
def test_must_match_when_current_version_is_composed_of_alphanumerics_but_required_no(self):
|
||||
self.assertTrue(version.match_required_version('2.3.3op2', '>', '2.2.6'))
|
||||
self.assertTrue(version.match_required_version('2.3.3op2', '>=', '2.2.6'))
|
||||
self.assertFalse(version.match_required_version('2.3.3op2', '==', '2.2.6'))
|
||||
self.assertFalse(version.match_required_version('2.3.3op2', '<', '2.2.6'))
|
||||
self.assertFalse(version.match_required_version('2.3.3op2', '<=', '2.2.6'))
|
||||
|
||||
# opposite comparisons
|
||||
self.assertFalse(version.match_required_version('2.2.6', '>', '2.3.3op2'))
|
||||
self.assertFalse(version.match_required_version('2.2.6', '>=', '2.3.3op2'))
|
||||
self.assertFalse(version.match_required_version('2.2.6', '==', '2.3.3op2'))
|
||||
self.assertTrue(version.match_required_version('2.2.6', '<', '2.3.3op2'))
|
||||
self.assertTrue(version.match_required_version('2.2.6', '<=', '2.3.3op2'))
|
||||
|
||||
def test_must_match_when_both_versions_are_composed_of_alphanumerics(self):
|
||||
self.assertTrue(version.match_required_version('2.3.3ab', '==', '2.3.3ab'))
|
||||
self.assertTrue(version.match_required_version('2.3.3ab', '<', '2.3.3ac'))
|
||||
self.assertTrue(version.match_required_version('2.3.3ad', '>', '2.3.3ac'))
|
||||
self.assertTrue(version.match_required_version('2.3.3ad', '<', '2.3.3ad.1'))
|
||||
|
||||
Reference in New Issue
Block a user