Refs #27996 -- Skipped RandomUUID test on PostgreSQL 9.3.

This commit is contained in:
Tim Graham 2017-05-15 09:26:38 -04:00 committed by GitHub
parent f0d47ab3b6
commit 650bf6714d
3 changed files with 14 additions and 1 deletions

View File

@ -16,6 +16,8 @@ All of these functions are available from the
Returns a version 4 UUID. Returns a version 4 UUID.
Requires PostgreSQL 9.4 or greater.
The `pgcrypto extension`_ must be installed. You can use the The `pgcrypto extension`_ must be installed. You can use the
:class:`~django.contrib.postgres.operations.CryptoExtension` migration :class:`~django.contrib.postgres.operations.CryptoExtension` migration
operation to install it. operation to install it.

View File

@ -7,6 +7,16 @@ from django.db.backends.signals import connection_created
from django.test import TestCase, modify_settings from django.test import TestCase, modify_settings
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
@unittest.skipUnless(connection.vendor == 'postgresql', "PostgreSQL specific tests") @unittest.skipUnless(connection.vendor == 'postgresql', "PostgreSQL specific tests")
class PostgreSQLTestCase(TestCase): class PostgreSQLTestCase(TestCase):
@classmethod @classmethod

View File

@ -4,7 +4,7 @@ from time import sleep
from django.contrib.postgres.functions import RandomUUID, TransactionNow from django.contrib.postgres.functions import RandomUUID, TransactionNow
from . import PostgreSQLTestCase from . import PostgreSQLTestCase, skipUnlessPG94
from .models import NowTestModel, UUIDTestModel from .models import NowTestModel, UUIDTestModel
@ -29,6 +29,7 @@ class TestTransactionNow(PostgreSQLTestCase):
self.assertEqual(m1.when, m2.when) self.assertEqual(m1.when, m2.when)
@skipUnlessPG94
class TestRandomUUID(PostgreSQLTestCase): class TestRandomUUID(PostgreSQLTestCase):
def test_random_uuid(self): def test_random_uuid(self):