summaryrefslogtreecommitdiff
path: root/tests/postgres_tests/test_json.py
diff options
context:
space:
mode:
authorSimon Charette <charette.s@gmail.com>2016-09-10 19:20:16 -0400
committerSimon Charette <charette.s@gmail.com>2016-09-12 20:07:35 -0400
commit32c0d823e5316aa7d616a69996919b62748368cc (patch)
treeee17f58d3e616d5477f42a09dad25f2af9d37123 /tests/postgres_tests/test_json.py
parente07b18252baeb52bb0427007fc01ab0efee72bfd (diff)
Used a database feature to prevent the jsonb test model from being migrated.
Thanks Tim for the review.
Diffstat (limited to 'tests/postgres_tests/test_json.py')
-rw-r--r--tests/postgres_tests/test_json.py26
1 files changed, 7 insertions, 19 deletions
diff --git a/tests/postgres_tests/test_json.py b/tests/postgres_tests/test_json.py
index aeaae0de34..f306284b7f 100644
--- a/tests/postgres_tests/test_json.py
+++ b/tests/postgres_tests/test_json.py
@@ -1,15 +1,13 @@
from __future__ import unicode_literals
import datetime
-import unittest
import uuid
from decimal import Decimal
from django.core import exceptions, serializers
from django.core.serializers.json import DjangoJSONEncoder
-from django.db import connection
from django.forms import CharField, Form, widgets
-from django.test import TestCase
+from django.test import skipUnlessDBFeature
from django.utils.html import escape
from . import PostgreSQLTestCase
@@ -22,18 +20,8 @@ except ImportError:
pass
-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
-
-
-@skipUnlessPG94
-class TestSaveLoad(TestCase):
+@skipUnlessDBFeature('has_jsonb_datatype')
+class TestSaveLoad(PostgreSQLTestCase):
def test_null(self):
instance = JSONModel()
instance.save()
@@ -106,8 +94,8 @@ class TestSaveLoad(TestCase):
self.assertEqual(loaded.field_custom, obj_after)
-@skipUnlessPG94
-class TestQuerying(TestCase):
+@skipUnlessDBFeature('has_jsonb_datatype')
+class TestQuerying(PostgreSQLTestCase):
@classmethod
def setUpTestData(cls):
cls.objs = [
@@ -250,8 +238,8 @@ class TestQuerying(TestCase):
)
-@skipUnlessPG94
-class TestSerialization(TestCase):
+@skipUnlessDBFeature('has_jsonb_datatype')
+class TestSerialization(PostgreSQLTestCase):
test_data = (
'[{"fields": {"field": {"a": "b", "c": null}, "field_custom": null}, '
'"model": "postgres_tests.jsonmodel", "pk": null}]'