--- Begin Message ---
Package: src:flask-login
Version: 0.6.3-1
Severity: serious
Tags: ftbfs
Dear maintainer:
During a rebuild of all packages in unstable, your package failed to build:
--------------------------------------------------------------------------------
[...]
debian/rules binary
dh binary --buildsystem=pybuild
dh_update_autotools_config -O--buildsystem=pybuild
dh_autoreconf -O--buildsystem=pybuild
dh_auto_configure -O--buildsystem=pybuild
dh_auto_build -O--buildsystem=pybuild
I: pybuild plugin_pyproject:129: Building wheel for python3.12 with "build"
module
I: pybuild base:305: python3.12 -m build --skip-dependency-check --no-isolation --wheel
--outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-login
* Building wheel...
running bdist_wheel
running build
running build_py
creating build
creating build/lib
creating build/lib/flask_login
copying src/flask_login/__about__.py -> build/lib/flask_login
copying src/flask_login/test_client.py -> build/lib/flask_login
copying src/flask_login/login_manager.py -> build/lib/flask_login
copying src/flask_login/mixins.py -> build/lib/flask_login
copying src/flask_login/utils.py -> build/lib/flask_login
copying src/flask_login/signals.py -> build/lib/flask_login
copying src/flask_login/__init__.py -> build/lib/flask_login
copying src/flask_login/config.py -> build/lib/flask_login
running egg_info
creating src/Flask_Login.egg-info
writing src/Flask_Login.egg-info/PKG-INFO
writing dependency_links to src/Flask_Login.egg-info/dependency_links.txt
writing requirements to src/Flask_Login.egg-info/requires.txt
writing top-level names to src/Flask_Login.egg-info/top_level.txt
writing manifest file 'src/Flask_Login.egg-info/SOURCES.txt'
reading manifest file 'src/Flask_Login.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
no previously-included directories found matching 'docs/_build'
warning: no previously-included files matching '*.pyc' found anywhere in
distribution
adding license file 'LICENSE'
writing manifest file 'src/Flask_Login.egg-info/SOURCES.txt'
installing to build/bdist.linux-x86_64/wheel
running install
running install_lib
creating build/bdist.linux-x86_64
creating build/bdist.linux-x86_64/wheel
creating build/bdist.linux-x86_64/wheel/flask_login
copying build/lib/flask_login/__about__.py ->
build/bdist.linux-x86_64/wheel/flask_login
copying build/lib/flask_login/test_client.py ->
build/bdist.linux-x86_64/wheel/flask_login
copying build/lib/flask_login/login_manager.py ->
build/bdist.linux-x86_64/wheel/flask_login
copying build/lib/flask_login/mixins.py ->
build/bdist.linux-x86_64/wheel/flask_login
copying build/lib/flask_login/utils.py ->
build/bdist.linux-x86_64/wheel/flask_login
copying build/lib/flask_login/signals.py ->
build/bdist.linux-x86_64/wheel/flask_login
copying build/lib/flask_login/__init__.py ->
build/bdist.linux-x86_64/wheel/flask_login
copying build/lib/flask_login/config.py ->
build/bdist.linux-x86_64/wheel/flask_login
running install_egg_info
Copying src/Flask_Login.egg-info to
build/bdist.linux-x86_64/wheel/Flask_Login-0.6.3.egg-info
running install_scripts
creating build/bdist.linux-x86_64/wheel/Flask_Login-0.6.3.dist-info/WHEEL
creating
'/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-login/.tmp-ouobfdbj/Flask_Login-0.6.3-py3-none-any.whl'
and adding 'build/bdist.linux-x86_64/wheel' to it
adding 'flask_login/__about__.py'
adding 'flask_login/__init__.py'
adding 'flask_login/config.py'
adding 'flask_login/login_manager.py'
adding 'flask_login/mixins.py'
adding 'flask_login/signals.py'
adding 'flask_login/test_client.py'
adding 'flask_login/utils.py'
adding 'Flask_Login-0.6.3.dist-info/LICENSE'
adding 'Flask_Login-0.6.3.dist-info/METADATA'
adding 'Flask_Login-0.6.3.dist-info/WHEEL'
adding 'Flask_Login-0.6.3.dist-info/top_level.txt'
adding 'Flask_Login-0.6.3.dist-info/RECORD'
removing build/bdist.linux-x86_64/wheel
Successfully built Flask_Login-0.6.3-py3-none-any.whl
I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.12 with
"installer" module
I: pybuild plugin_pyproject:129: Building wheel for python3.11 with "build"
module
I: pybuild base:305: python3.11 -m build --skip-dependency-check --no-isolation --wheel
--outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_flask-login
* Building wheel...
running bdist_wheel
running build
running build_py
running egg_info
writing src/Flask_Login.egg-info/PKG-INFO
writing dependency_links to src/Flask_Login.egg-info/dependency_links.txt
writing requirements to src/Flask_Login.egg-info/requires.txt
writing top-level names to src/Flask_Login.egg-info/top_level.txt
reading manifest file 'src/Flask_Login.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
no previously-included directories found matching 'docs/_build'
warning: no previously-included files matching '*.pyc' found anywhere in
distribution
adding license file 'LICENSE'
writing manifest file 'src/Flask_Login.egg-info/SOURCES.txt'
installing to build/bdist.linux-x86_64/wheel
running install
running install_lib
creating build/bdist.linux-x86_64/wheel
creating build/bdist.linux-x86_64/wheel/flask_login
copying build/lib/flask_login/__about__.py ->
build/bdist.linux-x86_64/wheel/flask_login
copying build/lib/flask_login/test_client.py ->
build/bdist.linux-x86_64/wheel/flask_login
copying build/lib/flask_login/login_manager.py ->
build/bdist.linux-x86_64/wheel/flask_login
copying build/lib/flask_login/mixins.py ->
build/bdist.linux-x86_64/wheel/flask_login
copying build/lib/flask_login/utils.py ->
build/bdist.linux-x86_64/wheel/flask_login
copying build/lib/flask_login/signals.py ->
build/bdist.linux-x86_64/wheel/flask_login
copying build/lib/flask_login/__init__.py ->
build/bdist.linux-x86_64/wheel/flask_login
copying build/lib/flask_login/config.py ->
build/bdist.linux-x86_64/wheel/flask_login
running install_egg_info
Copying src/Flask_Login.egg-info to
build/bdist.linux-x86_64/wheel/Flask_Login-0.6.3.egg-info
running install_scripts
creating build/bdist.linux-x86_64/wheel/Flask_Login-0.6.3.dist-info/WHEEL
creating
'/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_flask-login/.tmp-1yrlkb98/Flask_Login-0.6.3-py3-none-any.whl'
and adding 'build/bdist.linux-x86_64/wheel' to it
adding 'flask_login/__about__.py'
adding 'flask_login/__init__.py'
adding 'flask_login/config.py'
adding 'flask_login/login_manager.py'
adding 'flask_login/mixins.py'
adding 'flask_login/signals.py'
adding 'flask_login/test_client.py'
adding 'flask_login/utils.py'
adding 'Flask_Login-0.6.3.dist-info/LICENSE'
adding 'Flask_Login-0.6.3.dist-info/METADATA'
adding 'Flask_Login-0.6.3.dist-info/WHEEL'
adding 'Flask_Login-0.6.3.dist-info/top_level.txt'
adding 'Flask_Login-0.6.3.dist-info/RECORD'
removing build/bdist.linux-x86_64/wheel
Successfully built Flask_Login-0.6.3-py3-none-any.whl
I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.11 with
"installer" module
dh_auto_test -O--buildsystem=pybuild
I: pybuild pybuild:308: cp -r /<<PKGBUILDDIR>>/tests
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-login/build
I: pybuild base:305: cd
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-login/build; python3.12 -m pytest
-v
============================= test session starts ==============================
platform linux -- Python 3.12.2, pytest-8.1.1, pluggy-1.4.0 --
/usr/bin/python3.12
cachedir: .pytest_cache
rootdir: /<<PKGBUILDDIR>>
configfile: setup.cfg
collecting ... collected 114 items
tests/test_login.py::AboutTestCase::test_have_about_data PASSED [ 0%]
tests/test_login.py::StaticTestCase::test_static_loads_anonymous PASSED [ 1%]
tests/test_login.py::StaticTestCase::test_static_loads_without_accessing_session
PASSED [ 2%]
tests/test_login.py::InitializationTestCase::test_class_init PASSED [ 3%]
tests/test_login.py::InitializationTestCase::test_init_app PASSED [ 4%]
tests/test_login.py::InitializationTestCase::test_no_user_loader_raises PASSED
[ 5%]
tests/test_login.py::MethodViewLoginTestCase::test_options_call_exempt PASSED [
6%]
tests/test_login.py::LoginTestCase::test_authentication_is_fresh PASSED [ 7%]
tests/test_login.py::LoginTestCase::test_confirm_login FAILED [ 7%]
tests/test_login.py::LoginTestCase::test_decorators_are_disabled PASSED [ 8%]
tests/test_login.py::LoginTestCase::test_defaults_anonymous PASSED [ 9%]
tests/test_login.py::LoginTestCase::test_fresh_login_required_decorator FAILED
[ 10%]
tests/test_login.py::LoginTestCase::test_incorrect_id_logs_out PASSED [ 11%]
tests/test_login.py::LoginTestCase::test_invalid_remember_cookie PASSED [ 12%]
tests/test_login.py::LoginTestCase::test_login_inactive_user PASSED [ 13%]
tests/test_login.py::LoginTestCase::test_login_inactive_user_forced PASSED [
14%]
tests/test_login.py::LoginTestCase::test_login_invalid_user_with_request PASSED
[ 14%]
tests/test_login.py::LoginTestCase::test_login_persists PASSED [ 15%]
tests/test_login.py::LoginTestCase::test_login_persists_with_many_x_forwarded_for
PASSED [ 16%]
tests/test_login.py::LoginTestCase::test_login_persists_with_signle_x_forwarded_for
PASSED [ 17%]
tests/test_login.py::LoginTestCase::test_login_required_decorator PASSED [ 18%]
tests/test_login.py::LoginTestCase::test_login_required_decorator_with_async
SKIPPED [ 19%]
tests/test_login.py::LoginTestCase::test_login_user PASSED [ 20%]
tests/test_login.py::LoginTestCase::test_login_user_emits_signal PASSED [ 21%]
tests/test_login.py::LoginTestCase::test_login_user_not_fresh PASSED [ 21%]
tests/test_login.py::LoginTestCase::test_login_user_with_request PASSED [ 22%]
tests/test_login.py::LoginTestCase::test_logout_emits_signal PASSED [ 23%]
tests/test_login.py::LoginTestCase::test_logout_logs_out_current_user PASSED [
24%]
tests/test_login.py::LoginTestCase::test_logout_persists PASSED [ 25%]
tests/test_login.py::LoginTestCase::test_logout_stays_logged_out_with_remember_me
PASSED [ 26%]
tests/test_login.py::LoginTestCase::test_logout_stays_logged_out_with_remember_me_custom_duration
PASSED [ 27%]
tests/test_login.py::LoginTestCase::test_logout_without_current_user PASSED [
28%]
tests/test_login.py::LoginTestCase::test_needs_refresh_aborts_401 PASSED [ 28%]
tests/test_login.py::LoginTestCase::test_needs_refresh_fires_flash_when_redirect_to_refresh_view
PASSED [ 29%]
tests/test_login.py::LoginTestCase::test_needs_refresh_fires_needs_refresh_signal
PASSED [ 30%]
tests/test_login.py::LoginTestCase::test_needs_refresh_flash_message_localized
PASSED [ 31%]
tests/test_login.py::LoginTestCase::test_needs_refresh_uses_handler PASSED [
32%]
tests/test_login.py::LoginTestCase::test_permanent_strong_session_protection_fires_signal
PASSED [ 33%]
tests/test_login.py::LoginTestCase::test_permanent_strong_session_protection_marks_session_unfresh
PASSED [ 34%]
tests/test_login.py::LoginTestCase::test_redirects_to_refresh_view PASSED [ 35%]
tests/test_login.py::LoginTestCase::test_refresh_with_next_in_session PASSED [
35%]
tests/test_login.py::LoginTestCase::test_remember_me FAILED [ 36%]
tests/test_login.py::LoginTestCase::test_remember_me_accepts_duration_as_int
FAILED [ 37%]
tests/test_login.py::LoginTestCase::test_remember_me_custom_duration FAILED [
38%]
tests/test_login.py::LoginTestCase::test_remember_me_custom_duration_uses_custom_cookie
FAILED [ 39%]
tests/test_login.py::LoginTestCase::test_remember_me_is_unfresh FAILED [ 40%]
tests/test_login.py::LoginTestCase::test_remember_me_no_refresh_every_request
FAILED [ 41%]
tests/test_login.py::LoginTestCase::test_remember_me_refresh_each_request
FAILED [ 42%]
tests/test_login.py::LoginTestCase::test_remember_me_uses_custom_cookie_parameters
FAILED [ 42%]
tests/test_login.py::LoginTestCase::test_remember_me_with_invalid_custom_duration_returns_500_resp
PASSED [ 43%]
tests/test_login.py::LoginTestCase::test_remember_me_with_invalid_duration_returns_500_response
PASSED [ 44%]
tests/test_login.py::LoginTestCase::test_requests_without_accessing_session
PASSED [ 45%]
tests/test_login.py::LoginTestCase::test_session_not_modified PASSED [ 46%]
tests/test_login.py::LoginTestCase::test_session_protection_basic_fires_signal
PASSED [ 47%]
tests/test_login.py::LoginTestCase::test_session_protection_basic_marks_session_unfresh
PASSED [ 48%]
tests/test_login.py::LoginTestCase::test_session_protection_basic_passes_successive_requests
PASSED [ 49%]
tests/test_login.py::LoginTestCase::test_session_protection_basic_skips_when_remember_me
PASSED [ 50%]
tests/test_login.py::LoginTestCase::test_session_protection_skip_when_basic_and_anonymous
PASSED [ 50%]
tests/test_login.py::LoginTestCase::test_session_protection_skip_when_off_and_anonymous
PASSED [ 51%]
tests/test_login.py::LoginTestCase::test_session_protection_strong_deletes_session
PASSED [ 52%]
tests/test_login.py::LoginTestCase::test_session_protection_strong_fires_signal_user_agent
PASSED [ 53%]
tests/test_login.py::LoginTestCase::test_session_protection_strong_fires_signal_x_forwarded_for
PASSED [ 54%]
tests/test_login.py::LoginTestCase::test_session_protection_strong_passes_successive_requests
PASSED [ 55%]
tests/test_login.py::LoginTestCase::test_session_protection_strong_skips_when_remember_me
PASSED [ 56%]
tests/test_login.py::LoginTestCase::test_set_cookie_with_invalid_custom_duration_raises_exception
PASSED [ 57%]
tests/test_login.py::LoginTestCase::test_set_cookie_with_invalid_duration_raises_exception
FAILED [ 57%]
tests/test_login.py::LoginTestCase::test_set_login_view_without_blueprints
PASSED [ 58%]
tests/test_login.py::LoginTestCase::test_test_request_context_users_are_anonymous
PASSED [ 59%]
tests/test_login.py::LoginTestCase::test_unauthorized_aborts_with_401 PASSED [
60%]
tests/test_login.py::LoginTestCase::test_unauthorized_fires_unauthorized_signal
PASSED [ 61%]
tests/test_login.py::LoginTestCase::test_unauthorized_flash_message_localized
PASSED [ 62%]
tests/test_login.py::LoginTestCase::test_unauthorized_flashes_message_with_login_view
PASSED [ 63%]
tests/test_login.py::LoginTestCase::test_unauthorized_redirects_to_login_view
PASSED [ 64%]
tests/test_login.py::LoginTestCase::test_unauthorized_uses_authorized_handler
PASSED [ 64%]
tests/test_login.py::LoginTestCase::test_unauthorized_uses_blueprint_login_view
PASSED [ 65%]
tests/test_login.py::LoginTestCase::test_unauthorized_with_next_in_session
PASSED [ 66%]
tests/test_login.py::LoginTestCase::test_unauthorized_with_next_in_strong_session
PASSED [ 67%]
tests/test_login.py::LoginTestCase::test_user_context_processor PASSED [ 68%]
tests/test_login.py::LoginTestCase::test_user_loaded_from_cookie_fired FAILED [
69%]
tests/test_login.py::LoginTestCase::test_user_loaded_from_request_fired PASSED
[ 70%]
tests/test_login.py::LoginTestCase::test_user_login_confirmed_signal_fired
PASSED [ 71%]
tests/test_login.py::LoginViaRequestTestCase::test_defaults_anonymous PASSED [
71%]
tests/test_login.py::LoginViaRequestTestCase::test_has_no_user_loader_callback
PASSED [ 72%]
tests/test_login.py::LoginViaRequestTestCase::test_login_invalid_user_with_request
PASSED [ 73%]
tests/test_login.py::LoginViaRequestTestCase::test_login_invalid_user_with_request_when_already_logged_in
PASSED [ 74%]
tests/test_login.py::LoginViaRequestTestCase::test_login_user_with_request_does_not_modify_session
PASSED [ 75%]
tests/test_login.py::LoginViaRequestTestCase::test_login_via_request PASSED [
76%]
tests/test_login.py::LoginViaRequestTestCase::test_login_via_request_uses_cookie_when_already_logged_in
PASSED [ 77%]
tests/test_login.py::LoginViaRequestTestCase::test_request_context_users_are_anonymous
PASSED [ 78%]
tests/test_login.py::TestLoginUrlGeneration::test_login_url_generation PASSED [
78%]
tests/test_login.py::TestLoginUrlGeneration::test_login_url_generation_with_view
PASSED [ 79%]
tests/test_login.py::TestLoginUrlGeneration::test_login_url_no_next_url PASSED
[ 80%]
tests/test_login.py::TestLoginUrlGeneration::test_make_next_param PASSED [ 81%]
tests/test_login.py::CookieEncodingTestCase::test_cookie_encoding PASSED [ 82%]
tests/test_login.py::CookieEncodingTestCase::test_cookie_encoding_with_key
PASSED [ 83%]
tests/test_login.py::SecretKeyTestCase::test_bytes PASSED [ 84%]
tests/test_login.py::SecretKeyTestCase::test_default PASSED [ 85%]
tests/test_login.py::SecretKeyTestCase::test_native PASSED [ 85%]
tests/test_login.py::UserMixinTestCase::test_default_values PASSED [ 86%]
tests/test_login.py::UserMixinTestCase::test_equality PASSED [ 87%]
tests/test_login.py::UserMixinTestCase::test_get_id_from_id_attribute PASSED [
88%]
tests/test_login.py::UserMixinTestCase::test_get_id_not_implemented PASSED [
89%]
tests/test_login.py::UserMixinTestCase::test_hashable PASSED [ 90%]
tests/test_login.py::AnonymousUserTestCase::test_values PASSED [ 91%]
tests/test_login.py::UnicodeCookieUserIDTestCase::test_remember_me_user_id
FAILED [ 92%]
tests/test_login.py::UnicodeCookieUserIDTestCase::test_remember_me_username
FAILED [ 92%]
tests/test_login.py::StrictHostForRedirectsTestCase::test_unauthorized_ignores_host_from_x_forwarded_for_header
PASSED [ 93%]
tests/test_login.py::StrictHostForRedirectsTestCase::test_unauthorized_uses_host_from_config_when_available
PASSED [ 94%]
tests/test_login.py::StrictHostForRedirectsTestCase::test_unauthorized_uses_host_from_next_url
PASSED [ 95%]
tests/test_login.py::StrictHostForRedirectsTestCase::test_unauthorized_uses_host_from_x_forwarded_for_header
PASSED [ 96%]
tests/test_login.py::CustomTestClientTestCase::test_fresh_login_arg_to_test_client
PASSED [ 97%]
tests/test_login.py::CustomTestClientTestCase::test_no_args_to_test_client
PASSED [ 98%]
tests/test_login.py::CustomTestClientTestCase::test_session_protection_modes
PASSED [ 99%]
tests/test_login.py::CustomTestClientTestCase::test_user_arg_to_test_client
PASSED [100%]
=================================== FAILURES ===================================
_______________________ LoginTestCase.test_confirm_login _______________________
self = <test_login.LoginTestCase testMethod=test_confirm_login>
def test_confirm_login(self):
with self.app.test_client() as c:
c.get("/login-notch-remember")
self._delete_session(c)
self.assertEqual("False", c.get("/is-fresh").data.decode("utf-8"))
self.assertEqual("True", c.get("/is-remembered").data.decode("utf-8"))
E AssertionError: 'True' != 'False'
E - True
E + False
tests/test_login.py:984: AssertionError
------------------------------ Captured log call -------------------------------
ERROR test_login:app.py:828 Exception on /login-notch-remember [GET]
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/flask/app.py", line 1463, in wsgi_app
response = self.full_dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/flask/app.py", line 873, in
full_dispatch_request
return self.finalize_request(rv)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/flask/app.py", line 894, in
finalize_request
response = self.process_response(response)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/flask/app.py", line 1271, in
process_response
response = self.ensure_sync(func)(response)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-login/build/flask_login/login_manager.py",
line 459, in _update_remember_cookie
self._set_cookie(response)
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-login/build/flask_login/login_manager.py",
line 488, in _set_cookie
expires = datetime.utcnow() + duration
^^^^^^^^^^^^^^^^^
DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for
removal in a future version. Use timezone-aware objects to represent datetimes
in UTC: datetime.datetime.now(datetime.UTC).
______________ LoginTestCase.test_fresh_login_required_decorator _______________
self = <test_login.LoginTestCase testMethod=test_fresh_login_required_decorator>
def test_fresh_login_required_decorator(self):
@self.app.route("/very-protected")
@fresh_login_required
def very_protected():
return "Access Granted"
with self.app.test_client() as c:
result = c.get("/very-protected")
self.assertEqual(result.status_code, 401)
c.get("/login-notch-remember")
logged_in_result = c.get("/very-protected")
self.assertEqual("Access Granted",
logged_in_result.data.decode("utf-8"))
self._delete_session(c)
stale_result = c.get("/very-protected")
self.assertEqual(stale_result.status_code, 401)
c.get("/confirm-login")
refreshed_result = c.get("/very-protected")
self.assertEqual("Access Granted",
refreshed_result.data.decode("utf-8"))
E AssertionError: 'Access Granted' != '<!doctype html>\n<html
lang=en>\n<title>4[277 chars]p>\n'
E - Access Granted
E + <!doctype html>
E + <html lang=en>
E + <title>401 Unauthorized</title>
E + <h1>Unauthorized</h1>
E + <p>The server could not verify that you are authorized to access the URL
requested. You either supplied the wrong credentials (e.g. a bad password), or your browser
doesn't understand how to supply the credentials required.</p>
E +
tests/test_login.py:1263: AssertionError
------------------------------ Captured log call -------------------------------
ERROR test_login:app.py:828 Exception on /login-notch-remember [GET]
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/flask/app.py", line 1463, in wsgi_app
response = self.full_dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/flask/app.py", line 873, in
full_dispatch_request
return self.finalize_request(rv)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/flask/app.py", line 894, in
finalize_request
response = self.process_response(response)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/flask/app.py", line 1271, in
process_response
response = self.ensure_sync(func)(response)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-login/build/flask_login/login_manager.py",
line 459, in _update_remember_cookie
self._set_cookie(response)
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-login/build/flask_login/login_manager.py",
line 488, in _set_cookie
expires = datetime.utcnow() + duration
^^^^^^^^^^^^^^^^^
DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for
removal in a future version. Use timezone-aware objects to represent datetimes
in UTC: datetime.datetime.now(datetime.UTC).
________________________ LoginTestCase.test_remember_me ________________________
self = <test_login.LoginTestCase testMethod=test_remember_me>
def test_remember_me(self):
with self.app.test_client() as c:
c.get("/login-notch-remember")
self._delete_session(c)
username_result = c.get("/username")
self.assertEqual("Notch", username_result.data.decode("utf-8"))
E AssertionError: 'Notch' != 'Anonymous'
E - Notch
E + Anonymous
tests/test_login.py:702: AssertionError
------------------------------ Captured log call -------------------------------
ERROR test_login:app.py:828 Exception on /login-notch-remember [GET]
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/flask/app.py", line 1463, in wsgi_app
response = self.full_dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/flask/app.py", line 873, in
full_dispatch_request
return self.finalize_request(rv)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/flask/app.py", line 894, in
finalize_request
response = self.process_response(response)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/flask/app.py", line 1271, in
process_response
response = self.ensure_sync(func)(response)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-login/build/flask_login/login_manager.py",
line 459, in _update_remember_cookie
self._set_cookie(response)
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-login/build/flask_login/login_manager.py",
line 488, in _set_cookie
expires = datetime.utcnow() + duration
^^^^^^^^^^^^^^^^^
DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for
removal in a future version. Use timezone-aware objects to represent datetimes
in UTC: datetime.datetime.now(datetime.UTC).
____________ LoginTestCase.test_remember_me_accepts_duration_as_int ____________
self = <test_login.LoginTestCase
testMethod=test_remember_me_accepts_duration_as_int>
def test_remember_me_accepts_duration_as_int(self):
self.app.config["REMEMBER_COOKIE_DURATION"] = 172800
duration = timedelta(seconds=172800)
name = self.app.config["REMEMBER_COOKIE_NAME"] = "myname"
domain = self.app.config["REMEMBER_COOKIE_DOMAIN"] = ".localhost.local"
c = self.app.test_client()
result = c.get("/login-notch-remember")
self.assertEqual(result.status_code, 200)
E AssertionError: 500 != 200
tests/test_login.py:757: AssertionError
------------------------------ Captured log call -------------------------------
ERROR test_login:app.py:828 Exception on /login-notch-remember [GET]
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/flask/app.py", line 1463, in wsgi_app
response = self.full_dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/flask/app.py", line 873, in
full_dispatch_request
return self.finalize_request(rv)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/flask/app.py", line 894, in
finalize_request
response = self.process_response(response)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/flask/app.py", line 1271, in
process_response
response = self.ensure_sync(func)(response)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-login/build/flask_login/login_manager.py",
line 459, in _update_remember_cookie
self._set_cookie(response)
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-login/build/flask_login/login_manager.py",
line 488, in _set_cookie
expires = datetime.utcnow() + duration
^^^^^^^^^^^^^^^^^
DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for
removal in a future version. Use timezone-aware objects to represent datetimes
in UTC: datetime.datetime.now(datetime.UTC).
________________ LoginTestCase.test_remember_me_custom_duration ________________
self = <test_login.LoginTestCase testMethod=test_remember_me_custom_duration>
def test_remember_me_custom_duration(self):
with self.app.test_client() as c:
c.get("/login-notch-remember-custom")
self._delete_session(c)
username_result = c.get("/username")
self.assertEqual("Notch", username_result.data.decode("utf-8"))
E AssertionError: 'Notch' != 'Anonymous'
E - Notch
E + Anonymous
tests/test_login.py:713: AssertionError
------------------------------ Captured log call -------------------------------
ERROR test_login:app.py:828 Exception on /login-notch-remember-custom [GET]
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/flask/app.py", line 1463, in wsgi_app
response = self.full_dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/flask/app.py", line 873, in
full_dispatch_request
return self.finalize_request(rv)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/flask/app.py", line 894, in
finalize_request
response = self.process_response(response)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/flask/app.py", line 1271, in
process_response
response = self.ensure_sync(func)(response)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-login/build/flask_login/login_manager.py",
line 459, in _update_remember_cookie
self._set_cookie(response)
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-login/build/flask_login/login_manager.py",
line 488, in _set_cookie
expires = datetime.utcnow() + duration
^^^^^^^^^^^^^^^^^
DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for
removal in a future version. Use timezone-aware objects to represent datetimes
in UTC: datetime.datetime.now(datetime.UTC).
______ LoginTestCase.test_remember_me_custom_duration_uses_custom_cookie _______
self = <test_login.LoginTestCase
testMethod=test_remember_me_custom_duration_uses_custom_cookie>
def test_remember_me_custom_duration_uses_custom_cookie(self):
name = self.app.config["REMEMBER_COOKIE_NAME"] = "myname"
self.app.config["REMEMBER_COOKIE_DURATION"] = 172800
duration = timedelta(hours=7)
path = self.app.config["REMEMBER_COOKIE_PATH"] = "/mypath"
domain = self.app.config["REMEMBER_COOKIE_DOMAIN"] = ".localhost.local"
c = self.app.test_client()
c.get("/login-notch-remember-custom")
cookie = client_get_cookie(c, name, domain, path)
self.assertIsNotNone(cookie)
E AssertionError: unexpectedly None
tests/test_login.py:743: AssertionError
------------------------------ Captured log call -------------------------------
ERROR test_login:app.py:828 Exception on /login-notch-remember-custom [GET]
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/flask/app.py", line 1463, in wsgi_app
response = self.full_dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/flask/app.py", line 873, in
full_dispatch_request
return self.finalize_request(rv)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/flask/app.py", line 894, in
finalize_request
response = self.process_response(response)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/flask/app.py", line 1271, in
process_response
response = self.ensure_sync(func)(response)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-login/build/flask_login/login_manager.py",
line 459, in _update_remember_cookie
self._set_cookie(response)
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-login/build/flask_login/login_manager.py",
line 488, in _set_cookie
expires = datetime.utcnow() + duration
^^^^^^^^^^^^^^^^^
DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for
removal in a future version. Use timezone-aware objects to represent datetimes
in UTC: datetime.datetime.now(datetime.UTC).
__________________ LoginTestCase.test_remember_me_is_unfresh ___________________
self = <test_login.LoginTestCase testMethod=test_remember_me_is_unfresh>
def test_remember_me_is_unfresh(self):
with self.app.test_client() as c:
c.get("/login-notch-remember")
self._delete_session(c)
self.assertEqual("False", c.get("/is-fresh").data.decode("utf-8"))
self.assertEqual("True", c.get("/is-remembered").data.decode("utf-8"))
E AssertionError: 'True' != 'False'
E - True
E + False
tests/test_login.py:841: AssertionError
------------------------------ Captured log call -------------------------------
ERROR test_login:app.py:828 Exception on /login-notch-remember [GET]
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/flask/app.py", line 1463, in wsgi_app
response = self.full_dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/flask/app.py", line 873, in
full_dispatch_request
return self.finalize_request(rv)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/flask/app.py", line 894, in
finalize_request
response = self.process_response(response)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/flask/app.py", line 1271, in
process_response
response = self.ensure_sync(func)(response)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-login/build/flask_login/login_manager.py",
line 459, in _update_remember_cookie
self._set_cookie(response)
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-login/build/flask_login/login_manager.py",
line 488, in _set_cookie
expires = datetime.utcnow() + duration
^^^^^^^^^^^^^^^^^
DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for
removal in a future version. Use timezone-aware objects to represent datetimes
in UTC: datetime.datetime.now(datetime.UTC).
___________ LoginTestCase.test_remember_me_no_refresh_every_request ____________
self = <test_login.LoginTestCase
testMethod=test_remember_me_no_refresh_every_request>
def test_remember_me_no_refresh_every_request(self):
domain = self.app.config["REMEMBER_COOKIE_DOMAIN"] = ".localhost.local"
path = self.app.config["REMEMBER_COOKIE_PATH"] = "/"
self.app.config["REMEMBER_COOKIE_REFRESH_EACH_REQUEST"] = False
c = self.app.test_client()
c.get("/login-notch-remember")
cookie1 = client_get_cookie(c, "remember", domain, path)
self.assertIsNotNone(cookie1.expires)
E AttributeError: 'NoneType' object has no attribute 'expires'
tests/test_login.py:813: AttributeError
------------------------------ Captured log call -------------------------------
ERROR test_login:app.py:828 Exception on /login-notch-remember [GET]
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/flask/app.py", line 1463, in wsgi_app
response = self.full_dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/flask/app.py", line 873, in
full_dispatch_request
return self.finalize_request(rv)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/flask/app.py", line 894, in
finalize_request
response = self.process_response(response)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/flask/app.py", line 1271, in
process_response
response = self.ensure_sync(func)(response)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-login/build/flask_login/login_manager.py",
line 459, in _update_remember_cookie
self._set_cookie(response)
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-login/build/flask_login/login_manager.py",
line 488, in _set_cookie
expires = datetime.utcnow() + duration
^^^^^^^^^^^^^^^^^
DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for
removal in a future version. Use timezone-aware objects to represent datetimes
in UTC: datetime.datetime.now(datetime.UTC).
_____________ LoginTestCase.test_remember_me_refresh_each_request ______________
self = <test_login.LoginTestCase
testMethod=test_remember_me_refresh_each_request>
def test_remember_me_refresh_each_request(self):
with patch("flask_login.login_manager.datetime") as mock_dt:
now = datetime.utcnow()
E DeprecationWarning: datetime.datetime.utcnow() is deprecated and
scheduled for removal in a future version. Use timezone-aware objects to
represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
tests/test_login.py:821: DeprecationWarning
_________ LoginTestCase.test_remember_me_uses_custom_cookie_parameters _________
self = <test_login.LoginTestCase
testMethod=test_remember_me_uses_custom_cookie_parameters>
def test_remember_me_uses_custom_cookie_parameters(self):
name = self.app.config["REMEMBER_COOKIE_NAME"] = "myname"
duration = self.app.config["REMEMBER_COOKIE_DURATION"] =
timedelta(days=2)
path = self.app.config["REMEMBER_COOKIE_PATH"] = "/mypath"
domain = self.app.config["REMEMBER_COOKIE_DOMAIN"] = ".localhost.local"
c = self.app.test_client()
c.get("/login-notch-remember")
cookie = client_get_cookie(c, name, domain, path)
self.assertIsNotNone(cookie)
E AssertionError: unexpectedly None
tests/test_login.py:727: AssertionError
------------------------------ Captured log call -------------------------------
ERROR test_login:app.py:828 Exception on /login-notch-remember [GET]
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/flask/app.py", line 1463, in wsgi_app
response = self.full_dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/flask/app.py", line 873, in
full_dispatch_request
return self.finalize_request(rv)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/flask/app.py", line 894, in
finalize_request
response = self.process_response(response)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/flask/app.py", line 1271, in
process_response
response = self.ensure_sync(func)(response)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-login/build/flask_login/login_manager.py",
line 459, in _update_remember_cookie
self._set_cookie(response)
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-login/build/flask_login/login_manager.py",
line 488, in _set_cookie
expires = datetime.utcnow() + duration
^^^^^^^^^^^^^^^^^
DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for
removal in a future version. Use timezone-aware objects to represent datetimes
in UTC: datetime.datetime.now(datetime.UTC).
_____ LoginTestCase.test_set_cookie_with_invalid_duration_raises_exception _____
self = <test_login.LoginTestCase
testMethod=test_set_cookie_with_invalid_duration_raises_exception>
def test_set_cookie_with_invalid_duration_raises_exception(self):
self.app.config["REMEMBER_COOKIE_DURATION"] = "123"
with self.assertRaises(Exception) as cm:
with self.app.test_request_context():
session["_user_id"] = 2
self.login_manager._set_cookie(None)
expected_exception_message = (
"REMEMBER_COOKIE_DURATION must be a datetime.timedelta, instead got:
123"
)
self.assertIn(expected_exception_message, str(cm.exception))
E AssertionError: 'REMEMBER_COOKIE_DURATION must be a datetime.timedelta,
instead got: 123' not found in 'datetime.datetime.utcnow() is deprecated and
scheduled for removal in a future version. Use timezone-aware objects to
represent datetimes in UTC: datetime.datetime.now(datetime.UTC).'
tests/test_login.py:794: AssertionError
_______________ LoginTestCase.test_user_loaded_from_cookie_fired _______________
self = <test_login.LoginTestCase testMethod=test_user_loaded_from_cookie_fired>
def test_user_loaded_from_cookie_fired(self):
with self.app.test_client() as c:
c.get("/login-notch-remember")
self._delete_session(c)
with listen_to(user_loaded_from_cookie) as listener:
c.get("/username")
listener.assert_heard_one(self.app, user=notch)
tests/test_login.py:869:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <test_login.listen_to.<locals>._SignalsCaught object at 0x7fb034190cb0>
args = (<Flask 'test_login'>,)
kwargs = {'user': <test_login.User object at 0x7fb0342f7440>}
def assert_heard_one(self, *args, **kwargs):
"""The signal fired once, and with the arguments given"""
if len(self.heard) == 0:
raise AssertionError("No signals were fired")
E AssertionError: No signals were fired
tests/test_login.py:147: AssertionError
------------------------------ Captured log call -------------------------------
ERROR test_login:app.py:828 Exception on /login-notch-remember [GET]
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/flask/app.py", line 1463, in wsgi_app
response = self.full_dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/flask/app.py", line 873, in
full_dispatch_request
return self.finalize_request(rv)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/flask/app.py", line 894, in
finalize_request
response = self.process_response(response)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/flask/app.py", line 1271, in
process_response
response = self.ensure_sync(func)(response)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-login/build/flask_login/login_manager.py",
line 459, in _update_remember_cookie
self._set_cookie(response)
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-login/build/flask_login/login_manager.py",
line 488, in _set_cookie
expires = datetime.utcnow() + duration
^^^^^^^^^^^^^^^^^
DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for
removal in a future version. Use timezone-aware objects to represent datetimes
in UTC: datetime.datetime.now(datetime.UTC).
_____________ UnicodeCookieUserIDTestCase.test_remember_me_user_id _____________
self = <test_login.UnicodeCookieUserIDTestCase
testMethod=test_remember_me_user_id>
def test_remember_me_user_id(self):
with self.app.test_client() as c:
c.get("/login-germanjapanese-remember")
self._delete_session(c)
result = c.get("/userid")
self.assertEqual("佐藤", result.data.decode("utf-8"))
E AssertionError: '佐藤' != 'wrong_id'
E - 佐藤
E + wrong_id
tests/test_login.py:1619: AssertionError
------------------------------ Captured log call -------------------------------
ERROR test_login:app.py:828 Exception on /login-germanjapanese-remember [GET]
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/flask/app.py", line 1463, in wsgi_app
response = self.full_dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/flask/app.py", line 873, in
full_dispatch_request
return self.finalize_request(rv)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/flask/app.py", line 894, in
finalize_request
response = self.process_response(response)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/flask/app.py", line 1271, in
process_response
response = self.ensure_sync(func)(response)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-login/build/flask_login/login_manager.py",
line 459, in _update_remember_cookie
self._set_cookie(response)
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-login/build/flask_login/login_manager.py",
line 488, in _set_cookie
expires = datetime.utcnow() + duration
^^^^^^^^^^^^^^^^^
DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for
removal in a future version. Use timezone-aware objects to represent datetimes
in UTC: datetime.datetime.now(datetime.UTC).
____________ UnicodeCookieUserIDTestCase.test_remember_me_username _____________
self = <test_login.UnicodeCookieUserIDTestCase
testMethod=test_remember_me_username>
def test_remember_me_username(self):
with self.app.test_client() as c:
c.get("/login-germanjapanese-remember")
self._delete_session(c)
result = c.get("/username")
self.assertEqual("Müller", result.data.decode("utf-8"))
E AssertionError: 'Müller' != 'Anonymous'
E - Müller
E + Anonymous
tests/test_login.py:1612: AssertionError
------------------------------ Captured log call -------------------------------
ERROR test_login:app.py:828 Exception on /login-germanjapanese-remember [GET]
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/flask/app.py", line 1463, in wsgi_app
response = self.full_dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/flask/app.py", line 873, in
full_dispatch_request
return self.finalize_request(rv)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/flask/app.py", line 894, in
finalize_request
response = self.process_response(response)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/flask/app.py", line 1271, in
process_response
response = self.ensure_sync(func)(response)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-login/build/flask_login/login_manager.py",
line 459, in _update_remember_cookie
self._set_cookie(response)
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-login/build/flask_login/login_manager.py",
line 488, in _set_cookie
expires = datetime.utcnow() + duration
^^^^^^^^^^^^^^^^^
DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for
removal in a future version. Use timezone-aware objects to represent datetimes
in UTC: datetime.datetime.now(datetime.UTC).
=========================== short test summary info ============================
FAILED tests/test_login.py::LoginTestCase::test_confirm_login - AssertionErro...
FAILED tests/test_login.py::LoginTestCase::test_fresh_login_required_decorator
FAILED tests/test_login.py::LoginTestCase::test_remember_me - AssertionError:...
FAILED
tests/test_login.py::LoginTestCase::test_remember_me_accepts_duration_as_int
FAILED tests/test_login.py::LoginTestCase::test_remember_me_custom_duration
FAILED
tests/test_login.py::LoginTestCase::test_remember_me_custom_duration_uses_custom_cookie
FAILED tests/test_login.py::LoginTestCase::test_remember_me_is_unfresh - Asse...
FAILED
tests/test_login.py::LoginTestCase::test_remember_me_no_refresh_every_request
FAILED tests/test_login.py::LoginTestCase::test_remember_me_refresh_each_request
FAILED
tests/test_login.py::LoginTestCase::test_remember_me_uses_custom_cookie_parameters
FAILED
tests/test_login.py::LoginTestCase::test_set_cookie_with_invalid_duration_raises_exception
FAILED tests/test_login.py::LoginTestCase::test_user_loaded_from_cookie_fired
FAILED
tests/test_login.py::UnicodeCookieUserIDTestCase::test_remember_me_user_id
FAILED
tests/test_login.py::UnicodeCookieUserIDTestCase::test_remember_me_username
=================== 14 failed, 99 passed, 1 skipped in 1.01s ===================
E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-login/build; python3.12 -m pytest
-v
I: pybuild pybuild:308: cp -r /<<PKGBUILDDIR>>/tests
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_flask-login/build
I: pybuild base:305: cd
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_flask-login/build; python3.11 -m pytest
-v
============================= test session starts ==============================
platform linux -- Python 3.11.8, pytest-8.1.1, pluggy-1.4.0 --
/usr/bin/python3.11
cachedir: .pytest_cache
rootdir: /<<PKGBUILDDIR>>
configfile: setup.cfg
collecting ... collected 114 items
tests/test_login.py::AboutTestCase::test_have_about_data PASSED [ 0%]
tests/test_login.py::StaticTestCase::test_static_loads_anonymous PASSED [ 1%]
tests/test_login.py::StaticTestCase::test_static_loads_without_accessing_session
PASSED [ 2%]
tests/test_login.py::InitializationTestCase::test_class_init PASSED [ 3%]
tests/test_login.py::InitializationTestCase::test_init_app PASSED [ 4%]
tests/test_login.py::InitializationTestCase::test_no_user_loader_raises PASSED
[ 5%]
tests/test_login.py::MethodViewLoginTestCase::test_options_call_exempt PASSED [
6%]
tests/test_login.py::LoginTestCase::test_authentication_is_fresh PASSED [ 7%]
tests/test_login.py::LoginTestCase::test_confirm_login PASSED [ 7%]
tests/test_login.py::LoginTestCase::test_decorators_are_disabled PASSED [ 8%]
tests/test_login.py::LoginTestCase::test_defaults_anonymous PASSED [ 9%]
tests/test_login.py::LoginTestCase::test_fresh_login_required_decorator PASSED
[ 10%]
tests/test_login.py::LoginTestCase::test_incorrect_id_logs_out PASSED [ 11%]
tests/test_login.py::LoginTestCase::test_invalid_remember_cookie PASSED [ 12%]
tests/test_login.py::LoginTestCase::test_login_inactive_user PASSED [ 13%]
tests/test_login.py::LoginTestCase::test_login_inactive_user_forced PASSED [
14%]
tests/test_login.py::LoginTestCase::test_login_invalid_user_with_request PASSED
[ 14%]
tests/test_login.py::LoginTestCase::test_login_persists PASSED [ 15%]
tests/test_login.py::LoginTestCase::test_login_persists_with_many_x_forwarded_for
PASSED [ 16%]
tests/test_login.py::LoginTestCase::test_login_persists_with_signle_x_forwarded_for
PASSED [ 17%]
tests/test_login.py::LoginTestCase::test_login_required_decorator PASSED [ 18%]
tests/test_login.py::LoginTestCase::test_login_required_decorator_with_async
SKIPPED [ 19%]
tests/test_login.py::LoginTestCase::test_login_user PASSED [ 20%]
tests/test_login.py::LoginTestCase::test_login_user_emits_signal PASSED [ 21%]
tests/test_login.py::LoginTestCase::test_login_user_not_fresh PASSED [ 21%]
tests/test_login.py::LoginTestCase::test_login_user_with_request PASSED [ 22%]
tests/test_login.py::LoginTestCase::test_logout_emits_signal PASSED [ 23%]
tests/test_login.py::LoginTestCase::test_logout_logs_out_current_user PASSED [
24%]
tests/test_login.py::LoginTestCase::test_logout_persists PASSED [ 25%]
tests/test_login.py::LoginTestCase::test_logout_stays_logged_out_with_remember_me
PASSED [ 26%]
tests/test_login.py::LoginTestCase::test_logout_stays_logged_out_with_remember_me_custom_duration
PASSED [ 27%]
tests/test_login.py::LoginTestCase::test_logout_without_current_user PASSED [
28%]
tests/test_login.py::LoginTestCase::test_needs_refresh_aborts_401 PASSED [ 28%]
tests/test_login.py::LoginTestCase::test_needs_refresh_fires_flash_when_redirect_to_refresh_view
PASSED [ 29%]
tests/test_login.py::LoginTestCase::test_needs_refresh_fires_needs_refresh_signal
PASSED [ 30%]
tests/test_login.py::LoginTestCase::test_needs_refresh_flash_message_localized
PASSED [ 31%]
tests/test_login.py::LoginTestCase::test_needs_refresh_uses_handler PASSED [
32%]
tests/test_login.py::LoginTestCase::test_permanent_strong_session_protection_fires_signal
PASSED [ 33%]
tests/test_login.py::LoginTestCase::test_permanent_strong_session_protection_marks_session_unfresh
PASSED [ 34%]
tests/test_login.py::LoginTestCase::test_redirects_to_refresh_view PASSED [ 35%]
tests/test_login.py::LoginTestCase::test_refresh_with_next_in_session PASSED [
35%]
tests/test_login.py::LoginTestCase::test_remember_me PASSED [ 36%]
tests/test_login.py::LoginTestCase::test_remember_me_accepts_duration_as_int
PASSED [ 37%]
tests/test_login.py::LoginTestCase::test_remember_me_custom_duration PASSED [
38%]
tests/test_login.py::LoginTestCase::test_remember_me_custom_duration_uses_custom_cookie
PASSED [ 39%]
tests/test_login.py::LoginTestCase::test_remember_me_is_unfresh PASSED [ 40%]
tests/test_login.py::LoginTestCase::test_remember_me_no_refresh_every_request
PASSED [ 41%]
tests/test_login.py::LoginTestCase::test_remember_me_refresh_each_request
PASSED [ 42%]
tests/test_login.py::LoginTestCase::test_remember_me_uses_custom_cookie_parameters
PASSED [ 42%]
tests/test_login.py::LoginTestCase::test_remember_me_with_invalid_custom_duration_returns_500_resp
PASSED [ 43%]
tests/test_login.py::LoginTestCase::test_remember_me_with_invalid_duration_returns_500_response
PASSED [ 44%]
tests/test_login.py::LoginTestCase::test_requests_without_accessing_session
PASSED [ 45%]
tests/test_login.py::LoginTestCase::test_session_not_modified PASSED [ 46%]
tests/test_login.py::LoginTestCase::test_session_protection_basic_fires_signal
PASSED [ 47%]
tests/test_login.py::LoginTestCase::test_session_protection_basic_marks_session_unfresh
PASSED [ 48%]
tests/test_login.py::LoginTestCase::test_session_protection_basic_passes_successive_requests
PASSED [ 49%]
tests/test_login.py::LoginTestCase::test_session_protection_basic_skips_when_remember_me
PASSED [ 50%]
tests/test_login.py::LoginTestCase::test_session_protection_skip_when_basic_and_anonymous
PASSED [ 50%]
tests/test_login.py::LoginTestCase::test_session_protection_skip_when_off_and_anonymous
PASSED [ 51%]
tests/test_login.py::LoginTestCase::test_session_protection_strong_deletes_session
PASSED [ 52%]
tests/test_login.py::LoginTestCase::test_session_protection_strong_fires_signal_user_agent
PASSED [ 53%]
tests/test_login.py::LoginTestCase::test_session_protection_strong_fires_signal_x_forwarded_for
PASSED [ 54%]
tests/test_login.py::LoginTestCase::test_session_protection_strong_passes_successive_requests
PASSED [ 55%]
tests/test_login.py::LoginTestCase::test_session_protection_strong_skips_when_remember_me
PASSED [ 56%]
tests/test_login.py::LoginTestCase::test_set_cookie_with_invalid_custom_duration_raises_exception
PASSED [ 57%]
tests/test_login.py::LoginTestCase::test_set_cookie_with_invalid_duration_raises_exception
PASSED [ 57%]
tests/test_login.py::LoginTestCase::test_set_login_view_without_blueprints
PASSED [ 58%]
tests/test_login.py::LoginTestCase::test_test_request_context_users_are_anonymous
PASSED [ 59%]
tests/test_login.py::LoginTestCase::test_unauthorized_aborts_with_401 PASSED [
60%]
tests/test_login.py::LoginTestCase::test_unauthorized_fires_unauthorized_signal
PASSED [ 61%]
tests/test_login.py::LoginTestCase::test_unauthorized_flash_message_localized
PASSED [ 62%]
tests/test_login.py::LoginTestCase::test_unauthorized_flashes_message_with_login_view
PASSED [ 63%]
tests/test_login.py::LoginTestCase::test_unauthorized_redirects_to_login_view
PASSED [ 64%]
tests/test_login.py::LoginTestCase::test_unauthorized_uses_authorized_handler
PASSED [ 64%]
tests/test_login.py::LoginTestCase::test_unauthorized_uses_blueprint_login_view
PASSED [ 65%]
tests/test_login.py::LoginTestCase::test_unauthorized_with_next_in_session
PASSED [ 66%]
tests/test_login.py::LoginTestCase::test_unauthorized_with_next_in_strong_session
PASSED [ 67%]
tests/test_login.py::LoginTestCase::test_user_context_processor PASSED [ 68%]
tests/test_login.py::LoginTestCase::test_user_loaded_from_cookie_fired PASSED [
69%]
tests/test_login.py::LoginTestCase::test_user_loaded_from_request_fired PASSED
[ 70%]
tests/test_login.py::LoginTestCase::test_user_login_confirmed_signal_fired
PASSED [ 71%]
tests/test_login.py::LoginViaRequestTestCase::test_defaults_anonymous PASSED [
71%]
tests/test_login.py::LoginViaRequestTestCase::test_has_no_user_loader_callback
PASSED [ 72%]
tests/test_login.py::LoginViaRequestTestCase::test_login_invalid_user_with_request
PASSED [ 73%]
tests/test_login.py::LoginViaRequestTestCase::test_login_invalid_user_with_request_when_already_logged_in
PASSED [ 74%]
tests/test_login.py::LoginViaRequestTestCase::test_login_user_with_request_does_not_modify_session
PASSED [ 75%]
tests/test_login.py::LoginViaRequestTestCase::test_login_via_request PASSED [
76%]
tests/test_login.py::LoginViaRequestTestCase::test_login_via_request_uses_cookie_when_already_logged_in
PASSED [ 77%]
tests/test_login.py::LoginViaRequestTestCase::test_request_context_users_are_anonymous
PASSED [ 78%]
tests/test_login.py::TestLoginUrlGeneration::test_login_url_generation PASSED [
78%]
tests/test_login.py::TestLoginUrlGeneration::test_login_url_generation_with_view
PASSED [ 79%]
tests/test_login.py::TestLoginUrlGeneration::test_login_url_no_next_url PASSED
[ 80%]
tests/test_login.py::TestLoginUrlGeneration::test_make_next_param PASSED [ 81%]
tests/test_login.py::CookieEncodingTestCase::test_cookie_encoding PASSED [ 82%]
tests/test_login.py::CookieEncodingTestCase::test_cookie_encoding_with_key
PASSED [ 83%]
tests/test_login.py::SecretKeyTestCase::test_bytes PASSED [ 84%]
tests/test_login.py::SecretKeyTestCase::test_default PASSED [ 85%]
tests/test_login.py::SecretKeyTestCase::test_native PASSED [ 85%]
tests/test_login.py::UserMixinTestCase::test_default_values PASSED [ 86%]
tests/test_login.py::UserMixinTestCase::test_equality PASSED [ 87%]
tests/test_login.py::UserMixinTestCase::test_get_id_from_id_attribute PASSED [
88%]
tests/test_login.py::UserMixinTestCase::test_get_id_not_implemented PASSED [
89%]
tests/test_login.py::UserMixinTestCase::test_hashable PASSED [ 90%]
tests/test_login.py::AnonymousUserTestCase::test_values PASSED [ 91%]
tests/test_login.py::UnicodeCookieUserIDTestCase::test_remember_me_user_id
PASSED [ 92%]
tests/test_login.py::UnicodeCookieUserIDTestCase::test_remember_me_username
PASSED [ 92%]
tests/test_login.py::StrictHostForRedirectsTestCase::test_unauthorized_ignores_host_from_x_forwarded_for_header
PASSED [ 93%]
tests/test_login.py::StrictHostForRedirectsTestCase::test_unauthorized_uses_host_from_config_when_available
PASSED [ 94%]
tests/test_login.py::StrictHostForRedirectsTestCase::test_unauthorized_uses_host_from_next_url
PASSED [ 95%]
tests/test_login.py::StrictHostForRedirectsTestCase::test_unauthorized_uses_host_from_x_forwarded_for_header
PASSED [ 96%]
tests/test_login.py::CustomTestClientTestCase::test_fresh_login_arg_to_test_client
PASSED [ 97%]
tests/test_login.py::CustomTestClientTestCase::test_no_args_to_test_client
PASSED [ 98%]
tests/test_login.py::CustomTestClientTestCase::test_session_protection_modes
PASSED [ 99%]
tests/test_login.py::CustomTestClientTestCase::test_user_arg_to_test_client
PASSED [100%]
======================== 113 passed, 1 skipped in 0.63s ========================
I: pybuild pybuild:334: rm -rf
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_flask-login/build/tests
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.12
3.11" returned exit code 13
make: *** [debian/rules:16: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------
The above is just how the build ends and not necessarily the most relevant part.
If required, the full build log is available here:
https://people.debian.org/~sanvila/build-logs/202403/
About the archive rebuild: The build was made on virtual machines
of type m6a.large from AWS, using sbuild and a reduced chroot
with only build-essential packages.
If you could not reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.
If this is really a bug in one of the build-depends, please use
reassign and affects, so that this is still visible in the BTS web
page for this package.
Thanks.
--- End Message ---