| """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 | |