Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Skipped PostGIS version tests when psycopg2 not installed

Refs #22334. Thanks Tim Graham for spotting the issue.
  • Loading branch information...
commit e819a3cd622fe9404b1f5ea7891906c4cdabbb12 1 parent 88f1e3d
Claude Paroz claudep authored
Showing with 24 additions and 17 deletions.
  1. +24 −17 django/contrib/gis/tests/tests.py
41 django/contrib/gis/tests/tests.py
View
@@ -1,32 +1,39 @@
import unittest
-from django.contrib.gis.db.backends.postgis.operations import PostGISOperations
from django.core.exceptions import ImproperlyConfigured
from django.db import ProgrammingError
+try:
+ from django.contrib.gis.db.backends.postgis.operations import PostGISOperations
+ HAS_POSTGRES = True
+except ImportError:
+ HAS_POSTGRES = False
-class FakeConnection(object):
- def __init__(self):
- self.settings_dict = {
- 'NAME': 'test',
- }
+if HAS_POSTGRES:
+ class FakeConnection(object):
+ def __init__(self):
+ self.settings_dict = {
+ 'NAME': 'test',
+ }
-class FakePostGISOperations(PostGISOperations):
- def __init__(self, version=None):
- self.version = version
- self.connection = FakeConnection()
- def _get_postgis_func(self, func):
- if func == 'postgis_lib_version':
- if self.version is None:
- raise ProgrammingError
+ class FakePostGISOperations(PostGISOperations):
+ def __init__(self, version=None):
+ self.version = version
+ self.connection = FakeConnection()
+
+ def _get_postgis_func(self, func):
+ if func == 'postgis_lib_version':
+ if self.version is None:
+ raise ProgrammingError
+ else:
+ return self.version
else:
- return self.version
- else:
- raise NotImplementedError('This function was not expected to be called')
+ raise NotImplementedError('This function was not expected to be called')
+@unittest.skipUnless(HAS_POSTGRES, "The psycopg2 driver is needed for these tests")
class TestPostgisVersionCheck(unittest.TestCase):
"""
Tests that the postgis version check parses correctly the version numbers
Please sign in to comment.
Something went wrong with that request. Please try again.