Files
aitbc/cli/tests/run_cli_tests.py
aitbc 733fa11638
Some checks failed
CLI Tests / test-cli (push) Successful in 2m26s
Security Scanning / security-scan (push) Failing after 46s
test: update CLI blockchain command test to use block query instead of info
Changed test from 'blockchain info' to 'blockchain block --number 1' and added
verification for "Block #1" in output. Also improved error output to include
stdout when stderr is empty.
2026-04-19 20:22:17 +02:00

88 lines
2.6 KiB
Python
Executable File

#!/usr/bin/env python3
"""Simple CLI test runner that uses the virtual environment."""
import subprocess
import sys
import os
from pathlib import Path
def run_cli_test():
"""Run basic CLI functionality tests."""
print("🧪 Running CLI Tests with Virtual Environment...")
# Set up environment
cli_dir = Path(__file__).resolve().parent.parent
cli_bin = cli_dir.parent / "aitbc-cli"
def run_command(*args):
return subprocess.run(
[str(cli_bin), *args],
capture_output=True,
text=True,
timeout=10,
cwd=str(cli_dir),
)
# Test 1: CLI help command
print("\n1. Testing CLI help command...")
try:
result = run_command("--help")
if result.returncode == 0 and "AITBC CLI" in result.stdout:
print("✅ CLI help command working")
else:
print(f"❌ CLI help command failed: {result.stderr}")
return False
except Exception as e:
print(f"❌ CLI help command error: {e}")
return False
# Test 2: CLI list command
print("\n2. Testing CLI list command...")
try:
result = run_command("wallet", "list")
if result.returncode == 0:
print("✅ CLI list command working")
else:
print(f"❌ CLI list command failed: {result.stderr}")
return False
except Exception as e:
print(f"❌ CLI list command error: {e}")
return False
# Test 3: CLI blockchain command
print("\n3. Testing CLI blockchain command...")
try:
result = run_command("blockchain", "block", "--number", "1")
if result.returncode == 0 and "Block #1" in result.stdout:
print("✅ CLI blockchain command working")
else:
print(f"❌ CLI blockchain command failed: {result.stderr or result.stdout}")
return False
except Exception as e:
print(f"❌ CLI blockchain command error: {e}")
return False
# Test 4: CLI invalid command handling
print("\n4. Testing CLI invalid command handling...")
try:
result = run_command("invalid-command")
if result.returncode != 0:
print("✅ CLI invalid command handling working")
else:
print("❌ CLI invalid command should have failed")
return False
except Exception as e:
print(f"❌ CLI invalid command error: {e}")
return False
print("\n✅ All CLI tests passed!")
return True
if __name__ == "__main__":
success = run_cli_test()
sys.exit(0 if success else 1)