47 lines
1.4 KiB
Python
47 lines
1.4 KiB
Python
import pytest
|
|
from click.testing import CliRunner
|
|
from errorfix.cli import cli
|
|
|
|
|
|
class TestCLI:
|
|
def setup_method(self):
|
|
self.runner = CliRunner()
|
|
|
|
def test_cli_help(self):
|
|
result = self.runner.invoke(cli, ['--help'])
|
|
assert result.exit_code == 0
|
|
assert 'cli' in result.output.lower()
|
|
|
|
def test_fix_command_help(self):
|
|
result = self.runner.invoke(cli, ['fix', '--help'])
|
|
assert result.exit_code == 0
|
|
assert 'input' in result.output.lower()
|
|
|
|
def test_fix_with_stdin_input(self):
|
|
result = self.runner.invoke(cli, ['fix', '-i', '-'], input='Unknown error')
|
|
assert result.exit_code == 0
|
|
|
|
def test_fix_with_rule_path(self):
|
|
result = self.runner.invoke(
|
|
cli,
|
|
['fix', '-r', 'rules/python', '-i', '-'],
|
|
input="NameError: name 'foo' is not defined"
|
|
)
|
|
assert result.exit_code == 0
|
|
|
|
def test_fix_with_json_output(self):
|
|
result = self.runner.invoke(
|
|
cli,
|
|
['fix', '-f', 'json', '-i', '-'],
|
|
input='Unknown error'
|
|
)
|
|
assert result.exit_code == 0
|
|
|
|
def test_plugins_command(self):
|
|
result = self.runner.invoke(cli, ['plugins'])
|
|
assert result.exit_code == 0
|
|
|
|
def test_check_command(self):
|
|
result = self.runner.invoke(cli, ['check', '-r', 'rules/python'])
|
|
assert result.exit_code == 0
|