Make config test options not unknown types (#252)

* Make config test options not unknown types
* Run pyright as part of tests
This commit is contained in:
Tom Parker-Shemilt 2024-10-10 22:45:31 +01:00 committed by GitHub
parent 45ac3bbf89
commit 99128b507b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 14 additions and 6 deletions

View file

@ -39,9 +39,10 @@ jobs:
pip install -r requirements.txt
pip install "Django~=${{ matrix.django-version }}.0" .
- name: Run mypy
- name: Run type checking
run: |
python -m mypy dj_database_url
python -m pyright dj_database_url
- name: Run Tests
run: |
@ -52,8 +53,9 @@ jobs:
- uses: codecov/codecov-action@v3
- name: Check mypy types installation
- name: Check types installation
run: |
pip install .
cd tests
python -m mypy .
python -m pyright .

View file

@ -41,7 +41,7 @@ SCHEMES_WITH_SEARCH_PATH = [
# Register database schemes in URLs.
for key in SCHEMES.keys():
urlparse.uses_netloc.append(key)
del key
del key # pyright: ignore[reportPossiblyUnboundVariable]
# From https://docs.djangoproject.com/en/4.0/ref/settings/#databases
@ -70,7 +70,7 @@ def config(
conn_health_checks: bool = False,
disable_server_side_cursors: bool = False,
ssl_require: bool = False,
test_options: Optional[Dict] = None,
test_options: Optional[Dict[str, Any]] = None,
) -> DBConfig:
"""Returns configured DATABASE dictionary from DATABASE_URL."""
s = os.environ.get(env, default)
@ -101,7 +101,7 @@ def parse(
conn_health_checks: bool = False,
disable_server_side_cursors: bool = False,
ssl_require: bool = False,
test_options: Optional[dict] = None,
test_options: Optional[Dict[str, Any]] = None,
) -> DBConfig:
"""Parses a database URL."""
if url == "sqlite://:memory:":

View file

@ -6,3 +6,6 @@ show_error_codes=true
disallow_untyped_defs=true
disallow_untyped_calls=true
warn_redundant_casts=true
[tool.pyright]
typeCheckingMode = "strict"

View file

@ -1,2 +1,3 @@
coverage
mypy
pyright

View file

@ -1,6 +1,6 @@
from pathlib import Path
from setuptools import setup
from setuptools import setup # pyright: ignore[reportUnknownVariableType]
readme = Path("README.rst").read_text()

View file

@ -1,3 +1,5 @@
# pyright: reportTypedDictNotRequiredAccess=false
import os
import unittest
from unittest import mock