コード例 #1
0
ファイル: test_env.py プロジェクト: arbrandes/tutor
    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())
コード例 #2
0
ファイル: test_env.py プロジェクト: arbrandes/tutor
 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)
コード例 #3
0
 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)
コード例 #4
0
ファイル: test_env.py プロジェクト: arbrandes/tutor
 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)),
     )
コード例 #5
0
ファイル: test_env.py プロジェクト: wey-gu/tutor
 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))
コード例 #6
0
ファイル: test_env.py プロジェクト: wey-gu/tutor
 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)