def load_config(config_filename): config = Config() config.add_handler_class(GitHandler) config.add_handler_class(RsyncHandler) config.add_handler_class(UnisonHandler) config.add_handler_class(CommandHandler) config.parse(path(config_filename).expanduser()) return config
def test_parse(self): config = Config() config.add_handler_class(TestHandler) fp = StringIO(TEST_CONFIG) config.parsefp(fp) self.assertEqual(len(config.groups), 2) self.assert_("daily" in config.groups) self.assert_("manual" in config.groups) group = config.groups["daily"] self.assertEqual(len(group.handlers), 2) self.assertEqual(group.handlers[0].path, "/daily1") self.assertEqual(group.handlers[1].path, "/daily2") group = config.groups["manual"] home_path = path("~/manual").expanduser() opt_path = "/opt" self.assertEqual(len(group.handlers), 2) self.assertEqual(group.handlers[0].path, home_path) self.assertEqual(group.handlers[1].path, opt_path) # Check opt_path self.assertEqual(group.handlers[1].options, {"opt1":"foo", "opt2":"bar"})