1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
import unittest2
from reportbug import checkversions
from nose.plugins.attrib import attr
class TestCheckversions(unittest2.TestCase):
def test_compare_versions(self):
# <current, upstream>
# 1 upstream newer than current
# 0 same version or upsteam none
# -1 current newer than upstream
self.assertEqual(checkversions.compare_versions('1.2.3', '1.2.4'), 1)
self.assertEqual(checkversions.compare_versions('123', None), 0)
self.assertEqual(checkversions.compare_versions('1.2.3', '1.2.3'), 0)
self.assertEqual(checkversions.compare_versions(None, None), 0)
self.assertEqual(checkversions.compare_versions('', '1.2.3'), 0)
self.assertEqual(checkversions.compare_versions('1.2.4', '1.2.3'), -1)
def test_later_version(self):
# mock the test_compare_Versions() test
self.assertEqual(checkversions.later_version('1.2.3', '1.2.4'), '1.2.4')
self.assertEqual(checkversions.later_version('123', None), '123')
self.assertEqual(checkversions.later_version('1.2.3', '1.2.3'), '1.2.3')
self.assertIsNone(checkversions.later_version(None, None))
self.assertEqual(checkversions.later_version('', '1.2.3'), '')
self.assertEqual(checkversions.later_version('1.2.4', '1.2.3'), '1.2.4')
class TestVersionAvailable(unittest2.TestCase):
@attr('network') #marking the test as using network
def test_bts642032(self):
vers = checkversions.get_versions_available('reportbug', 60)
# check stable version is lower than unstable
chk = checkversions.compare_versions(vers['stable'], vers['unstable'])
self.assertEqual(chk, 1)
@attr('network') #marking the test as using network
def test_bts649649(self):
# checking for non-existing package should not generate a traceback
vers = checkversions.get_versions_available('blablabla', 60)
self.assertEqual(vers, {})
@attr('network') #marking the test as using network
def test_673204(self):
vers = checkversions.get_versions_available('texlive-xetex', 60)
# squeeze (stable at this time) is the first suite where texlive-xetex
# is arch:all
self.assertIn('stable', vers)
|