-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #48 from ARYAN-NIKNEZHAD/chore/pre-commit-config
🔧 Update pre-commit config
- Loading branch information
Showing
19 changed files
with
1,459 additions
and
236 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,101 @@ | ||
repos: | ||
- repo: https://github.com/pre-commit/pre-commit-hooks | ||
rev: v4.4.0 | ||
hooks: | ||
- id: check-toml | ||
- id: check-yaml | ||
files: \.yaml$ | ||
- id: trailing-whitespace | ||
exclude: (migrations/|tests/|docs/|static/|media/).* | ||
- id: end-of-file-fixer | ||
exclude: (migrations/|tests/|docs/|static/|media/).* | ||
- id: check-added-large-files | ||
exclude: (migrations/|tests/|docs/|static/|media/).* | ||
- id: check-case-conflict | ||
exclude: (migrations/|tests/|docs/|static/|media/).* | ||
- id: check-merge-conflict | ||
exclude: (migrations/|tests/|docs/|static/|media/).* | ||
- id: check-docstring-first | ||
exclude: (migrations/|tests/|docs/|static/|media/).* | ||
|
||
- repo: https://github.com/tox-dev/pyproject-fmt | ||
rev: 2.2.1 | ||
hooks: | ||
- id: pyproject-fmt | ||
|
||
- repo: https://github.com/tox-dev/tox-ini-fmt | ||
rev: 1.3.1 | ||
hooks: | ||
- id: tox-ini-fmt | ||
|
||
- repo: https://github.com/asottile/pyupgrade | ||
rev: v3.15.2 | ||
hooks: | ||
- id: pyupgrade | ||
|
||
- repo: https://github.com/charliermarsh/ruff-pre-commit | ||
rev: v0.5.5 | ||
hooks: | ||
- id: ruff | ||
args: ["--config=pyproject.toml"] | ||
exclude: (migrations/|tests/|docs/|static/|media/|apps.py).* | ||
|
||
- repo: https://github.com/pre-commit/mirrors-isort | ||
rev: v5.10.1 | ||
hooks: | ||
- id: isort | ||
exclude: (migrations/|tests/|docs/|static/|media/).* | ||
|
||
- repo: https://github.com/psf/black | ||
rev: 23.3.0 | ||
hooks: | ||
- id: black | ||
args: [ "--config=pyproject.toml" ] | ||
exclude: (migrations/|tests/|docs/|static/|media/).* | ||
|
||
- repo: https://github.com/commitizen-tools/commitizen | ||
rev: v3.28.0 | ||
hooks: | ||
- id: commitizen | ||
|
||
- repo: https://github.com/PyCQA/bandit | ||
rev: 1.7.4 | ||
hooks: | ||
- id: bandit | ||
args: [ "-c", "pyproject.toml", "-r", "." ] | ||
additional_dependencies: [ "bandit[toml]" ] | ||
exclude: (migrations/|tests/|docs/|static/|media/).* | ||
|
||
- repo: https://github.com/PyCQA/docformatter | ||
rev: v1.7.5 | ||
hooks: | ||
- id: docformatter | ||
args: [ "--in-place", "--recursive", "--blank" ] | ||
exclude: (migrations/|tests/|docs/|static/|media/).* | ||
|
||
- repo: https://github.com/adamchainz/blacken-docs | ||
rev: 1.18.0 | ||
hooks: | ||
- id: blacken-docs | ||
additional_dependencies: | ||
- black==24.4.2 | ||
files: '\.rst$' | ||
|
||
- repo: https://github.com/rstcheck/rstcheck | ||
rev: "v6.2.4" | ||
hooks: | ||
- id: rstcheck | ||
args: [ "--report-level=warning" ] | ||
files: ^(docs/(.*/)*.*\.rst) | ||
additional_dependencies: [ Sphinx==6.2.1 ] | ||
|
||
- repo: local | ||
hooks: | ||
- id: pytest | ||
name: Pytest | ||
entry: poetry run pytest -v | ||
language: system | ||
types: [ python ] | ||
stages: [ commit ] | ||
pass_filenames: false | ||
always_run: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -44,14 +44,17 @@ Example File Structure | |
pytestmark = [ | ||
pytest.mark.django_db, | ||
pytest.mark.admin, | ||
pytest.mark.skipif(sys.version_info < (3, 8), reason="Python 3.8 or higher required") | ||
pytest.mark.skipif( | ||
sys.version_info < (3, 8), reason="Python 3.8 or higher required" | ||
), | ||
] | ||
User = get_user_model() | ||
class TestMyModelAdmin: | ||
"""Class for testing MyModelAdmin functionality.""" | ||
def test_some_functionality(self) -> None: | ||
# Test logic goes here | ||
pass | ||
|
@@ -76,7 +79,9 @@ Example of pytestmark | |
pytestmark = [ | ||
pytest.mark.django_db, | ||
pytest.mark.admin, | ||
pytest.mark.skipif(sys.version_info < (3, 8), reason="Python 3.8 or higher required") | ||
pytest.mark.skipif( | ||
sys.version_info < (3, 8), reason="Python 3.8 or higher required" | ||
), | ||
] | ||
Docstrings | ||
|
@@ -149,14 +154,17 @@ Admin Model Test Example | |
pytestmark = [ | ||
pytest.mark.django_db, | ||
pytest.mark.admin, | ||
pytest.mark.skipif(sys.version_info < (3, 8), reason="Python 3.8 or higher required") | ||
pytest.mark.skipif( | ||
sys.version_info < (3, 8), reason="Python 3.8 or higher required" | ||
), | ||
] | ||
User = get_user_model() | ||
class TestMyModelAdmin: | ||
"""Class for testing MyModelAdmin functionality.""" | ||
def test_formfield_for_foreignkey_sets_queryset(self) -> None: | ||
""" | ||
Test that the formfield for the ForeignKey correctly sets the queryset. | ||
|
@@ -165,12 +173,18 @@ Admin Model Test Example | |
""" | ||
admin_site = AdminSite() | ||
request = HttpRequest() | ||
request.user = User.objects.create_superuser('admin', '[email protected]', 'password') | ||
request.user = User.objects.create_superuser( | ||
"admin", "[email protected]", "password" | ||
) | ||
model_admin = MyModelAdmin(model=MyModel, admin_site=admin_site) | ||
db_field = MyModel._meta.get_field('related_model') | ||
with patch.object(MyModelAdmin, 'get_field_queryset', return_value=MyModel.objects.filter(name="Test")) as mock_get_field_queryset: | ||
db_field = MyModel._meta.get_field("related_model") | ||
with patch.object( | ||
MyModelAdmin, | ||
"get_field_queryset", | ||
return_value=MyModel.objects.filter(name="Test"), | ||
) as mock_get_field_queryset: | ||
formfield = model_admin.formfield_for_foreignkey(db_field, request) | ||
mock_get_field_queryset.assert_called_once_with(None, db_field, request) | ||
assert isinstance(formfield.widget, widgets.ForeignKeyRawIdWidget) | ||
|
@@ -189,12 +203,15 @@ Settings Check Test Example | |
pytestmark = [ | ||
pytest.mark.settings_checks, | ||
pytest.mark.skipif(sys.version_info < (3, 8), reason="Python 3.8 or higher required") | ||
pytest.mark.skipif( | ||
sys.version_info < (3, 8), reason="Python 3.8 or higher required" | ||
), | ||
] | ||
class TestMyAppConfig: | ||
"""Test MyApp configuration and settings.""" | ||
def test_check_my_app_config_correct_settings(self, settings) -> None: | ||
""" | ||
Test the MyApp configuration checker with correct settings. | ||
|
@@ -204,7 +221,7 @@ Settings Check Test Example | |
settings.MY_SETTING_ENABLED = True | ||
errors = check_my_app_config({}) | ||
assert len(errors) == 0 | ||
def test_check_my_app_config_invalid_type(self, settings) -> None: | ||
""" | ||
Test the MyApp configuration checker with invalid type settings. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.