ci: lint + format + test on push
Some checks failed
/ Static Analysis (push) Failing after 43s
/ Tests (push) Failing after 38s

fix: ensure ci lints all source files

chore: formatting
This commit is contained in:
Marc 2024-04-12 01:16:03 -04:00
parent dc57ecd228
commit 95dc28e227
Signed by: marc
GPG key ID: 048E042F22B5DC79
5 changed files with 48 additions and 15 deletions

View file

@ -6,22 +6,24 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v2
- uses: https://github.com/actions/setup-python@v5
with:
python-version: 3.12
- run: |
pip install -r ./requirements.txt
pip install -r ./requirements_sast.txt
- name: Formatting
run: python -m black .
run: python -m black . --check
- name: Linting
run: python -m pylint .
run: python -m pylint **/*.py
test:
name: Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v2
with:
github-server-url: https://forge.karnov.club
- uses: https://github.com/actions/setup-python@v5
with:
python-version: 3.12
- run: |

View file

@ -25,3 +25,7 @@ spud = "spud.cli:cli"
[tool.setuptools]
packages = ["spud"]
[tool.pylint.main]
ignore = ["spud.venv"]
ignore-paths = ["spud.venv"]
jobs = 0

View file

@ -3,6 +3,7 @@ Command-line application entry-point.
Logic for the command-line spud tooling.
"""
import pathlib
import json

View file

@ -4,9 +4,14 @@ import importlib
import spud.cli
@pytest.fixture(autouse=True)
def mock_default_config_path(monkeypatch, tmpdir):
monkeypatch.setattr(spud.cli, "DEFAULT_CONFIGURATION_PATH", tmpdir / ".config" / "spud" / "config.json")
monkeypatch.setattr(
spud.cli,
"DEFAULT_CONFIGURATION_PATH",
tmpdir / ".config" / "spud" / "config.json",
)
@pytest.fixture(name="invoke_cli")

View file

@ -3,16 +3,23 @@ import click
import pathlib
def test_init_raises_if_config_file_exists_default_path(invoke_cli, tmpdir, monkeypatch):
def test_init_raises_if_config_file_exists_default_path(
invoke_cli, tmpdir, monkeypatch
):
expected_default_path = tmpdir / ".config" / "spud" / "config.json"
pathlib.Path(expected_default_path).parent.mkdir(parents=True)
expected_default_path.write("{}")
result = invoke_cli(["init"])
assert result.exit_code == 1
assert str(result.exception) == f"File already exists ({str(expected_default_path)}), cannot initialize."
assert (
str(result.exception)
== f"File already exists ({str(expected_default_path)}), cannot initialize."
)
def test_init_raises_if_config_file_exists_custom_path(invoke_cli, tmpdir, monkeypatch):
expected_default_path = tmpdir / "config.json"
@ -20,21 +27,35 @@ def test_init_raises_if_config_file_exists_custom_path(invoke_cli, tmpdir, monke
expected_default_path.write("{}")
result = invoke_cli(["--config", str(expected_default_path), "init"])
assert result.exit_code == 1
assert str(result.exception) == f"File already exists ({str(expected_default_path)}), cannot initialize."
def test_print_config_raises_if_no_config_file_default_path(invoke_cli, tmpdir, monkeypatch):
assert result.exit_code == 1
assert (
str(result.exception)
== f"File already exists ({str(expected_default_path)}), cannot initialize."
)
def test_print_config_raises_if_no_config_file_default_path(
invoke_cli, tmpdir, monkeypatch
):
expected_default_path = tmpdir / ".config" / "spud" / "config.json"
result = invoke_cli(["print-config"])
assert result.exit_code == 1
assert str(result.exception) == f"Configuration file not found at {str(expected_default_path)}."
assert (
str(result.exception)
== f"Configuration file not found at {str(expected_default_path)}."
)
def test_print_config_raises_if_no_config_file_custom_path(invoke_cli, tmpdir, monkeypatch):
def test_print_config_raises_if_no_config_file_custom_path(
invoke_cli, tmpdir, monkeypatch
):
config_file = tmpdir / "config.json"
result = invoke_cli(["--config", str(config_file), "print-config"])
assert result.exit_code == 1
assert str(result.exception) == f"Configuration file not found at {str(config_file)}."
assert (
str(result.exception) == f"Configuration file not found at {str(config_file)}."
)