diff options
| author | chillaranand <anand21nanda@gmail.com> | 2017-02-15 21:44:21 +0530 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2017-06-13 10:53:39 -0400 |
| commit | 08bda82c237b9ad071538c2386b8bfc62fef7f7f (patch) | |
| tree | 7dd489feef529e00a27ff8b6c085aedf2fbdd765 /tests | |
| parent | e7dc39fb65e51d7613c941f7e5768b621dea4e76 (diff) | |
Fixed #27830 -- Used distutils.version.LooseVersion for version parsing.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/backends/tests.py | 9 | ||||
| -rw-r--r-- | tests/gis_tests/geos_tests/test_geos.py | 10 | ||||
| -rw-r--r-- | tests/gis_tests/tests.py | 15 | ||||
| -rw-r--r-- | tests/version/tests.py | 6 |
4 files changed, 23 insertions, 17 deletions
diff --git a/tests/backends/tests.py b/tests/backends/tests.py index 5e7c6ae99c..8847b178ef 100644 --- a/tests/backends/tests.py +++ b/tests/backends/tests.py @@ -323,13 +323,12 @@ class PostgreSQLTests(TestCase): def test_correct_extraction_psycopg2_version(self): from django.db.backends.postgresql.base import psycopg2_version - version_path = 'django.db.backends.postgresql.base.Database.__version__' - with mock.patch(version_path, '2.6.9'): - self.assertEqual(psycopg2_version(), (2, 6, 9)) + with mock.patch('psycopg2.__version__', '4.2.1 (dt dec pq3 ext lo64)'): + self.assertEqual(psycopg2_version(), (4, 2, 1)) - with mock.patch(version_path, '2.5.dev0'): - self.assertEqual(psycopg2_version(), (2, 5)) + with mock.patch('psycopg2.__version__', '4.2b0.dev1 (dt dec pq3 ext lo64)'): + self.assertEqual(psycopg2_version(), (4, 2)) class DateQuotingTest(TestCase): diff --git a/tests/gis_tests/geos_tests/test_geos.py b/tests/gis_tests/geos_tests/test_geos.py index 602c37503d..c75ef31d70 100644 --- a/tests/gis_tests/geos_tests/test_geos.py +++ b/tests/gis_tests/geos_tests/test_geos.py @@ -12,7 +12,7 @@ from django.contrib.gis.geos import ( MultiLineString, MultiPoint, MultiPolygon, Point, Polygon, fromfile, fromstr, ) -from django.contrib.gis.geos.libgeos import geos_version_info +from django.contrib.gis.geos.libgeos import geos_version_tuple from django.contrib.gis.shortcuts import numpy from django.template import Context from django.template.engine import Engine @@ -670,11 +670,11 @@ class GEOSTest(SimpleTestCase, TestDataMixin): self.assertFalse(ls_not_closed.closed) self.assertTrue(ls_closed.closed) - if geos_version_info()['version'] >= '3.5': + if geos_version_tuple() >= (3, 5): self.assertFalse(MultiLineString(ls_closed, ls_not_closed).closed) self.assertTrue(MultiLineString(ls_closed, ls_closed).closed) - with mock.patch('django.contrib.gis.geos.collections.geos_version_info', lambda: {'version': '3.4.9'}): + with mock.patch('django.contrib.gis.geos.libgeos.geos_version_info', lambda: {'version': '3.4.9'}): with self.assertRaisesMessage(GEOSException, "MultiLineString.closed requires GEOS >= 3.5.0."): MultiLineString().closed @@ -1305,6 +1305,10 @@ class GEOSTest(SimpleTestCase, TestDataMixin): self.assertEqual(m.group('version'), v_geos) self.assertEqual(m.group('capi_version'), v_capi) + def test_geos_version_tuple(self): + with mock.patch('django.contrib.gis.geos.libgeos.geos_version_info', lambda: {'version': '3.4.9'}): + self.assertEqual(geos_version_tuple(), (3, 4, 9)) + def test_from_gml(self): self.assertEqual( GEOSGeometry('POINT(0 0)'), diff --git a/tests/gis_tests/tests.py b/tests/gis_tests/tests.py index 6b42384203..2f55406f56 100644 --- a/tests/gis_tests/tests.py +++ b/tests/gis_tests/tests.py @@ -68,6 +68,12 @@ class TestPostGISVersionCheck(unittest.TestCase): actual = ops.postgis_version_tuple() self.assertEqual(expect, actual) + def test_version_loose_tuple(self): + expect = ('1.2.3b1.dev0', 1, 2, 3) + ops = FakePostGISOperations(expect[0]) + actual = ops.postgis_version_tuple() + self.assertEqual(expect, actual) + def test_valid_version_numbers(self): versions = [ ('1.3.0', 1, 3, 0), @@ -81,15 +87,6 @@ class TestPostGISVersionCheck(unittest.TestCase): actual = ops.spatial_version self.assertEqual(version[1:], actual) - def test_invalid_version_numbers(self): - versions = ['nope', '123'] - - for version in versions: - with self.subTest(version=version): - ops = FakePostGISOperations(version) - with self.assertRaises(Exception): - ops.spatial_version - def test_no_version_number(self): ops = FakePostGISOperations() with self.assertRaises(ImproperlyConfigured): diff --git a/tests/version/tests.py b/tests/version/tests.py index b9541cd31a..c0075744bc 100644 --- a/tests/version/tests.py +++ b/tests/version/tests.py @@ -1,5 +1,6 @@ from django import get_version from django.test import SimpleTestCase +from django.utils.version import get_version_tuple class VersionTests(SimpleTestCase): @@ -22,3 +23,8 @@ class VersionTests(SimpleTestCase): ) for ver_tuple, ver_string in tuples_to_strings: self.assertEqual(get_version(ver_tuple), ver_string) + + 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)) |
