Exemple #1
0
 def test_plugin_without_patches(self):
     with patch.object(
             plugins.Plugins,
             "iter_enabled",
             return_value=[plugins.BasePlugin("plugin1", None)],
     ):
         patches = list(plugins.iter_patches({}, "patch1"))
     self.assertEqual([], patches)
Exemple #2
0
    def test_plugin_without_patches(self):
        class plugin1:
            pass

        with unittest.mock.patch.object(plugins.Plugins,
                                        "iter_enabled",
                                        return_value=[("plugin1", plugin1)]):
            patches = list(plugins.iter_patches({}, "patch1"))
        self.assertEqual([], patches)
Exemple #3
0
    def test_patches(self):
        class plugin1:
            patches = {"patch1": "Hello {{ ID }}"}

        with unittest.mock.patch.object(plugins.Plugins,
                                        "iter_enabled",
                                        return_value=[("plugin1", plugin1)]):
            patches = list(plugins.iter_patches({}, "patch1"))
        self.assertEqual([("plugin1", "Hello {{ ID }}")], patches)
Exemple #4
0
 def test_patches(self) -> None:
     plugins_v0.DictPlugin({
         "name": "plugin1",
         "patches": {
             "patch1": "Hello {{ ID }}"
         }
     })
     plugins.load("plugin1")
     patches = list(plugins.iter_patches("patch1"))
     self.assertEqual(["Hello {{ ID }}"], patches)
Exemple #5
0
    def test_patches(self) -> None:
        class plugin1:
            patches = {"patch1": "Hello {{ ID }}"}

        with patch.object(
                plugins.Plugins,
                "iter_enabled",
                return_value=[plugins.BasePlugin("plugin1", plugin1)],
        ):
            patches = list(plugins.iter_patches({}, "patch1"))
        self.assertEqual([("plugin1", "Hello {{ ID }}")], patches)
Exemple #6
0
 def patch(self, name: str, separator: str = "\n", suffix: str = "") -> str:
     """
     Render calls to {{ patch("...") }} in environment templates from plugin patches.
     """
     patches = []
     for patch in plugins.iter_patches(name):
         try:
             patches.append(self.render_str(patch))
         except exceptions.TutorError:
             fmt.echo_error(f"Error rendering patch '{name}': {patch}")
             raise
     rendered = separator.join(patches)
     if rendered:
         rendered += suffix
     return rendered
Exemple #7
0
 def test_plugin_without_patches(self) -> None:
     plugins_v0.DictPlugin({"name": "plugin1"})
     plugins.load("plugin1")
     patches = list(plugins.iter_patches("patch1"))
     self.assertEqual([], patches)