def test_command_as_tuple(self): cfg = parse_configuration({ 'commands': {'foo': ('some', 'foo', 'command')}}) assert isinstance(cfg, Aliasfile) assert isinstance(cfg.commands['foo'], CommandSpec) assert cfg.commands['foo'].command == ['some', 'foo', 'command']
def test_command_as_dict(self): cfg = parse_configuration({ 'commands': { 'foo': { 'command': 'echo "foo bar"', 'env': {'ENV1': 'val1'}, }, }}) assert isinstance(cfg, Aliasfile) assert isinstance(cfg.commands['foo'], CommandSpec) assert cfg.commands['foo'].command == ['echo', 'foo bar'] assert cfg.commands['foo'].env == {'ENV1': 'val1'}
def test_empty_configuration(self): cfg = parse_configuration({}) assert isinstance(cfg, Aliasfile) assert cfg.commands == {} assert cfg.env == {}
def test_command_can_be_none(self): cfg = parse_configuration({'commands': {'foo': None}}) assert isinstance(cfg, Aliasfile) assert isinstance(cfg.commands['foo'], CommandSpec) assert cfg.commands['foo'].command == []
def test_replacements_are_not_applied_to_args(self, mock_execvpe): config = parse_configuration({"commands": {"foo": {"command": "echo", "append_args": True}}}) run_command(config, "foo", ["ARG {0}"], {}) assert mock_execvpe.call_args_list == [mock.call("echo", ["echo", "ARG {0}"], {})]
def test_command_can_be_empty(self, mock_execvpe): config = parse_configuration({"commands": {"foo": None}}) run_command(config, "foo", ["echo", "foo bar"], {}) assert mock_execvpe.call_args_list == [mock.call("echo", ["echo", "foo bar"], {})]
def test_args_and_env_can_be_omitted(self, mock_execvpe): config = parse_configuration({"commands": {"foo": {"command": 'echo "foo bar"'}}}) run_command(config, "foo") assert mock_execvpe.call_args_list == [mock.call("echo", ["echo", "foo bar"], os.environ)]
def test_extra_args_are_not_appended_if_disabled(self, mock_execvpe): config = parse_configuration({"commands": {"foo": {"command": 'echo "foo bar"', "append_args": False}}}) run_command(config, "foo", ["extra", "args"], env={}) assert mock_execvpe.call_args_list == [mock.call("echo", ["echo", "foo bar"], {})]
def test_extra_args_are_appended_by_default(self, mock_execvpe): config = parse_configuration({"commands": {"foo": {"command": 'echo "foo bar"'}}}) run_command(config, "foo", ["extra", "args"], env={}) assert mock_execvpe.call_args_list == [mock.call("echo", ["echo", "foo bar", "extra", "args"], {})]
def test_simple_command_would_be_run(self, mock_execvpe): config = parse_configuration({"commands": {"foo": {"command": 'echo "foo bar"', "env": {"ONE": "1"}}}}) run_command(config, "foo", [], env={"USER": "******"}) assert mock_execvpe.call_args_list == [mock.call("echo", ["echo", "foo bar"], {"USER": "******", "ONE": "1"})]