def test_configure(self) -> None: plugins_v0.DictPlugin({ "name": "plugin1", "config": { "add": { "PARAM1": "value1", "PARAM2": "value2" }, "set": { "PARAM3": "value3" }, "defaults": { "PARAM4": "value4" }, }, }) plugins.load("plugin1") base = tutor_config.get_base() defaults = tutor_config.get_defaults() self.assertEqual(base["PARAM3"], "value3") self.assertEqual(base["PLUGIN1_PARAM1"], "value1") self.assertEqual(base["PLUGIN1_PARAM2"], "value2") self.assertEqual(defaults["PLUGIN1_PARAM4"], "value4")
def test_configure(self) -> None: class plugin1: config: Config = { "add": { "PARAM1": "value1", "PARAM2": "value2" }, "set": { "PARAM3": "value3" }, "defaults": { "PARAM4": "value4" }, } with patch.object( plugins.Plugins, "iter_enabled", return_value=[plugins.BasePlugin("plugin1", plugin1)], ): base = tutor_config.get_base({}) defaults = tutor_config.get_defaults({}) self.assertEqual(base["PARAM3"], "value3") self.assertEqual(base["PLUGIN1_PARAM1"], "value1") self.assertEqual(base["PLUGIN1_PARAM2"], "value2") self.assertEqual(defaults["PLUGIN1_PARAM4"], "value4")
def test_merge_not_render(self) -> None: config: Config = {} base = tutor_config.get_base({}) with patch.object(tutor_config.utils, "random_string", return_value="abcd"): tutor_config.merge(config, base) # Check that merge does not perform a rendering self.assertNotEqual("abcd", config["MYSQL_ROOT_PASSWORD"])
def test_configure_set_random_string(self) -> None: class plugin1: config: Config = {"set": {"PARAM1": "{{ 128|random_string }}"}} with patch.object( plugins.Plugins, "iter_enabled", return_value=[plugins.BasePlugin("plugin1", plugin1)], ): config = tutor_config.get_base({}) tutor_config.render_full(config) self.assertEqual(128, len(get_typed(config, "PARAM1", str)))
def test_configure_set_random_string(self) -> None: plugins_v0.DictPlugin({ "name": "plugin1", "config": { "set": { "PARAM1": "{{ 128|random_string }}" } }, }) plugins.load("plugin1") config = tutor_config.get_base() tutor_config.render_full(config) self.assertEqual(128, len(get_typed(config, "PARAM1", str)))