summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorchillaranand <anand21nanda@gmail.com>2017-02-15 21:44:21 +0530
committerTim Graham <timograham@gmail.com>2017-06-13 10:53:39 -0400
commit08bda82c237b9ad071538c2386b8bfc62fef7f7f (patch)
tree7dd489feef529e00a27ff8b6c085aedf2fbdd765 /tests
parente7dc39fb65e51d7613c941f7e5768b621dea4e76 (diff)
Fixed #27830 -- Used distutils.version.LooseVersion for version parsing.
Diffstat (limited to 'tests')
-rw-r--r--tests/backends/tests.py9
-rw-r--r--tests/gis_tests/geos_tests/test_geos.py10
-rw-r--r--tests/gis_tests/tests.py15
-rw-r--r--tests/version/tests.py6
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))