Files
cmdparse/app/tests/test_cli.py
7000pctAUTO 88fa08636e
Some checks failed
CI / test (push) Has been cancelled
fix: resolve CI linting and type checking issues
2026-02-04 02:19:01 +00:00

43 lines
1.2 KiB
Python

import pytest
from click.testing import CliRunner
from cmdparse.cli import main
def test_cli_basic():
"""Test basic CLI functionality."""
runner = CliRunner()
result = runner.invoke(main, ['-q'], input='test input')
assert result.exit_code == 0
def test_cli_output_format():
"""Test different output formats."""
runner = CliRunner()
for fmt in ['json', 'yaml', 'csv', 'raw']:
result = runner.invoke(main, ['-o', fmt, '-q'], input='test input')
assert result.exit_code == 0
def test_cli_extract_fields():
"""Test field extraction."""
runner = CliRunner()
input_text = 'key1: value1\nkey2: value2'
result = runner.invoke(main, ['-e', 'key1', '-q'], input=input_text)
assert result.exit_code == 0
def test_cli_empty_input():
"""Test handling of empty input."""
runner = CliRunner()
result = runner.invoke(main, ['-q'], input='')
assert result.exit_code == 1
assert 'No input' in result.output
def test_cli_quiet_flag():
"""Test quiet flag suppresses pattern detection."""
runner = CliRunner()
result_quiet = runner.invoke(main, ['-q'], input='test')
result_normal = runner.invoke(main, [], input='test')
assert result_quiet.exit_code == 0