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&#39;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.

Reply via email to