From 0f35adac2dd4796dbd69f25afcdacdae92d85a50 Mon Sep 17 00:00:00 2001 From: Zubair Shakoor <57657330+zubairshakoorarbisoft@users.noreply.github.com> Date: Fri, 21 Jul 2023 18:36:18 +0500 Subject: [PATCH] feat: upgrade to Django 4.2 (#196) * feat: upgrade to Django 4.2 * fix: version bumped to 1.3.0 --- .github/workflows/ci.yml | 2 +- lang_pref_middleware/__init__.py | 2 +- lang_pref_middleware/tests.py | 16 ++++++++++------ setup.py | 1 + tox.ini | 11 ++++++----- 5 files changed, 19 insertions(+), 13 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 81237ab..5edeb79 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,7 +16,7 @@ jobs: matrix: os: [ubuntu-20.04] python-version: ['3.8'] - toxenv: [quality, django32] + toxenv: [quality, django32, django42] steps: - uses: actions/checkout@v3 diff --git a/lang_pref_middleware/__init__.py b/lang_pref_middleware/__init__.py index 3628590..7beaf4d 100644 --- a/lang_pref_middleware/__init__.py +++ b/lang_pref_middleware/__init__.py @@ -1,3 +1,3 @@ """Init module for lang_pref_middleware.""" -__version__ = '1.2.0' +__version__ = '1.3.0' diff --git a/lang_pref_middleware/tests.py b/lang_pref_middleware/tests.py index 6beee61..638db75 100644 --- a/lang_pref_middleware/tests.py +++ b/lang_pref_middleware/tests.py @@ -1,9 +1,12 @@ # pylint: disable=missing-module-docstring import uuid -from django.test import TestCase -from django.test.client import RequestFactory +from unittest.mock import Mock + from django.contrib.auth.models import User # pylint: disable=imported-auth-user from django.contrib.sessions.middleware import SessionMiddleware +from django.test import TestCase +from django.test.client import RequestFactory + from lang_pref_middleware.middleware import LanguagePreferenceMiddleware @@ -12,8 +15,9 @@ class LangPrefMiddlewareTestCaseMixin(): # pylint: disable=missing-class-docstr def setUp(self): # pylint: disable=not-callable - self.middleware = self.middleware_class() - self.session_middleware = SessionMiddleware() # pylint: disable=no-value-for-parameter + self.mock_response = Mock() + self.middleware = self.middleware_class(self.mock_response) + self.session_middleware = SessionMiddleware(self.mock_response) self.user = self.get_user() self.request = RequestFactory().get('/somewhere') self.request.user = self.user @@ -62,9 +66,9 @@ class DummyLanguagePreferenceMiddleware(LanguagePreferenceMiddleware): This should not be used for any purpose outside of testing. """ - def __init__(self): + def __init__(self, get_response): self._cache = {} - super().__init__() # pylint: disable=no-value-for-parameter + super().__init__(get_response) def get_user_language_preference(self, user): return self._cache.get(user, None) diff --git a/setup.py b/setup.py index c16fc88..197dc84 100644 --- a/setup.py +++ b/setup.py @@ -101,6 +101,7 @@ def get_version(*file_paths): "Operating System :: OS Independent", "Framework :: Django", "Framework :: Django :: 3.2", + "Framework :: Django :: 4.2", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.8", ] diff --git a/tox.ini b/tox.ini index 5bd0a5e..97128fc 100644 --- a/tox.ini +++ b/tox.ini @@ -1,19 +1,20 @@ [tox] -envlist = py38-django{32,40},quality +envlist = py38-django{32, 42},quality [testenv] -deps = +deps = django32: Django>=3.2,<4.0 + django42: Django>=4.2,<4.3 -r{toxinidir}/requirements/test.txt -setenv = +setenv = DJANGO_SETTINGS_MODULE=settings commands = pytest --cov-branch --cov-report=html:build/coverage/html --cov-report=xml:build/coverage/coverage.xml --cov=lang_pref_middleware [testenv:quality] -setenv = +setenv = DJANGO_SETTINGS_MODULE=settings PYTHONPATH = . -commands = +commands = pycodestyle --config=.pep8 lang_pref_middleware pylint --rcfile=pylintrc lang_pref_middleware pep257 --ignore=D100,D203 --match='(?!test).*py' lang_pref_middleware