def test_multiple_handlers_on_one_conf(self): ConfigLoadHandler(confA)(cl_set_external_var("var1")) ConfigLoadHandler(confA)(cl_set_external_var("var2")) self.assertNotIn("var1", has_run) self.assertNotIn("var2", has_run) self.fire(confA, None) self.assertIn("var1", has_run) self.assertIn("var2", has_run)
def test_only_conf_specific_handlers_are_called_when_handlers_fired(self): ConfigLoadHandler(confA)(cl_set_external_var("var1")) ConfigLoadHandler(confB)(cl_set_external_var("var2")) self.fire(confA, None) self.assertIn("var1", has_run) self.assertNotIn("var2", has_run) has_run.clear() self.fire(confB, None) self.assertNotIn("var1", has_run) self.assertIn("var2", has_run)
def test_handler_lastingly_modifies_new_conf(self): conf = {} ConfigLoadHandler(confA)(cl_modify_conf) ConfigLoadHandler(confA)(cl_error_if_nonempty_conf) self.assertNotIn("newkey", conf) self.assertRaisesRegex( Exception, "isn't empty", self.fire, confA, conf, )
def load_config(conf): """ Load or reload a specific configuration file. Args: conf: the file to load, without the extension. """ with open(join("configs", (conf + ".yml"))) as file: config = yaml.load(file.read(), Loader=yaml.FullLoader) ConfigLoadHandler.fire_handlers(conf, config) configs[conf] = config
def test_handler_modifies_new_conf(self): conf = {} ConfigLoadHandler(confA)(cl_modify_conf) self.assertNotIn("newkey", conf) self.fire(confA, conf) self.assertIn("newkey", conf) self.assertEquals(conf["newkey"], True)
def test_multiple_handlers_on_multiple_confs(self): ConfigLoadHandler(confA)(cl_set_external_var("var1")) ConfigLoadHandler(confA)(cl_set_external_var("var2")) ConfigLoadHandler(confB)(cl_set_external_var("var3")) ConfigLoadHandler(confB)(cl_set_external_var("var4")) for i in (1, 2, 3, 4): self.assertNotIn("var" + str(i), has_run) self.fire(confA, None) self.assertIn("var1", has_run) self.assertIn("var2", has_run) self.assertNotIn("var3", has_run) self.assertNotIn("var4", has_run) has_run.clear() self.fire(confB, None) self.assertNotIn("var1", has_run) self.assertNotIn("var2", has_run) self.assertIn("var3", has_run) self.assertIn("var4", has_run)
def test_handler_gets_run(self): ConfigLoadHandler(confA)(cl_set_external_var("var")) self.assertNotIn("var", has_run) self.fire(confA, None) self.assertIn("var", has_run)
def test_malformed_conf_raises_error(self): ConfigLoadHandler(confA)(cl_val_data) self.assertRaisesRegex(Exception, "badkey", self.fire, confA, ["badkey"])