Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-social-auth-app-django for 
openSUSE:Factory checked in at 2026-05-28 17:28:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-social-auth-app-django (Old)
 and      /work/SRC/openSUSE:Factory/.python-social-auth-app-django.new.1937 
(New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-social-auth-app-django"

Thu May 28 17:28:29 2026 rev:18 rq:1355543 version:5.9.0

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-social-auth-app-django/python-social-auth-app-django.changes
      2026-04-07 16:51:33.015100283 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-social-auth-app-django.new.1937/python-social-auth-app-django.changes
    2026-05-28 17:29:22.497768518 +0200
@@ -1,0 +2,10 @@
+Thu May 28 07:37:35 UTC 2026 - Markéta Machová <[email protected]>
+
+- Update to 5.9.0
+  * DjangoStrategy now lazily creates a session when initialized without
+    a request
+  * Removed legacy replaces metadata from historical squashed migrations
+  * Added async support to SocialAuthExceptionMiddleware
+  * Dropped support for Django 5.1
+
+-------------------------------------------------------------------

Old:
----
  social_auth_app_django-5.7.0.tar.gz

New:
----
  social_auth_app_django-5.9.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-social-auth-app-django.spec ++++++
--- /var/tmp/diff_new_pack.2qQVIJ/_old  2026-05-28 17:29:23.345803621 +0200
+++ /var/tmp/diff_new_pack.2qQVIJ/_new  2026-05-28 17:29:23.345803621 +0200
@@ -18,23 +18,25 @@
 
 %{?sle15_python_module_pythons}
 Name:           python-social-auth-app-django
-Version:        5.7.0
+Version:        5.9.0
 Release:        0
 Summary:        Python Social Authentication, Django integration
 License:        BSD-3-Clause
 Group:          Development/Languages/Python
 URL:            https://github.com/python-social-auth/social-app-django
 Source:         
https://files.pythonhosted.org/packages/source/s/social_auth_app_django/social_auth_app_django-%{version}.tar.gz
-BuildRequires:  %{python_module Django >= 5.1}
+BuildRequires:  %{python_module Django >= 5.2}
+BuildRequires:  %{python_module asgiref >= 3.8.1}
 BuildRequires:  %{python_module base >= 3.10}
 BuildRequires:  %{python_module pip}
 BuildRequires:  %{python_module setuptools}
-BuildRequires:  %{python_module social-auth-core >= 4.4.0}
+BuildRequires:  %{python_module social-auth-core >= 4.8.3}
 BuildRequires:  %{python_module wheel}
 BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros
-Requires:       python-Django >= 5.1
-Requires:       python-social-auth-core >= 4.4.0
+Requires:       python-Django >= 5.2
+Requires:       python-asgiref >= 3.8.1
+Requires:       python-social-auth-core >= 4.8.3
 BuildArch:      noarch
 %python_subpackages
 

++++++ social_auth_app_django-5.7.0.tar.gz -> 
social_auth_app_django-5.9.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/social_auth_app_django-5.7.0/CHANGELOG.md 
new/social_auth_app_django-5.9.0/CHANGELOG.md
--- old/social_auth_app_django-5.7.0/CHANGELOG.md       2025-12-18 
20:00:08.000000000 +0100
+++ new/social_auth_app_django-5.9.0/CHANGELOG.md       2026-04-29 
16:51:40.000000000 +0200
@@ -5,6 +5,24 @@
 The format is based on [Keep a Changelog](http://keepachangelog.com/)
 and this project adheres to [Semantic Versioning](http://semver.org/).
 
+## 
[5.9.0](https://github.com/python-social-auth/social-app-django/releases/tag/5.9.0)
 - 2026-04-29
+
+### Changed
+
+- Added async support to `SocialAuthExceptionMiddleware`
+- Dropped support for Django 5.1, Django 5.2 is now the minimum supported 
version
+- Loosened the `social-auth-core` dependency to allow compatible 4.x releases
+- Improved release automation and GitHub release asset publishing
+
+## 
[5.8.0](https://github.com/python-social-auth/social-app-django/releases/tag/5.8.0)
 - 2026-04-20
+
+### Changed
+
+- Added explicit Django 5.1, 5.2, and 6.0 package classifiers
+- `DjangoStrategy` now lazily creates a session when initialized without a 
request
+- Removed legacy `replaces` metadata from historical squashed migrations
+- Updated historical `unique_together` migration declarations for newer Django 
compatibility
+
 ## 
[5.7.0](https://github.com/python-social-auth/social-app-django/releases/tag/5.7.0)
 - 2025-12-18
 
 ### Changed
@@ -36,7 +54,7 @@
 ### Changed
 
 - Dropped support for older Django versions.
-- Added non-empty constraind on `uid`.
+- Added non-empty constraint on `uid`.
 - Added support for session restore with stricter SameSite cookie policy.
 
 ## 
[5.4.3](https://github.com/python-social-auth/social-app-django/releases/tag/5.4.3)
 - 2025-02-13
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/social_auth_app_django-5.7.0/PKG-INFO 
new/social_auth_app_django-5.9.0/PKG-INFO
--- old/social_auth_app_django-5.7.0/PKG-INFO   2025-12-18 20:00:10.786944200 
+0100
+++ new/social_auth_app_django-5.9.0/PKG-INFO   2026-04-29 16:51:43.213986600 
+0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.4
 Name: social-auth-app-django
-Version: 5.7.0
+Version: 5.9.0
 Summary: Python Social Authentication, Django integration.
 Author-email: Matias Aguirre <[email protected]>, Michal Čihař 
<[email protected]>
 License-Expression: BSD-3-Clause
@@ -10,6 +10,9 @@
 Keywords: django,oauth,openid,saml,social auth
 Classifier: Development Status :: 5 - Production/Stable
 Classifier: Environment :: Web Environment
+Classifier: Framework :: Django :: 5.2
+Classifier: Framework :: Django :: 6.0
+Classifier: Framework :: Django
 Classifier: Intended Audience :: Developers
 Classifier: Programming Language :: Python :: 3
 Classifier: Programming Language :: Python :: 3.10
@@ -22,15 +25,16 @@
 Requires-Python: >=3.10
 Description-Content-Type: text/markdown
 License-File: LICENSE
-Requires-Dist: Django>=5.1
-Requires-Dist: social-auth-core~=4.8.3
+Requires-Dist: asgiref>=3.8.1
+Requires-Dist: Django>=5.2
+Requires-Dist: social-auth-core<5.0.0,>=4.8.3
 Provides-Extra: dev
 Requires-Dist: coverage>=3.6; extra == "dev"
-Requires-Dist: django-stubs-ext==5.2.8; extra == "dev"
-Requires-Dist: django-stubs==5.2.8; extra == "dev"
-Requires-Dist: mypy==1.19.1; extra == "dev"
+Requires-Dist: django-stubs-ext==6.0.3; extra == "dev"
+Requires-Dist: django-stubs==6.0.3; extra == "dev"
+Requires-Dist: mypy==1.20.2; extra == "dev"
 Requires-Dist: pre-commit; extra == "dev"
-Requires-Dist: pyright==1.1.407; extra == "dev"
+Requires-Dist: pyright==1.1.409; extra == "dev"
 Requires-Dist: tox; extra == "dev"
 Dynamic: license-file
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/social_auth_app_django-5.7.0/pyproject.toml 
new/social_auth_app_django-5.9.0/pyproject.toml
--- old/social_auth_app_django-5.7.0/pyproject.toml     2025-12-18 
20:00:08.000000000 +0100
+++ new/social_auth_app_django-5.9.0/pyproject.toml     2026-04-29 
16:51:40.000000000 +0200
@@ -5,11 +5,11 @@
 [dependency-groups]
 dev = [
   "coverage>=3.6",
-  "django-stubs-ext==5.2.8",
-  "django-stubs==5.2.8",
-  "mypy==1.19.1",
+  "django-stubs-ext==6.0.3",
+  "django-stubs==6.0.3",
+  "mypy==1.20.2",
   "pre-commit",
-  "pyright==1.1.407",
+  "pyright==1.1.409",
   "tox"
 ]
 
@@ -21,6 +21,9 @@
 classifiers = [
   "Development Status :: 5 - Production/Stable",
   "Environment :: Web Environment",
+  "Framework :: Django :: 5.2",
+  "Framework :: Django :: 6.0",
+  "Framework :: Django",
   "Intended Audience :: Developers",
   "Programming Language :: Python :: 3",
   "Programming Language :: Python :: 3.10",
@@ -32,8 +35,9 @@
   "Topic :: Internet"
 ]
 dependencies = [
-  "Django>=5.1",
-  "social-auth-core~=4.8.3"
+  "asgiref>=3.8.1",
+  "Django>=5.2",
+  "social-auth-core>=4.8.3,<5.0.0"
 ]
 description = "Python Social Authentication, Django integration."
 keywords = ["django", "oauth", "openid", "saml", "social auth"]
@@ -42,18 +46,18 @@
 name = "social-auth-app-django"
 readme = "README.md"
 requires-python = ">=3.10"
-version = "5.7.0"
+version = "5.9.0"
 
 [project.optional-dependencies]
 # This is present until pip implements supports for PEP 735
 # see https://github.com/pypa/pip/issues/12963
 dev = [
   "coverage>=3.6",
-  "django-stubs-ext==5.2.8",
-  "django-stubs==5.2.8",
-  "mypy==1.19.1",
+  "django-stubs-ext==6.0.3",
+  "django-stubs==6.0.3",
+  "mypy==1.20.2",
   "pre-commit",
-  "pyright==1.1.407",
+  "pyright==1.1.409",
   "tox"
 ]
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/social_auth_app_django-5.7.0/social_auth_app_django.egg-info/PKG-INFO 
new/social_auth_app_django-5.9.0/social_auth_app_django.egg-info/PKG-INFO
--- old/social_auth_app_django-5.7.0/social_auth_app_django.egg-info/PKG-INFO   
2025-12-18 20:00:10.000000000 +0100
+++ new/social_auth_app_django-5.9.0/social_auth_app_django.egg-info/PKG-INFO   
2026-04-29 16:51:43.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.4
 Name: social-auth-app-django
-Version: 5.7.0
+Version: 5.9.0
 Summary: Python Social Authentication, Django integration.
 Author-email: Matias Aguirre <[email protected]>, Michal Čihař 
<[email protected]>
 License-Expression: BSD-3-Clause
@@ -10,6 +10,9 @@
 Keywords: django,oauth,openid,saml,social auth
 Classifier: Development Status :: 5 - Production/Stable
 Classifier: Environment :: Web Environment
+Classifier: Framework :: Django :: 5.2
+Classifier: Framework :: Django :: 6.0
+Classifier: Framework :: Django
 Classifier: Intended Audience :: Developers
 Classifier: Programming Language :: Python :: 3
 Classifier: Programming Language :: Python :: 3.10
@@ -22,15 +25,16 @@
 Requires-Python: >=3.10
 Description-Content-Type: text/markdown
 License-File: LICENSE
-Requires-Dist: Django>=5.1
-Requires-Dist: social-auth-core~=4.8.3
+Requires-Dist: asgiref>=3.8.1
+Requires-Dist: Django>=5.2
+Requires-Dist: social-auth-core<5.0.0,>=4.8.3
 Provides-Extra: dev
 Requires-Dist: coverage>=3.6; extra == "dev"
-Requires-Dist: django-stubs-ext==5.2.8; extra == "dev"
-Requires-Dist: django-stubs==5.2.8; extra == "dev"
-Requires-Dist: mypy==1.19.1; extra == "dev"
+Requires-Dist: django-stubs-ext==6.0.3; extra == "dev"
+Requires-Dist: django-stubs==6.0.3; extra == "dev"
+Requires-Dist: mypy==1.20.2; extra == "dev"
 Requires-Dist: pre-commit; extra == "dev"
-Requires-Dist: pyright==1.1.407; extra == "dev"
+Requires-Dist: pyright==1.1.409; extra == "dev"
 Requires-Dist: tox; extra == "dev"
 Dynamic: license-file
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/social_auth_app_django-5.7.0/social_auth_app_django.egg-info/requires.txt 
new/social_auth_app_django-5.9.0/social_auth_app_django.egg-info/requires.txt
--- 
old/social_auth_app_django-5.7.0/social_auth_app_django.egg-info/requires.txt   
    2025-12-18 20:00:10.000000000 +0100
+++ 
new/social_auth_app_django-5.9.0/social_auth_app_django.egg-info/requires.txt   
    2026-04-29 16:51:43.000000000 +0200
@@ -1,11 +1,12 @@
-Django>=5.1
-social-auth-core~=4.8.3
+asgiref>=3.8.1
+Django>=5.2
+social-auth-core<5.0.0,>=4.8.3
 
 [dev]
 coverage>=3.6
-django-stubs-ext==5.2.8
-django-stubs==5.2.8
-mypy==1.19.1
+django-stubs-ext==6.0.3
+django-stubs==6.0.3
+mypy==1.20.2
 pre-commit
-pyright==1.1.407
+pyright==1.1.409
 tox
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/social_auth_app_django-5.7.0/social_django/middleware.py 
new/social_auth_app_django-5.9.0/social_django/middleware.py
--- old/social_auth_app_django-5.7.0/social_django/middleware.py        
2025-12-18 20:00:08.000000000 +0100
+++ new/social_auth_app_django-5.9.0/social_django/middleware.py        
2026-04-29 16:51:40.000000000 +0200
@@ -1,14 +1,17 @@
 from urllib.parse import quote
 
+from asgiref.sync import iscoroutinefunction, markcoroutinefunction
 from django.apps import apps
 from django.conf import settings
 from django.contrib import messages
 from django.contrib.messages.api import MessageFailure
 from django.shortcuts import redirect
+from django.utils.decorators import sync_and_async_middleware
 from social_core.exceptions import SocialAuthBaseException
 from social_core.utils import social_logger
 
 
+@sync_and_async_middleware
 class SocialAuthExceptionMiddleware:
     """
     Middleware that handles Social Auth AuthExceptions by providing the user
@@ -25,6 +28,9 @@
     def __init__(self, get_response):
         self.get_response = get_response
 
+        if iscoroutinefunction(get_response):
+            markcoroutinefunction(self)
+
     def __call__(self, request):
         return self.get_response(request)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/social_auth_app_django-5.7.0/social_django/migrations/0001_initial.py 
new/social_auth_app_django-5.9.0/social_django/migrations/0001_initial.py
--- old/social_auth_app_django-5.7.0/social_django/migrations/0001_initial.py   
2025-12-18 20:00:08.000000000 +0100
+++ new/social_auth_app_django-5.9.0/social_django/migrations/0001_initial.py   
2026-04-29 16:51:40.000000000 +0200
@@ -15,8 +15,6 @@
 
 
 class Migration(migrations.Migration):
-    replaces = [("default", "0001_initial"), ("social_auth", "0001_initial")]
-
     dependencies = [
         migrations.swappable_dependency(USER_MODEL),
     ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/social_auth_app_django-5.7.0/social_django/migrations/0002_add_related_name.py
 
new/social_auth_app_django-5.9.0/social_django/migrations/0002_add_related_name.py
--- 
old/social_auth_app_django-5.7.0/social_django/migrations/0002_add_related_name.py
  2025-12-18 20:00:08.000000000 +0100
+++ 
new/social_auth_app_django-5.9.0/social_django/migrations/0002_add_related_name.py
  2026-04-29 16:51:40.000000000 +0200
@@ -8,11 +8,6 @@
 
 
 class Migration(migrations.Migration):
-    replaces = [
-        ("default", "0002_add_related_name"),
-        ("social_auth", "0002_add_related_name"),
-    ]
-
     dependencies = [
         ("social_django", "0001_initial"),
     ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/social_auth_app_django-5.7.0/social_django/migrations/0003_alter_email_max_length.py
 
new/social_auth_app_django-5.9.0/social_django/migrations/0003_alter_email_max_length.py
--- 
old/social_auth_app_django-5.7.0/social_django/migrations/0003_alter_email_max_length.py
    2025-12-18 20:00:08.000000000 +0100
+++ 
new/social_auth_app_django-5.9.0/social_django/migrations/0003_alter_email_max_length.py
    2026-04-29 16:51:40.000000000 +0200
@@ -6,11 +6,6 @@
 
 
 class Migration(migrations.Migration):
-    replaces = [
-        ("default", "0003_alter_email_max_length"),
-        ("social_auth", "0003_alter_email_max_length"),
-    ]
-
     dependencies = [
         ("social_django", "0002_add_related_name"),
     ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/social_auth_app_django-5.7.0/social_django/migrations/0004_auto_20160423_0400.py
 
new/social_auth_app_django-5.9.0/social_django/migrations/0004_auto_20160423_0400.py
--- 
old/social_auth_app_django-5.7.0/social_django/migrations/0004_auto_20160423_0400.py
        2025-12-18 20:00:08.000000000 +0100
+++ 
new/social_auth_app_django-5.9.0/social_django/migrations/0004_auto_20160423_0400.py
        2026-04-29 16:51:40.000000000 +0200
@@ -4,11 +4,6 @@
 
 
 class Migration(migrations.Migration):
-    replaces = [
-        ("default", "0004_auto_20160423_0400"),
-        ("social_auth", "0004_auto_20160423_0400"),
-    ]
-
     dependencies = [
         ("social_django", "0003_alter_email_max_length"),
     ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/social_auth_app_django-5.7.0/social_django/migrations/0005_auto_20160727_2333.py
 
new/social_auth_app_django-5.9.0/social_django/migrations/0005_auto_20160727_2333.py
--- 
old/social_auth_app_django-5.7.0/social_django/migrations/0005_auto_20160727_2333.py
        2025-12-18 20:00:08.000000000 +0100
+++ 
new/social_auth_app_django-5.9.0/social_django/migrations/0005_auto_20160727_2333.py
        2026-04-29 16:51:40.000000000 +0200
@@ -4,8 +4,6 @@
 
 
 class Migration(migrations.Migration):
-    replaces = [("social_auth", "0005_auto_20160727_2333")]
-
     dependencies = [
         ("social_django", "0004_auto_20160423_0400"),
     ]
@@ -13,6 +11,6 @@
     operations = [
         migrations.AlterUniqueTogether(
             name="association",
-            unique_together={("server_url", "handle")},
+            unique_together=(("server_url", "handle"),),
         ),
     ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/social_auth_app_django-5.7.0/social_django/strategy.py 
new/social_auth_app_django-5.9.0/social_django/strategy.py
--- old/social_auth_app_django-5.7.0/social_django/strategy.py  2025-12-18 
20:00:08.000000000 +0100
+++ new/social_auth_app_django-5.9.0/social_django/strategy.py  2026-04-29 
16:51:40.000000000 +0200
@@ -45,12 +45,26 @@
 
 class DjangoStrategy(BaseStrategy):
     DEFAULT_TEMPLATE_STRATEGY = DjangoTemplateStrategy
+    _session: SessionBase
 
     def __init__(self, storage, request: None | HttpRequest = None, tpl=None):
         self.request: HttpRequest = request
-        self.session: SessionBase = request.session if request else 
create_session()
+        if request:
+            self.session = request.session
         super().__init__(storage, tpl)
 
+    @property
+    def session(self) -> SessionBase:
+        try:
+            return self._session
+        except AttributeError:
+            self._session = create_session()
+            return self._session
+
+    @session.setter
+    def session(self, value: SessionBase) -> None:
+        self._session = value
+
     def get_setting(self, name):
         value = getattr(settings, name)
         # Force text on URL named settings that are instance of Promise
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/social_auth_app_django-5.7.0/tests/test_middleware.py 
new/social_auth_app_django-5.9.0/tests/test_middleware.py
--- old/social_auth_app_django-5.7.0/tests/test_middleware.py   2025-12-18 
20:00:08.000000000 +0100
+++ new/social_auth_app_django-5.9.0/tests/test_middleware.py   2026-04-29 
16:51:40.000000000 +0200
@@ -1,12 +1,15 @@
 import logging
 from unittest import mock
 
+from asgiref.sync import iscoroutinefunction
 from django.contrib.messages import MessageFailure
-from django.http import HttpResponseRedirect
-from django.test import TestCase, override_settings
+from django.http import HttpResponse, HttpResponseRedirect
+from django.test import AsyncRequestFactory, RequestFactory, TestCase, 
override_settings
 from django.urls import reverse
 from social_core.exceptions import AuthCanceled
 
+from social_django.middleware import SocialAuthExceptionMiddleware
+
 
 class MockAuthCanceled(AuthCanceled):
     def __init__(self, *args, **kwargs):
@@ -25,6 +28,32 @@
         self.complete_url = reverse("social:complete", kwargs={"backend": 
"facebook"})
         self.complete_url += "?code=2&state=1"
 
+    def test_sync_middleware(self, mocked):
+        expected = HttpResponse()
+        get_response = mock.Mock(return_value=expected)
+        rf = RequestFactory()
+        request = rf.get("/")
+
+        middleware = SocialAuthExceptionMiddleware(get_response)
+        resp = middleware(request)
+
+        self.assertFalse(iscoroutinefunction(middleware))
+        self.assertIs(resp, expected)
+        get_response.assert_called_once_with(request)
+
+    async def test_async_middleware(self, mocked):
+        expected = HttpResponse()
+        get_response = mock.AsyncMock(return_value=expected)
+        async_rf = AsyncRequestFactory()
+        request = async_rf.get("/")
+
+        middleware = SocialAuthExceptionMiddleware(get_response)
+        resp = await middleware(request)
+
+        self.assertTrue(iscoroutinefunction(middleware))
+        self.assertIs(resp, expected)
+        get_response.assert_awaited_once_with(request)
+
     def test_exception(self, mocked):
         with self.assertRaises(MockAuthCanceled):
             self.client.get(self.complete_url)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/social_auth_app_django-5.7.0/tests/test_strategy.py 
new/social_auth_app_django-5.9.0/tests/test_strategy.py
--- old/social_auth_app_django-5.7.0/tests/test_strategy.py     2025-12-18 
20:00:08.000000000 +0100
+++ new/social_auth_app_django-5.9.0/tests/test_strategy.py     2026-04-29 
16:51:40.000000000 +0200
@@ -101,3 +101,8 @@
         args, kwargs = self.strategy.clean_authenticate_args(None)
         self.assertEqual(args, ())
         self.assertEqual(kwargs, {"request": None})
+
+    def test_session_creation_without_request(self):
+        strategy = load_strategy()
+        self.assertIsNone(strategy.request)
+        self.assertIsNotNone(strategy.session)

Reply via email to