58 lines
1.8 KiB
Python
58 lines
1.8 KiB
Python
"""Tests for CLI module."""
|
|
|
|
import pytest
|
|
from click.testing import CliRunner
|
|
|
|
from devtoolbelt.cli import main
|
|
|
|
|
|
class TestCLI:
|
|
"""Tests for CLI commands."""
|
|
|
|
@pytest.fixture
|
|
def runner(self):
|
|
"""Create a CLI runner."""
|
|
return CliRunner()
|
|
|
|
def test_help(self, runner):
|
|
"""Test help command."""
|
|
result = runner.invoke(main, ['--help'])
|
|
assert result.exit_code == 0
|
|
assert 'Devtoolbelt' in result.output
|
|
|
|
def test_version(self, runner):
|
|
"""Test version command."""
|
|
result = runner.invoke(main, ['version'])
|
|
assert result.exit_code == 0
|
|
assert 'Devtoolbelt' in result.output
|
|
|
|
def test_db_help(self, runner):
|
|
"""Test database help."""
|
|
result = runner.invoke(main, ['database', '--help'])
|
|
assert result.exit_code == 0
|
|
assert 'database' in result.output.lower()
|
|
|
|
def test_api_help(self, runner):
|
|
"""Test API help."""
|
|
result = runner.invoke(main, ['api', '--help'])
|
|
assert result.exit_code == 0
|
|
assert 'API' in result.output
|
|
|
|
def test_utils_help(self, runner):
|
|
"""Test utils help."""
|
|
result = runner.invoke(main, ['utils', '--help'])
|
|
assert result.exit_code == 0
|
|
assert 'Common utility functions' in result.output
|
|
|
|
def test_db_list_empty(self, runner):
|
|
"""Test db list with no configured databases."""
|
|
result = runner.invoke(main, ['database', 'list'])
|
|
assert result.exit_code == 0
|
|
assert 'No databases configured' in result.output
|
|
|
|
def test_api_list_empty(self, runner):
|
|
"""Test api list with no configured endpoints."""
|
|
result = runner.invoke(main, ['api', 'list'])
|
|
assert result.exit_code == 0
|
|
assert 'No API endpoints configured' in result.output
|