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"], )