2015-04-04 16:10:26 +00:00
|
|
|
import unittest
|
|
|
|
|
2017-04-29 23:00:21 +00:00
|
|
|
from forms_tests.widget_tests.base import WidgetTest
|
|
|
|
|
2015-04-04 16:10:26 +00:00
|
|
|
from django.db import connection
|
2016-07-20 08:18:11 +00:00
|
|
|
from django.db.backends.signals import connection_created
|
2017-04-29 23:00:21 +00:00
|
|
|
from django.test import TestCase, modify_settings
|
2015-04-04 16:10:26 +00:00
|
|
|
|
|
|
|
|
2017-05-15 13:26:38 +00:00
|
|
|
def skipUnlessPG94(test):
|
|
|
|
try:
|
|
|
|
PG_VERSION = connection.pg_version
|
|
|
|
except AttributeError:
|
|
|
|
PG_VERSION = 0
|
|
|
|
if PG_VERSION < 90400:
|
|
|
|
return unittest.skip('PostgreSQL ≥ 9.4 required')(test)
|
|
|
|
return test
|
|
|
|
|
|
|
|
|
2015-04-04 16:10:26 +00:00
|
|
|
@unittest.skipUnless(connection.vendor == 'postgresql', "PostgreSQL specific tests")
|
2015-05-30 21:18:01 +00:00
|
|
|
class PostgreSQLTestCase(TestCase):
|
2016-07-20 08:18:11 +00:00
|
|
|
@classmethod
|
|
|
|
def tearDownClass(cls):
|
|
|
|
# No need to keep that signal overhead for non PostgreSQL-related tests.
|
2017-05-03 05:25:30 +00:00
|
|
|
from django.contrib.postgres.signals import register_type_handlers
|
2016-07-20 08:18:11 +00:00
|
|
|
|
2017-05-03 05:25:30 +00:00
|
|
|
connection_created.disconnect(register_type_handlers)
|
2017-01-21 13:13:44 +00:00
|
|
|
super().tearDownClass()
|
2017-04-29 23:00:21 +00:00
|
|
|
|
|
|
|
|
|
|
|
@unittest.skipUnless(connection.vendor == 'postgresql', "PostgreSQL specific tests")
|
|
|
|
# To locate the widget's template.
|
|
|
|
@modify_settings(INSTALLED_APPS={'append': 'django.contrib.postgres'})
|
2017-05-03 05:25:30 +00:00
|
|
|
class PostgreSQLWidgetTestCase(WidgetTest, PostgreSQLTestCase):
|
2017-04-29 23:00:21 +00:00
|
|
|
pass
|