datasette/tests/test_lint.py
Simon Willison 6a348e3c2c Removed unnecessary imports with autoflake
I ran this:

    autoflake --in-place --recursive tests datasette
2019-06-23 22:15:31 -07:00

40 lines
1.1 KiB
Python

import io
import sys
from pathlib import Path
import isort
import pytest
from click.testing import CliRunner
code_root = Path(__file__).parent.parent
@pytest.mark.skipif(
sys.version_info[:2] < (3, 6), reason="Black requires Python 3.6 or later"
)
def test_black():
# Do not import at top of module because Python 3.5 will not have it installed
import black
runner = CliRunner()
result = runner.invoke(
black.main, [str(code_root / "tests"), str(code_root / "datasette"), "--check"]
)
assert result.exit_code == 0, result.output
@pytest.mark.parametrize(
"path",
list(code_root.glob("tests/**/*.py")) + list(code_root.glob("datasette/**/*.py")),
)
def test_isort(path):
# Have to capture stdout because isort uses print() directly
stdout = sys.stdout
sys.stdout = io.StringIO()
result = isort.SortImports(path, check=True)
assert (
not result.incorrectly_sorted
), "{} has incorrectly sorted imports, fix with 'isort -rc tests && isort -rc datasette && black tests datasette'".format(
path
)
sys.stdout = stdout