123456789101112131415161718192021222324252627282930 |
- from contextlib import contextmanager
- from django.core.exceptions import FieldDoesNotExist, FieldError
- from django.db.models.query_utils import InvalidQuery
- from django.test import SimpleTestCase
- from django.utils.deprecation import RemovedInDjango40Warning
- class InvalidQueryTests(SimpleTestCase):
- @contextmanager
- def assert_warns(self):
- msg = (
- 'The InvalidQuery exception class is deprecated. Use '
- 'FieldDoesNotExist or FieldError instead.'
- )
- with self.assertWarnsMessage(RemovedInDjango40Warning, msg):
- yield
- def test_type(self):
- self.assertIsInstance(InvalidQuery(), InvalidQuery)
- def test_isinstance(self):
- for exception in (FieldError, FieldDoesNotExist):
- with self.assert_warns(), self.subTest(exception.__name__):
- self.assertIsInstance(exception(), InvalidQuery)
- def test_issubclass(self):
- for exception in (FieldError, FieldDoesNotExist, InvalidQuery):
- with self.assert_warns(), self.subTest(exception.__name__):
- self.assertIs(issubclass(exception, InvalidQuery), True)
|