mirror of
https://github.com/django/django.git
synced 2025-07-23 05:05:17 +00:00
Thanks to Adam Johnson, Carlton Gibson, Mariusz Felisiak, and Raphael Michel for mentoring this Google Summer of Code 2019 project and everyone else who helped with the patch. Special thanks to Mads Jensen, Nick Pope, and Simon Charette for extensive reviews. Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
This commit is contained in:
parent
f97f71f592
commit
6789ded0a6
54 changed files with 2240 additions and 981 deletions
54
tests/postgres_tests/test_json_deprecation.py
Normal file
54
tests/postgres_tests/test_json_deprecation.py
Normal file
|
@ -0,0 +1,54 @@
|
|||
try:
|
||||
from django.contrib.postgres.fields import JSONField
|
||||
from django.contrib.postgres.fields.jsonb import KeyTransform, KeyTextTransform
|
||||
from django.contrib.postgres import forms
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
from django.core.checks import Warning as DjangoWarning
|
||||
from django.utils.deprecation import RemovedInDjango40Warning
|
||||
|
||||
from . import PostgreSQLSimpleTestCase
|
||||
from .models import PostgreSQLModel
|
||||
|
||||
|
||||
class DeprecationTests(PostgreSQLSimpleTestCase):
|
||||
def test_model_field_deprecation_message(self):
|
||||
class PostgreSQLJSONModel(PostgreSQLModel):
|
||||
field = JSONField()
|
||||
|
||||
self.assertEqual(PostgreSQLJSONModel().check(), [
|
||||
DjangoWarning(
|
||||
'django.contrib.postgres.fields.JSONField is deprecated. '
|
||||
'Support for it (except in historical migrations) will be '
|
||||
'removed in Django 4.0.',
|
||||
hint='Use django.db.models.JSONField instead.',
|
||||
obj=PostgreSQLJSONModel._meta.get_field('field'),
|
||||
id='fields.W904',
|
||||
),
|
||||
])
|
||||
|
||||
def test_form_field_deprecation_message(self):
|
||||
msg = (
|
||||
'django.contrib.postgres.forms.JSONField is deprecated in favor '
|
||||
'of django.forms.JSONField.'
|
||||
)
|
||||
with self.assertWarnsMessage(RemovedInDjango40Warning, msg):
|
||||
forms.JSONField()
|
||||
|
||||
def test_key_transform_deprecation_message(self):
|
||||
msg = (
|
||||
'django.contrib.postgres.fields.jsonb.KeyTransform is deprecated '
|
||||
'in favor of django.db.models.fields.json.KeyTransform.'
|
||||
)
|
||||
with self.assertWarnsMessage(RemovedInDjango40Warning, msg):
|
||||
KeyTransform('foo', 'bar')
|
||||
|
||||
def test_key_text_transform_deprecation_message(self):
|
||||
msg = (
|
||||
'django.contrib.postgres.fields.jsonb.KeyTextTransform is '
|
||||
'deprecated in favor of '
|
||||
'django.db.models.fields.json.KeyTextTransform.'
|
||||
)
|
||||
with self.assertWarnsMessage(RemovedInDjango40Warning, msg):
|
||||
KeyTextTransform('foo', 'bar')
|
Loading…
Add table
Add a link
Reference in a new issue