import importlib import os from unittest import mock from django.test import TestCase class AppOptionsTestCase(TestCase): def setUp(self) -> None: self.settings_module = importlib.import_module('siteroot.settings.base') def test_empty_csrf_trusted_origins(self): module = importlib.reload(self.settings_module) self.assertFalse(hasattr(module, 'CSRF_TRUSTED_ORIGINS')) @mock.patch.dict(os.environ, {'LD_CSRF_TRUSTED_ORIGINS': 'https://linkding.example.com'}) def test_single_csrf_trusted_origin(self): module = importlib.reload(self.settings_module) self.assertTrue(hasattr(module, 'CSRF_TRUSTED_ORIGINS')) self.assertCountEqual(module.CSRF_TRUSTED_ORIGINS, ['https://linkding.example.com']) @mock.patch.dict(os.environ, {'LD_CSRF_TRUSTED_ORIGINS': 'https://linkding.example.com,http://linkding.example.com'}) def test_multiple_csrf_trusted_origin(self): module = importlib.reload(self.settings_module) self.assertTrue(hasattr(module, 'CSRF_TRUSTED_ORIGINS')) self.assertCountEqual(module.CSRF_TRUSTED_ORIGINS, ['https://linkding.example.com', 'http://linkding.example.com'])