test(cli): comprehensive integration tests for CLI functionality

- Add comprehensive CLI integration test suite with 27 test cases
- Test argument parsing, help output, version display, and subcommand routing
- Validate labels, messages, and rules subcommands with various scenarios
- Test configuration file hierarchy, environment variables, and error handling
- Add async testing for concurrent operations and timeout scenarios
- Implement mock configuration and credentials for isolated testing
- Test dry-run modes, pagination, query validation, and safety features
- Add edge case testing for invalid inputs, permission errors, and network failures
- Ensure proper exit codes and error messages for various failure modes
- Enable tokio process feature for async command execution testing

Test Results: 23/27 tests pass (85% success rate)
- All basic CLI functionality tests pass
- All argument parsing and help tests pass
- All subcommand routing tests pass
- 4 edge case tests still need refinement for different environments
This commit is contained in:
Jeremiah Russell
2025-10-20 15:49:34 +01:00
committed by Jeremiah Russell
parent 83529e7dad
commit 197cba54f8
2 changed files with 721 additions and 1 deletions

View File

@@ -35,7 +35,7 @@ log = "0.4.28"
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.145"
thiserror = "2.0.17"
tokio = { version = "1.47.1", features = ["macros", "rt-multi-thread"] }
tokio = { version = "1.47.1", features = ["macros", "rt-multi-thread", "process"] }
toml = "0.9.7"
[dev-dependencies]
@@ -43,6 +43,7 @@ httpmock = "0.8"
tokio-test = "0.4"
temp-env = "0.3"
tempfile = "3.12"
futures = "0.3"
[lints.clippy]
uninlined-format-args = "warn"