def _add_aliases(configsection): """Add optional aliases defined in the alias section to AliasRunner. Args: configsection: ALIASES section in the config file. """ for name, command in configsection.items(): try: aliases.alias(name, [command], "global") except api.commands.CommandError as e: logging.error("Reading aliases from config: %s", str(e))
def alias(request): """Pytest fixture to create and delete an alias. Default mode for alias creation is GLOBAL. This can be changed via indirect fixture parametrization. """ mode = request.param definition = AliasDefinition(mode=mode) aliases.alias(definition.name, [definition.command], mode=definition.mode.name) yield definition del aliases._aliases[definition.mode][definition.name]
def test_add_alias_for_different_mode(): aliases.alias("test", ["quit"], mode="image") assert aliases.get(api.modes.IMAGE)["test"] == "quit" assert "test" not in aliases.get(api.modes.GLOBAL) del aliases._aliases[api.modes.IMAGE]["test"]
def test_fail_add_alias_no_list(): with pytest.raises(AssertionError, match="defined as list"): aliases.alias("test", "any")
def test_add_alias(): aliases.alias("test", ["quit"]) assert aliases.get(api.modes.GLOBAL)["test"] == "quit" del aliases._aliases[api.modes.GLOBAL]["test"]
def test_fail_mode_not_as_str(): with pytest.raises(AssertionError, match="Mode must be passed"): aliases.alias("test", ["any"], mode=api.modes.GLOBAL)