2012-01-08 23:05:15 +08:00
|
|
|
from django import get_version
|
2016-12-08 06:42:31 +08:00
|
|
|
from django.test import SimpleTestCase
|
2021-03-12 15:56:11 +08:00
|
|
|
from django.utils.version import get_complete_version, get_version_tuple
|
2012-01-08 23:05:15 +08:00
|
|
|
|
2013-11-03 05:34:05 +08:00
|
|
|
|
2016-12-08 06:42:31 +08:00
|
|
|
class VersionTests(SimpleTestCase):
|
2012-01-08 23:05:15 +08:00
|
|
|
|
|
|
|
def test_development(self):
|
|
|
|
ver_tuple = (1, 4, 0, 'alpha', 0)
|
|
|
|
# This will return a different result when it's run within or outside
|
2012-04-29 19:40:10 +08:00
|
|
|
# of a git clone: 1.4.devYYYYMMDDHHMMSS or 1.4.
|
2012-01-08 23:05:15 +08:00
|
|
|
ver_string = get_version(ver_tuple)
|
2016-12-08 06:42:31 +08:00
|
|
|
self.assertRegex(ver_string, r'1\.4(\.dev[0-9]+)?')
|
2012-01-08 23:05:15 +08:00
|
|
|
|
|
|
|
def test_releases(self):
|
|
|
|
tuples_to_strings = (
|
|
|
|
((1, 4, 0, 'alpha', 1), '1.4a1'),
|
|
|
|
((1, 4, 0, 'beta', 1), '1.4b1'),
|
2015-11-18 00:51:26 +08:00
|
|
|
((1, 4, 0, 'rc', 1), '1.4rc1'),
|
2012-01-08 23:05:15 +08:00
|
|
|
((1, 4, 0, 'final', 0), '1.4'),
|
2015-11-18 00:51:26 +08:00
|
|
|
((1, 4, 1, 'rc', 2), '1.4.1rc2'),
|
2012-01-08 23:05:15 +08:00
|
|
|
((1, 4, 1, 'final', 0), '1.4.1'),
|
|
|
|
)
|
|
|
|
for ver_tuple, ver_string in tuples_to_strings:
|
|
|
|
self.assertEqual(get_version(ver_tuple), ver_string)
|
2017-02-16 00:14:21 +08:00
|
|
|
|
|
|
|
def test_get_version_tuple(self):
|
|
|
|
self.assertEqual(get_version_tuple('1.2.3'), (1, 2, 3))
|
|
|
|
self.assertEqual(get_version_tuple('1.2.3b2'), (1, 2, 3))
|
|
|
|
self.assertEqual(get_version_tuple('1.2.3b2.dev0'), (1, 2, 3))
|
2021-03-12 15:56:11 +08:00
|
|
|
|
|
|
|
def test_get_version_invalid_version(self):
|
|
|
|
tests = [
|
|
|
|
# Invalid length.
|
|
|
|
(3, 2, 0, 'alpha', 1, '20210315111111'),
|
|
|
|
# Invalid development status.
|
|
|
|
(3, 2, 0, 'gamma', 1, '20210315111111'),
|
|
|
|
]
|
|
|
|
for version in tests:
|
|
|
|
with self.subTest(version=version), self.assertRaises(AssertionError):
|
|
|
|
get_complete_version(version)
|