test_json_deprecation.py 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. try:
  2. from django.contrib.postgres import forms
  3. from django.contrib.postgres.fields.jsonb import (
  4. KeyTextTransform, KeyTransform,
  5. )
  6. except ImportError:
  7. pass
  8. from django.utils.deprecation import RemovedInDjango40Warning
  9. from . import PostgreSQLSimpleTestCase
  10. class DeprecationTests(PostgreSQLSimpleTestCase):
  11. def test_form_field_deprecation_message(self):
  12. msg = (
  13. 'django.contrib.postgres.forms.JSONField is deprecated in favor '
  14. 'of django.forms.JSONField.'
  15. )
  16. with self.assertWarnsMessage(RemovedInDjango40Warning, msg):
  17. forms.JSONField()
  18. def test_key_transform_deprecation_message(self):
  19. msg = (
  20. 'django.contrib.postgres.fields.jsonb.KeyTransform is deprecated '
  21. 'in favor of django.db.models.fields.json.KeyTransform.'
  22. )
  23. with self.assertWarnsMessage(RemovedInDjango40Warning, msg):
  24. KeyTransform('foo', 'bar')
  25. def test_key_text_transform_deprecation_message(self):
  26. msg = (
  27. 'django.contrib.postgres.fields.jsonb.KeyTextTransform is '
  28. 'deprecated in favor of '
  29. 'django.db.models.fields.json.KeyTextTransform.'
  30. )
  31. with self.assertWarnsMessage(RemovedInDjango40Warning, msg):
  32. KeyTextTransform('foo', 'bar')