from django.core.checks import Error from django.core.checks.compatibility.django_4_0 import ( check_csrf_trusted_origins, ) from django.test import SimpleTestCase from django.test.utils import override_settings class CheckCSRFTrustedOrigins(SimpleTestCase): @override_settings(CSRF_TRUSTED_ORIGINS=['example.com']) def test_invalid_url(self): self.assertEqual(check_csrf_trusted_origins(None), [ Error( 'As of Django 4.0, the values in the CSRF_TRUSTED_ORIGINS ' 'setting must start with a scheme (usually http:// or ' 'https://) but found example.com. See the release notes for ' 'details.', id='4_0.E001', ) ]) @override_settings( CSRF_TRUSTED_ORIGINS=['http://example.com', 'https://example.com'], ) def test_valid_urls(self): self.assertEqual(check_csrf_trusted_origins(None), [])