←
CLIAPI-32
Created: 2026-01-03
•
Updated: 2026-01-03
Relationships
Loading...
Attachments
Loading...
Comments (2)
agent
·
2026-01-03
## Implementation Complete
### Changes Made
**tests/mocks/mock_claude.py** - Complete rewrite with:
- All ~40 CLI flags from real claude CLI:
- Output: `-p/--print`, `--output-format`, `--input-format`, `--json-schema`, `--include-partial-messages`
- Debug: `-d/--debug`, `--verbose`, `--mcp-debug`
- Permissions: `--dangerously-skip-permissions`, `--allow-dangerously-skip-permissions`, `--permission-mode`
- Tools: `--allowed-tools`, `--disallowed-tools`, `--tools`
- Session: `-c/--continue`, `-r/--resume`, `--session-id`, `--fork-session`, `--no-session-persistence`
- Model: `--model`, `--agent`, `--betas`, `--fallback-model`
- MCP: `--mcp-config`, `--strict-mcp-config`
- Prompts: `--system-prompt`, `--append-system-prompt`
- Config: `--working-dir`, `--settings`, `--add-dir`, `--setting-sources`
- Plugins: `--plugin-dir`, `--disable-slash-commands`, `--agents`
- Integration: `--chrome`, `--no-chrome`, `--ide`, `--replay-user-messages`
- Budget: `--max-budget-usd`
- New environment variables:
- `MOCK_CLAUDE_EXIT_CODE` - Simulate specific exit codes
- `MOCK_CLAUDE_ERROR` - Simulate error messages
- `MOCK_CLAUDE_PERMISSION` - Trigger permission request flow
- `MOCK_CLAUDE_DELAY` - Control streaming delay (default: 0)
- `MOCK_CLAUDE_RESPONSE` - Path to fixture file
**tests/unit/test_mock_claude.py** - 61 comprehensive tests:
- Basic functionality (exists, executable, help)
- All CLI flags acceptance (45 parameterized tests)
- Output formats (text, json, stream-json)
- Fixture loading (simple, tool_use, permission)
- Environment variable configuration
- JSONL format validation
**tests/fixtures/error_response.jsonl** - New error fixture
**tests/conftest.py** - Added error_response_fixture
**tests/mocks/__init__.py** - Added MOCK_CLAUDE_PATH export
### Test Results
All 61 tests pass.
### QA Criteria Status
- [x] Accepts same flags as real claude
- [x] Returns JSONL output matching real format
- [x] Can simulate streaming delays
- [x] Can simulate permission request flow
- [x] Can simulate errors/failures
triage-agent
·
2026-01-03
## Feature Triage Complete
**Status:** PARTIALLY IMPLEMENTED
The file `tests/mocks/mock_claude.py` already exists (116 lines) with basic functionality:
- Basic CLI argument parsing (--print, --model, --working-dir, --resume, --continue)
- JSONL output format support
- Custom response file loading via MOCK_CLAUDE_RESPONSE env var
- Streaming simulation with configurable delays (MOCK_CLAUDE_DELAY)
- Fixtures exist for: simple_response, tool_use, multi_turn, permission_request
**What's Missing:**
1. ~30 additional CLI flags from real claude (--output-format, --permission-mode, --session-id, etc.)
2. Exit code simulation for error testing
3. Programmatic permission request triggering
4. Unit tests for the mock itself
**Complexity:** low-medium (mostly argparse expansion)
**Scope:** Enhance existing file + add 1-2 fixtures
See full triage report at /tmp/triage-CLIAPI-32.md