def test_renderer_is_reset_on_config_change(self) -> None: with tempfile.TemporaryDirectory() as plugin_templates: plugin1 = DictPlugin({ "name": "plugin1", "version": "0", "templates": plugin_templates }) # Create one template os.makedirs(os.path.join(plugin_templates, plugin1.name)) with open( os.path.join(plugin_templates, plugin1.name, "myplugin.txt"), "w", encoding="utf-8", ) as f: f.write("some content") # Load env once config: Config = {"PLUGINS": []} env1 = env.Renderer(config).environment # Enable plugins plugins.load("plugin1") # Load env a second time config["PLUGINS"] = ["myplugin"] env2 = env.Renderer(config).environment self.assertNotIn("plugin1/myplugin.txt", env1.loader.list_templates()) self.assertIn("plugin1/myplugin.txt", env2.loader.list_templates())
def test_walk_templates_partials_are_ignored(self) -> None: template_name = "apps/openedx/settings/partials/common_all.py" renderer = env.Renderer() templates = list(renderer.walk_templates("apps")) self.assertIn(template_name, renderer.environment.loader.list_templates()) self.assertNotIn(template_name, templates)
def test_walk_templates_partials_are_ignored(self): template_name = "apps/openedx/settings/partials/common_all.py" renderer = env.Renderer({}, [env.TEMPLATES_ROOT], ignore_folders=["partials"]) templates = list(renderer.walk_templates("apps")) self.assertIn(template_name, renderer.environment.loader.list_templates()) self.assertNotIn(template_name, templates)
def test_iter_values_named(self) -> None: config: Config = { "something0_test_app": 0, "something1_test_not_app": 1, "notsomething_test_app": 2, "something3_test_app": 3, } renderer = env.Renderer(config) self.assertEqual([2, 3], list(renderer.iter_values_named(suffix="test_app"))) self.assertEqual([1, 3], list(renderer.iter_values_named(prefix="something"))) self.assertEqual( [0, 3], list( renderer.iter_values_named(prefix="something", suffix="test_app", allow_empty=True)), )
def test_find_os_path(self) -> None: renderer = env.Renderer({}, [env.TEMPLATES_ROOT]) path = renderer.find_os_path("local/docker-compose.yml") self.assertTrue(os.path.exists(path))
def test_walk_templates(self) -> None: renderer = env.Renderer({}, [env.TEMPLATES_ROOT]) templates = list(renderer.walk_templates("local")) self.assertIn("local/docker-compose.yml", templates)