"""pytest tests for axolotl CLI fetch command.""" from unittest.mock import patch from axolotl.cli.main import fetch def test_fetch_cli_examples(cli_runner): """Test fetch command with examples directory""" with patch("axolotl.cli.main.fetch_from_github") as mock_fetch: result = cli_runner.invoke(fetch, ["examples"]) assert result.exit_code == 0 mock_fetch.assert_called_once_with("examples/", None) def test_fetch_cli_deepspeed(cli_runner): """Test fetch command with deepspeed_configs directory""" with patch("axolotl.cli.main.fetch_from_github") as mock_fetch: result = cli_runner.invoke(fetch, ["deepspeed_configs"]) assert result.exit_code == 0 mock_fetch.assert_called_once_with("deepspeed_configs/", None) def test_fetch_cli_with_dest(cli_runner, tmp_path): """Test fetch command with custom destination""" with patch("axolotl.cli.main.fetch_from_github") as mock_fetch: custom_dir = tmp_path / "tmp_examples" result = cli_runner.invoke(fetch, ["examples", "--dest", str(custom_dir)]) assert result.exit_code == 0 mock_fetch.assert_called_once_with("examples/", str(custom_dir)) def test_fetch_cli_invalid_directory(cli_runner): """Test fetch command with invalid directory choice""" result = cli_runner.invoke(fetch, ["invalid"]) assert result.exit_code != 0