Mock Version: 3.5 Mock Version: 3.5 Mock Version: 3.5 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --noclean --target noarch --nodeps /builddir/build/SPECS/python-flask-security-too.spec'], chrootPath='/var/lib/mock/f38-build-side-42-init-devel-977402-28973/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=864000uid=996gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueprintOutput=False) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --noclean --target noarch --nodeps /builddir/build/SPECS/python-flask-security-too.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False Building target platforms: noarch Building for target noarch setting SOURCE_DATE_EPOCH=1674172800 Wrote: /builddir/build/SRPMS/python-flask-security-too-4.1.5-2.fc38.src.rpm Child return code was: 0 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -br --noclean --target noarch --nodeps /builddir/build/SPECS/python-flask-security-too.spec'], chrootPath='/var/lib/mock/f38-build-side-42-init-devel-977402-28973/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=864000uid=996gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueraiseExc=FalseprintOutput=False) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -br --noclean --target noarch --nodeps /builddir/build/SPECS/python-flask-security-too.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False Building target platforms: noarch Building for target noarch setting SOURCE_DATE_EPOCH=1674172800 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.8rtAy6 + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf Flask-Security-Too-4.1.5 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/Flask-Security-Too-4.1.5.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd Flask-Security-Too-4.1.5 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + /usr/lib/rpm/rpmuncompress /builddir/build/SOURCES/python-flask-security-too_testdeps.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f + sed -r -i '/\b(two_factor|unified_signin)\b/d' tests/conftest.py + RPM_EC=0 ++ jobs -p + exit 0 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.58qTXU + umask 022 + cd /builddir/build/BUILD + cd Flask-Security-Too-4.1.5 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -I/usr/lib/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -I/usr/lib/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(pip) >= 19' + echo 'python3dist(packaging)' + '[' -f pyproject.toml ']' + '[' -f setup.py ']' + echo 'python3dist(setuptools) >= 40.8' + echo 'python3dist(wheel)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/Flask-Security-Too-4.1.5/.pyproject-builddir + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + TMPDIR=/builddir/build/BUILD/Flask-Security-Too-4.1.5/.pyproject-builddir + RPM_TOXENV=py311 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/Flask-Security-Too-4.1.5/pyproject-wheeldir -x babel,fsqla,common -r requirements/tests.txt Handling Flask-Babel from requirements file requirements/tests.txt Requirement not satisfied: Flask-Babel Handling Babel from requirements file requirements/tests.txt Requirement not satisfied: Babel Handling Flask-Login from requirements file requirements/tests.txt Requirement not satisfied: Flask-Login Handling Flask-Mail from requirements file requirements/tests.txt Requirement not satisfied: Flask-Mail Handling Flask-Principal from requirements file requirements/tests.txt Requirement not satisfied: Flask-Principal Handling peewee from requirements file requirements/tests.txt Requirement not satisfied: peewee Handling Flask-SQLAlchemy from requirements file requirements/tests.txt Requirement not satisfied: Flask-SQLAlchemy Handling argon2_cffi from requirements file requirements/tests.txt Requirement not satisfied: argon2_cffi Handling bcrypt from requirements file requirements/tests.txt Requirement not satisfied: bcrypt Handling bleach from requirements file requirements/tests.txt Requirement not satisfied: bleach Handling check-manifest from requirements file requirements/tests.txt Requirement not satisfied: check-manifest Handling coverage from requirements file requirements/tests.txt Requirement not satisfied: coverage Handling cryptography from requirements file requirements/tests.txt Requirement not satisfied: cryptography Handling mongoengine from requirements file requirements/tests.txt Requirement not satisfied: mongoengine Handling mongomock from requirements file requirements/tests.txt Requirement not satisfied: mongomock Handling passlib from requirements file requirements/tests.txt Requirement not satisfied: passlib Handling pony>=0.7.11;python_version<'3.9' from requirements file requirements/tests.txt Ignoring alien requirement: pony>=0.7.11;python_version<'3.9' Handling pydocstyle from requirements file requirements/tests.txt Requirement not satisfied: pydocstyle Handling pytest-cache from requirements file requirements/tests.txt Requirement not satisfied: pytest-cache Handling pytest-cov from requirements file requirements/tests.txt Requirement not satisfied: pytest-cov Handling pytest from requirements file requirements/tests.txt Requirement not satisfied: pytest Handling sqlalchemy from requirements file requirements/tests.txt Requirement not satisfied: sqlalchemy Handling sqlalchemy-utils from requirements file requirements/tests.txt Requirement not satisfied: sqlalchemy-utils Handling werkzeug from requirements file requirements/tests.txt Requirement not satisfied: werkzeug Handling zxcvbn from requirements file requirements/tests.txt Requirement not satisfied: zxcvbn Exiting dependency generation pass: all requirements files + rm -rfv '*.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-flask-security-too-4.1.5-2.fc38.buildreqs.nosrc.rpm Child return code was: 11 Dynamic buildrequires detected Going to install missing buildrequires. See root.log for details. ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -br --noclean --target noarch --nodeps /builddir/build/SPECS/python-flask-security-too.spec'], chrootPath='/var/lib/mock/f38-build-side-42-init-devel-977402-28973/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=864000uid=996gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueraiseExc=FalseprintOutput=False) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -br --noclean --target noarch --nodeps /builddir/build/SPECS/python-flask-security-too.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False Building target platforms: noarch Building for target noarch setting SOURCE_DATE_EPOCH=1674172800 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.RqKH1Z + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf Flask-Security-Too-4.1.5 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/Flask-Security-Too-4.1.5.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd Flask-Security-Too-4.1.5 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + /usr/lib/rpm/rpmuncompress /builddir/build/SOURCES/python-flask-security-too_testdeps.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f + sed -r -i '/\b(two_factor|unified_signin)\b/d' tests/conftest.py + RPM_EC=0 ++ jobs -p + exit 0 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.wjIin4 + umask 022 + cd /builddir/build/BUILD + cd Flask-Security-Too-4.1.5 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -I/usr/lib/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -I/usr/lib/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(pip) >= 19' + echo 'python3dist(packaging)' + '[' -f pyproject.toml ']' + '[' -f setup.py ']' + echo 'python3dist(setuptools) >= 40.8' + echo 'python3dist(wheel)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/Flask-Security-Too-4.1.5/.pyproject-builddir + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + TMPDIR=/builddir/build/BUILD/Flask-Security-Too-4.1.5/.pyproject-builddir + RPM_TOXENV=py311 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/Flask-Security-Too-4.1.5/pyproject-wheeldir -x babel,fsqla,common -r requirements/tests.txt Handling Flask-Babel from requirements file requirements/tests.txt Requirement satisfied: Flask-Babel (installed: Flask-Babel 2.0.0) Handling Babel from requirements file requirements/tests.txt Requirement satisfied: Babel (installed: Babel 2.11.0) Handling Flask-Login from requirements file requirements/tests.txt Requirement satisfied: Flask-Login (installed: Flask-Login 0.6.2) Handling Flask-Mail from requirements file requirements/tests.txt Requirement satisfied: Flask-Mail (installed: Flask-Mail 0.9.1) Handling Flask-Principal from requirements file requirements/tests.txt Requirement satisfied: Flask-Principal (installed: Flask-Principal 0.4.0) Handling peewee from requirements file requirements/tests.txt Requirement satisfied: peewee (installed: peewee 3.16.0) Handling Flask-SQLAlchemy from requirements file requirements/tests.txt Requirement satisfied: Flask-SQLAlchemy (installed: Flask-SQLAlchemy 2.5.1) Handling argon2_cffi from requirements file requirements/tests.txt Requirement satisfied: argon2_cffi (installed: argon2_cffi 21.3.0) Handling bcrypt from requirements file requirements/tests.txt Requirement satisfied: bcrypt (installed: bcrypt 3.2.2) Handling bleach from requirements file requirements/tests.txt Requirement satisfied: bleach (installed: bleach 4.0.0) Handling check-manifest from requirements file requirements/tests.txt Requirement satisfied: check-manifest (installed: check-manifest 0.48) Handling coverage from requirements file requirements/tests.txt Requirement satisfied: coverage (installed: coverage 7.0.5) Handling cryptography from requirements file requirements/tests.txt Requirement satisfied: cryptography (installed: cryptography 37.0.2) Handling mongoengine from requirements file requirements/tests.txt Requirement satisfied: mongoengine (installed: mongoengine 0.27.0) Handling mongomock from requirements file requirements/tests.txt Requirement satisfied: mongomock (installed: mongomock 3.20.0) Handling passlib from requirements file requirements/tests.txt Requirement satisfied: passlib (installed: passlib 1.7.4) Handling pony>=0.7.11;python_version<'3.9' from requirements file requirements/tests.txt Ignoring alien requirement: pony>=0.7.11;python_version<'3.9' Handling pydocstyle from requirements file requirements/tests.txt Requirement satisfied: pydocstyle (installed: pydocstyle 6.0.0) Handling pytest-cache from requirements file requirements/tests.txt Requirement satisfied: pytest-cache (installed: pytest-cache 1.0) Handling pytest-cov from requirements file requirements/tests.txt Requirement satisfied: pytest-cov (installed: pytest-cov 4.0.0) Handling pytest from requirements file requirements/tests.txt Requirement satisfied: pytest (installed: pytest 7.2.2) Handling sqlalchemy from requirements file requirements/tests.txt Requirement satisfied: sqlalchemy (installed: sqlalchemy 1.4.46) Handling sqlalchemy-utils from requirements file requirements/tests.txt Requirement satisfied: sqlalchemy-utils (installed: sqlalchemy-utils 0.37.8) Handling werkzeug from requirements file requirements/tests.txt Requirement satisfied: werkzeug (installed: werkzeug 2.2.3) Handling zxcvbn from requirements file requirements/tests.txt Requirement satisfied: zxcvbn (installed: zxcvbn 4.4.28) Handling setuptools >= 40.8 from default build backend Requirement satisfied: setuptools >= 40.8 (installed: setuptools 65.5.1) Handling wheel from default build backend Requirement satisfied: wheel (installed: wheel 0.38.4) no previously-included directories found matching 'tests/.pytest_cache' no previously-included directories found matching 'tests/.DS_Store' warning: no previously-included files matching '*' found under directory 'tests/.pytest_cache' warning: no previously-included files found matching '.coverage' warning: no previously-included files found matching 'tests/.coverage' no previously-included directories found matching 'docs/_build' no previously-included directories found matching 'scripts' no previously-included directories found matching 'examples' warning: no previously-included files matching '*.pyc' found anywhere in distribution HOOK STDOUT: running egg_info HOOK STDOUT: writing Flask_Security_Too.egg-info/PKG-INFO HOOK STDOUT: writing dependency_links to Flask_Security_Too.egg-info/dependency_links.txt HOOK STDOUT: writing requirements to Flask_Security_Too.egg-info/requires.txt HOOK STDOUT: writing top-level names to Flask_Security_Too.egg-info/top_level.txt HOOK STDOUT: reading manifest file 'Flask_Security_Too.egg-info/SOURCES.txt' HOOK STDOUT: reading manifest template 'MANIFEST.in' HOOK STDOUT: adding license file 'LICENSE' HOOK STDOUT: adding license file 'AUTHORS' HOOK STDOUT: writing manifest file 'Flask_Security_Too.egg-info/SOURCES.txt' Handling wheel from get_requires_for_build_wheel Requirement satisfied: wheel (installed: wheel 0.38.4) no previously-included directories found matching 'tests/.pytest_cache' no previously-included directories found matching 'tests/.DS_Store' warning: no previously-included files matching '*' found under directory 'tests/.pytest_cache' warning: no previously-included files found matching '.coverage' warning: no previously-included files found matching 'tests/.coverage' no previously-included directories found matching 'docs/_build' no previously-included directories found matching 'scripts' no previously-included directories found matching 'examples' warning: no previously-included files matching '*.pyc' found anywhere in distribution HOOK STDOUT: running dist_info HOOK STDOUT: writing Flask_Security_Too.egg-info/PKG-INFO HOOK STDOUT: writing dependency_links to Flask_Security_Too.egg-info/dependency_links.txt HOOK STDOUT: writing requirements to Flask_Security_Too.egg-info/requires.txt HOOK STDOUT: writing top-level names to Flask_Security_Too.egg-info/top_level.txt HOOK STDOUT: reading manifest file 'Flask_Security_Too.egg-info/SOURCES.txt' HOOK STDOUT: reading manifest template 'MANIFEST.in' HOOK STDOUT: adding license file 'LICENSE' HOOK STDOUT: adding license file 'AUTHORS' HOOK STDOUT: writing manifest file 'Flask_Security_Too.egg-info/SOURCES.txt' HOOK STDOUT: creating '/builddir/build/BUILD/Flask-Security-Too-4.1.5/Flask_Security_Too-4.1.5.dist-info' Handling Flask (<2.3,>=1.1.1) from hook generated metadata: Requires-Dist Requirement satisfied: Flask (<2.3,>=1.1.1) (installed: Flask 2.2.3) Handling Flask-Login (>=0.4.1) from hook generated metadata: Requires-Dist Requirement satisfied: Flask-Login (>=0.4.1) (installed: Flask-Login 0.6.2) Handling Flask-Principal (>=0.4.0) from hook generated metadata: Requires-Dist Requirement satisfied: Flask-Principal (>=0.4.0) (installed: Flask-Principal 0.4.0) Handling Flask-WTF (>=0.14.3) from hook generated metadata: Requires-Dist Requirement not satisfied: Flask-WTF (>=0.14.3) Handling email-validator (>=1.1.1) from hook generated metadata: Requires-Dist Requirement not satisfied: email-validator (>=1.1.1) Handling itsdangerous (>=1.1.0) from hook generated metadata: Requires-Dist Requirement satisfied: itsdangerous (>=1.1.0) (installed: itsdangerous 2.1.2) Handling passlib (>=1.7.2) from hook generated metadata: Requires-Dist Requirement satisfied: passlib (>=1.7.2) (installed: passlib 1.7.4) Handling blinker (>=1.4) from hook generated metadata: Requires-Dist Requirement satisfied: blinker (>=1.4) (installed: blinker 1.5) Handling babel (>=2.7.0) ; extra == 'babel' from hook generated metadata: Requires-Dist Requirement satisfied: babel (>=2.7.0) ; extra == 'babel' (installed: babel 2.11.0) Handling flask-babel (>=2.0.0) ; extra == 'babel' from hook generated metadata: Requires-Dist Requirement satisfied: flask-babel (>=2.0.0) ; extra == 'babel' (installed: flask-babel 2.0.0) Handling bcrypt (>=3.1.5) ; extra == 'common' from hook generated metadata: Requires-Dist Requirement satisfied: bcrypt (>=3.1.5) ; extra == 'common' (installed: bcrypt 3.2.2) Handling flask-mail (>=0.9.1) ; extra == 'common' from hook generated metadata: Requires-Dist Requirement satisfied: flask-mail (>=0.9.1) ; extra == 'common' (installed: flask-mail 0.9.1) Handling bleach (>=3.3.1) ; extra == 'common' from hook generated metadata: Requires-Dist Requirement satisfied: bleach (>=3.3.1) ; extra == 'common' (installed: bleach 4.0.0) Handling flask-sqlalchemy (>=2.4.4) ; extra == 'fsqla' from hook generated metadata: Requires-Dist Requirement satisfied: flask-sqlalchemy (>=2.4.4) ; extra == 'fsqla' (installed: flask-sqlalchemy 2.5.1) Handling sqlalchemy (>=1.3.6) ; extra == 'fsqla' from hook generated metadata: Requires-Dist Requirement satisfied: sqlalchemy (>=1.3.6) ; extra == 'fsqla' (installed: sqlalchemy 1.4.46) Handling sqlalchemy-utils (>=0.34.1) ; extra == 'fsqla' from hook generated metadata: Requires-Dist Requirement satisfied: sqlalchemy-utils (>=0.34.1) ; extra == 'fsqla' (installed: sqlalchemy-utils 0.37.8) Handling cryptography (>=3.0.0) ; extra == 'mfa' from hook generated metadata: Requires-Dist Ignoring alien requirement: cryptography (>=3.0.0) ; extra == 'mfa' Handling pyqrcode (>=1.2) ; extra == 'mfa' from hook generated metadata: Requires-Dist Ignoring alien requirement: pyqrcode (>=1.2) ; extra == 'mfa' Handling phonenumberslite (>=8.11.1) ; extra == 'mfa' from hook generated metadata: Requires-Dist Ignoring alien requirement: phonenumberslite (>=8.11.1) ; extra == 'mfa' + rm -rfv Flask_Security_Too-4.1.5.dist-info/ removed 'Flask_Security_Too-4.1.5.dist-info/top_level.txt' removed 'Flask_Security_Too-4.1.5.dist-info/LICENSE' removed 'Flask_Security_Too-4.1.5.dist-info/METADATA' removed 'Flask_Security_Too-4.1.5.dist-info/AUTHORS' removed directory 'Flask_Security_Too-4.1.5.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-flask-security-too-4.1.5-2.fc38.buildreqs.nosrc.rpm Child return code was: 11 Dynamic buildrequires detected Going to install missing buildrequires. See root.log for details. ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -br --noclean --target noarch --nodeps /builddir/build/SPECS/python-flask-security-too.spec'], chrootPath='/var/lib/mock/f38-build-side-42-init-devel-977402-28973/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=864000uid=996gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueraiseExc=FalseprintOutput=False) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -br --noclean --target noarch --nodeps /builddir/build/SPECS/python-flask-security-too.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False Building target platforms: noarch Building for target noarch setting SOURCE_DATE_EPOCH=1674172800 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.zpVNel + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf Flask-Security-Too-4.1.5 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/Flask-Security-Too-4.1.5.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd Flask-Security-Too-4.1.5 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + /usr/lib/rpm/rpmuncompress /builddir/build/SOURCES/python-flask-security-too_testdeps.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f + sed -r -i '/\b(two_factor|unified_signin)\b/d' tests/conftest.py + RPM_EC=0 ++ jobs -p + exit 0 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.wEAMxL + umask 022 + cd /builddir/build/BUILD + cd Flask-Security-Too-4.1.5 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -I/usr/lib/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -I/usr/lib/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(pip) >= 19' + echo 'python3dist(packaging)' + '[' -f pyproject.toml ']' + '[' -f setup.py ']' + echo 'python3dist(setuptools) >= 40.8' + echo 'python3dist(wheel)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/Flask-Security-Too-4.1.5/.pyproject-builddir + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + TMPDIR=/builddir/build/BUILD/Flask-Security-Too-4.1.5/.pyproject-builddir + RPM_TOXENV=py311 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/Flask-Security-Too-4.1.5/pyproject-wheeldir -x babel,fsqla,common -r requirements/tests.txt Handling Flask-Babel from requirements file requirements/tests.txt Requirement satisfied: Flask-Babel (installed: Flask-Babel 2.0.0) Handling Babel from requirements file requirements/tests.txt Requirement satisfied: Babel (installed: Babel 2.11.0) Handling Flask-Login from requirements file requirements/tests.txt Requirement satisfied: Flask-Login (installed: Flask-Login 0.6.2) Handling Flask-Mail from requirements file requirements/tests.txt Requirement satisfied: Flask-Mail (installed: Flask-Mail 0.9.1) Handling Flask-Principal from requirements file requirements/tests.txt Requirement satisfied: Flask-Principal (installed: Flask-Principal 0.4.0) Handling peewee from requirements file requirements/tests.txt Requirement satisfied: peewee (installed: peewee 3.16.0) Handling Flask-SQLAlchemy from requirements file requirements/tests.txt Requirement satisfied: Flask-SQLAlchemy (installed: Flask-SQLAlchemy 2.5.1) Handling argon2_cffi from requirements file requirements/tests.txt Requirement satisfied: argon2_cffi (installed: argon2_cffi 21.3.0) Handling bcrypt from requirements file requirements/tests.txt Requirement satisfied: bcrypt (installed: bcrypt 3.2.2) Handling bleach from requirements file requirements/tests.txt Requirement satisfied: bleach (installed: bleach 4.0.0) Handling check-manifest from requirements file requirements/tests.txt Requirement satisfied: check-manifest (installed: check-manifest 0.48) Handling coverage from requirements file requirements/tests.txt Requirement satisfied: coverage (installed: coverage 7.0.5) Handling cryptography from requirements file requirements/tests.txt Requirement satisfied: cryptography (installed: cryptography 37.0.2) Handling mongoengine from requirements file requirements/tests.txt Requirement satisfied: mongoengine (installed: mongoengine 0.27.0) Handling mongomock from requirements file requirements/tests.txt Requirement satisfied: mongomock (installed: mongomock 3.20.0) Handling passlib from requirements file requirements/tests.txt Requirement satisfied: passlib (installed: passlib 1.7.4) Handling pony>=0.7.11;python_version<'3.9' from requirements file requirements/tests.txt Ignoring alien requirement: pony>=0.7.11;python_version<'3.9' Handling pydocstyle from requirements file requirements/tests.txt Requirement satisfied: pydocstyle (installed: pydocstyle 6.0.0) Handling pytest-cache from requirements file requirements/tests.txt Requirement satisfied: pytest-cache (installed: pytest-cache 1.0) Handling pytest-cov from requirements file requirements/tests.txt Requirement satisfied: pytest-cov (installed: pytest-cov 4.0.0) Handling pytest from requirements file requirements/tests.txt Requirement satisfied: pytest (installed: pytest 7.2.2) Handling sqlalchemy from requirements file requirements/tests.txt Requirement satisfied: sqlalchemy (installed: sqlalchemy 1.4.46) Handling sqlalchemy-utils from requirements file requirements/tests.txt Requirement satisfied: sqlalchemy-utils (installed: sqlalchemy-utils 0.37.8) Handling werkzeug from requirements file requirements/tests.txt Requirement satisfied: werkzeug (installed: werkzeug 2.2.3) Handling zxcvbn from requirements file requirements/tests.txt Requirement satisfied: zxcvbn (installed: zxcvbn 4.4.28) Handling setuptools >= 40.8 from default build backend Requirement satisfied: setuptools >= 40.8 (installed: setuptools 65.5.1) Handling wheel from default build backend Requirement satisfied: wheel (installed: wheel 0.38.4) no previously-included directories found matching 'tests/.pytest_cache' no previously-included directories found matching 'tests/.DS_Store' warning: no previously-included files matching '*' found under directory 'tests/.pytest_cache' warning: no previously-included files found matching '.coverage' warning: no previously-included files found matching 'tests/.coverage' no previously-included directories found matching 'docs/_build' no previously-included directories found matching 'scripts' no previously-included directories found matching 'examples' warning: no previously-included files matching '*.pyc' found anywhere in distribution HOOK STDOUT: running egg_info HOOK STDOUT: writing Flask_Security_Too.egg-info/PKG-INFO HOOK STDOUT: writing dependency_links to Flask_Security_Too.egg-info/dependency_links.txt HOOK STDOUT: writing requirements to Flask_Security_Too.egg-info/requires.txt HOOK STDOUT: writing top-level names to Flask_Security_Too.egg-info/top_level.txt HOOK STDOUT: reading manifest file 'Flask_Security_Too.egg-info/SOURCES.txt' HOOK STDOUT: reading manifest template 'MANIFEST.in' HOOK STDOUT: adding license file 'LICENSE' HOOK STDOUT: adding license file 'AUTHORS' HOOK STDOUT: writing manifest file 'Flask_Security_Too.egg-info/SOURCES.txt' Handling wheel from get_requires_for_build_wheel Requirement satisfied: wheel (installed: wheel 0.38.4) no previously-included directories found matching 'tests/.pytest_cache' no previously-included directories found matching 'tests/.DS_Store' warning: no previously-included files matching '*' found under directory 'tests/.pytest_cache' warning: no previously-included files found matching '.coverage' warning: no previously-included files found matching 'tests/.coverage' no previously-included directories found matching 'docs/_build' no previously-included directories found matching 'scripts' no previously-included directories found matching 'examples' warning: no previously-included files matching '*.pyc' found anywhere in distribution HOOK STDOUT: running dist_info HOOK STDOUT: writing Flask_Security_Too.egg-info/PKG-INFO HOOK STDOUT: writing dependency_links to Flask_Security_Too.egg-info/dependency_links.txt HOOK STDOUT: writing requirements to Flask_Security_Too.egg-info/requires.txt HOOK STDOUT: writing top-level names to Flask_Security_Too.egg-info/top_level.txt HOOK STDOUT: reading manifest file 'Flask_Security_Too.egg-info/SOURCES.txt' HOOK STDOUT: reading manifest template 'MANIFEST.in' HOOK STDOUT: adding license file 'LICENSE' HOOK STDOUT: adding license file 'AUTHORS' HOOK STDOUT: writing manifest file 'Flask_Security_Too.egg-info/SOURCES.txt' HOOK STDOUT: creating '/builddir/build/BUILD/Flask-Security-Too-4.1.5/Flask_Security_Too-4.1.5.dist-info' Handling Flask (<2.3,>=1.1.1) from hook generated metadata: Requires-Dist Requirement satisfied: Flask (<2.3,>=1.1.1) (installed: Flask 2.2.3) Handling Flask-Login (>=0.4.1) from hook generated metadata: Requires-Dist Requirement satisfied: Flask-Login (>=0.4.1) (installed: Flask-Login 0.6.2) Handling Flask-Principal (>=0.4.0) from hook generated metadata: Requires-Dist Requirement satisfied: Flask-Principal (>=0.4.0) (installed: Flask-Principal 0.4.0) Handling Flask-WTF (>=0.14.3) from hook generated metadata: Requires-Dist Requirement satisfied: Flask-WTF (>=0.14.3) (installed: Flask-WTF 1.1.1) Handling email-validator (>=1.1.1) from hook generated metadata: Requires-Dist Requirement satisfied: email-validator (>=1.1.1) (installed: email-validator 1.1.1) Handling itsdangerous (>=1.1.0) from hook generated metadata: Requires-Dist Requirement satisfied: itsdangerous (>=1.1.0) (installed: itsdangerous 2.1.2) Handling passlib (>=1.7.2) from hook generated metadata: Requires-Dist Requirement satisfied: passlib (>=1.7.2) (installed: passlib 1.7.4) Handling blinker (>=1.4) from hook generated metadata: Requires-Dist Requirement satisfied: blinker (>=1.4) (installed: blinker 1.5) Handling babel (>=2.7.0) ; extra == 'babel' from hook generated metadata: Requires-Dist Requirement satisfied: babel (>=2.7.0) ; extra == 'babel' (installed: babel 2.11.0) Handling flask-babel (>=2.0.0) ; extra == 'babel' from hook generated metadata: Requires-Dist Requirement satisfied: flask-babel (>=2.0.0) ; extra == 'babel' (installed: flask-babel 2.0.0) Handling bcrypt (>=3.1.5) ; extra == 'common' from hook generated metadata: Requires-Dist Requirement satisfied: bcrypt (>=3.1.5) ; extra == 'common' (installed: bcrypt 3.2.2) Handling flask-mail (>=0.9.1) ; extra == 'common' from hook generated metadata: Requires-Dist Requirement satisfied: flask-mail (>=0.9.1) ; extra == 'common' (installed: flask-mail 0.9.1) Handling bleach (>=3.3.1) ; extra == 'common' from hook generated metadata: Requires-Dist Requirement satisfied: bleach (>=3.3.1) ; extra == 'common' (installed: bleach 4.0.0) Handling flask-sqlalchemy (>=2.4.4) ; extra == 'fsqla' from hook generated metadata: Requires-Dist Requirement satisfied: flask-sqlalchemy (>=2.4.4) ; extra == 'fsqla' (installed: flask-sqlalchemy 2.5.1) Handling sqlalchemy (>=1.3.6) ; extra == 'fsqla' from hook generated metadata: Requires-Dist Requirement satisfied: sqlalchemy (>=1.3.6) ; extra == 'fsqla' (installed: sqlalchemy 1.4.46) Handling sqlalchemy-utils (>=0.34.1) ; extra == 'fsqla' from hook generated metadata: Requires-Dist Requirement satisfied: sqlalchemy-utils (>=0.34.1) ; extra == 'fsqla' (installed: sqlalchemy-utils 0.37.8) Handling cryptography (>=3.0.0) ; extra == 'mfa' from hook generated metadata: Requires-Dist Ignoring alien requirement: cryptography (>=3.0.0) ; extra == 'mfa' Handling pyqrcode (>=1.2) ; extra == 'mfa' from hook generated metadata: Requires-Dist Ignoring alien requirement: pyqrcode (>=1.2) ; extra == 'mfa' Handling phonenumberslite (>=8.11.1) ; extra == 'mfa' from hook generated metadata: Requires-Dist Ignoring alien requirement: phonenumberslite (>=8.11.1) ; extra == 'mfa' + rm -rfv Flask_Security_Too-4.1.5.dist-info/ removed 'Flask_Security_Too-4.1.5.dist-info/top_level.txt' removed 'Flask_Security_Too-4.1.5.dist-info/LICENSE' removed 'Flask_Security_Too-4.1.5.dist-info/METADATA' removed 'Flask_Security_Too-4.1.5.dist-info/AUTHORS' removed directory 'Flask_Security_Too-4.1.5.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-flask-security-too-4.1.5-2.fc38.buildreqs.nosrc.rpm Child return code was: 11 Dynamic buildrequires detected Going to install missing buildrequires. See root.log for details. ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -ba --noprep --noclean --target noarch --nodeps /builddir/build/SPECS/python-flask-security-too.spec'], chrootPath='/var/lib/mock/f38-build-side-42-init-devel-977402-28973/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=864000uid=996gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueprintOutput=False) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -ba --noprep --noclean --target noarch --nodeps /builddir/build/SPECS/python-flask-security-too.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False Building target platforms: noarch Building for target noarch setting SOURCE_DATE_EPOCH=1674172800 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.zYpT4R + umask 022 + cd /builddir/build/BUILD + cd Flask-Security-Too-4.1.5 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -I/usr/lib/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -I/usr/lib/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(pip) >= 19' + echo 'python3dist(packaging)' + '[' -f pyproject.toml ']' + '[' -f setup.py ']' + echo 'python3dist(setuptools) >= 40.8' + echo 'python3dist(wheel)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/Flask-Security-Too-4.1.5/.pyproject-builddir + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + TMPDIR=/builddir/build/BUILD/Flask-Security-Too-4.1.5/.pyproject-builddir + RPM_TOXENV=py311 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/Flask-Security-Too-4.1.5/pyproject-wheeldir -x babel,fsqla,common -r requirements/tests.txt Handling Flask-Babel from requirements file requirements/tests.txt Requirement satisfied: Flask-Babel (installed: Flask-Babel 2.0.0) Handling Babel from requirements file requirements/tests.txt Requirement satisfied: Babel (installed: Babel 2.11.0) Handling Flask-Login from requirements file requirements/tests.txt Requirement satisfied: Flask-Login (installed: Flask-Login 0.6.2) Handling Flask-Mail from requirements file requirements/tests.txt Requirement satisfied: Flask-Mail (installed: Flask-Mail 0.9.1) Handling Flask-Principal from requirements file requirements/tests.txt Requirement satisfied: Flask-Principal (installed: Flask-Principal 0.4.0) Handling peewee from requirements file requirements/tests.txt Requirement satisfied: peewee (installed: peewee 3.16.0) Handling Flask-SQLAlchemy from requirements file requirements/tests.txt Requirement satisfied: Flask-SQLAlchemy (installed: Flask-SQLAlchemy 2.5.1) Handling argon2_cffi from requirements file requirements/tests.txt Requirement satisfied: argon2_cffi (installed: argon2_cffi 21.3.0) Handling bcrypt from requirements file requirements/tests.txt Requirement satisfied: bcrypt (installed: bcrypt 3.2.2) Handling bleach from requirements file requirements/tests.txt Requirement satisfied: bleach (installed: bleach 4.0.0) Handling check-manifest from requirements file requirements/tests.txt Requirement satisfied: check-manifest (installed: check-manifest 0.48) Handling coverage from requirements file requirements/tests.txt Requirement satisfied: coverage (installed: coverage 7.0.5) Handling cryptography from requirements file requirements/tests.txt Requirement satisfied: cryptography (installed: cryptography 37.0.2) Handling mongoengine from requirements file requirements/tests.txt Requirement satisfied: mongoengine (installed: mongoengine 0.27.0) Handling mongomock from requirements file requirements/tests.txt Requirement satisfied: mongomock (installed: mongomock 3.20.0) Handling passlib from requirements file requirements/tests.txt Requirement satisfied: passlib (installed: passlib 1.7.4) Handling pony>=0.7.11;python_version<'3.9' from requirements file requirements/tests.txt Ignoring alien requirement: pony>=0.7.11;python_version<'3.9' Handling pydocstyle from requirements file requirements/tests.txt Requirement satisfied: pydocstyle (installed: pydocstyle 6.0.0) Handling pytest-cache from requirements file requirements/tests.txt Requirement satisfied: pytest-cache (installed: pytest-cache 1.0) Handling pytest-cov from requirements file requirements/tests.txt Requirement satisfied: pytest-cov (installed: pytest-cov 4.0.0) Handling pytest from requirements file requirements/tests.txt Requirement satisfied: pytest (installed: pytest 7.2.2) Handling sqlalchemy from requirements file requirements/tests.txt Requirement satisfied: sqlalchemy (installed: sqlalchemy 1.4.46) Handling sqlalchemy-utils from requirements file requirements/tests.txt Requirement satisfied: sqlalchemy-utils (installed: sqlalchemy-utils 0.37.8) Handling werkzeug from requirements file requirements/tests.txt Requirement satisfied: werkzeug (installed: werkzeug 2.2.3) Handling zxcvbn from requirements file requirements/tests.txt Requirement satisfied: zxcvbn (installed: zxcvbn 4.4.28) Handling setuptools >= 40.8 from default build backend Requirement satisfied: setuptools >= 40.8 (installed: setuptools 65.5.1) Handling wheel from default build backend Requirement satisfied: wheel (installed: wheel 0.38.4) no previously-included directories found matching 'tests/.pytest_cache' no previously-included directories found matching 'tests/.DS_Store' warning: no previously-included files matching '*' found under directory 'tests/.pytest_cache' warning: no previously-included files found matching '.coverage' warning: no previously-included files found matching 'tests/.coverage' no previously-included directories found matching 'docs/_build' no previously-included directories found matching 'scripts' no previously-included directories found matching 'examples' warning: no previously-included files matching '*.pyc' found anywhere in distribution HOOK STDOUT: running egg_info HOOK STDOUT: writing Flask_Security_Too.egg-info/PKG-INFO HOOK STDOUT: writing dependency_links to Flask_Security_Too.egg-info/dependency_links.txt HOOK STDOUT: writing requirements to Flask_Security_Too.egg-info/requires.txt HOOK STDOUT: writing top-level names to Flask_Security_Too.egg-info/top_level.txt HOOK STDOUT: reading manifest file 'Flask_Security_Too.egg-info/SOURCES.txt' HOOK STDOUT: reading manifest template 'MANIFEST.in' HOOK STDOUT: adding license file 'LICENSE' HOOK STDOUT: adding license file 'AUTHORS' HOOK STDOUT: writing manifest file 'Flask_Security_Too.egg-info/SOURCES.txt' Handling wheel from get_requires_for_build_wheel Requirement satisfied: wheel (installed: wheel 0.38.4) no previously-included directories found matching 'tests/.pytest_cache' no previously-included directories found matching 'tests/.DS_Store' warning: no previously-included files matching '*' found under directory 'tests/.pytest_cache' warning: no previously-included files found matching '.coverage' warning: no previously-included files found matching 'tests/.coverage' no previously-included directories found matching 'docs/_build' no previously-included directories found matching 'scripts' no previously-included directories found matching 'examples' warning: no previously-included files matching '*.pyc' found anywhere in distribution HOOK STDOUT: running dist_info HOOK STDOUT: writing Flask_Security_Too.egg-info/PKG-INFO HOOK STDOUT: writing dependency_links to Flask_Security_Too.egg-info/dependency_links.txt HOOK STDOUT: writing requirements to Flask_Security_Too.egg-info/requires.txt HOOK STDOUT: writing top-level names to Flask_Security_Too.egg-info/top_level.txt HOOK STDOUT: reading manifest file 'Flask_Security_Too.egg-info/SOURCES.txt' HOOK STDOUT: reading manifest template 'MANIFEST.in' HOOK STDOUT: adding license file 'LICENSE' HOOK STDOUT: adding license file 'AUTHORS' HOOK STDOUT: writing manifest file 'Flask_Security_Too.egg-info/SOURCES.txt' HOOK STDOUT: creating '/builddir/build/BUILD/Flask-Security-Too-4.1.5/Flask_Security_Too-4.1.5.dist-info' Handling Flask (<2.3,>=1.1.1) from hook generated metadata: Requires-Dist Requirement satisfied: Flask (<2.3,>=1.1.1) (installed: Flask 2.2.3) Handling Flask-Login (>=0.4.1) from hook generated metadata: Requires-Dist Requirement satisfied: Flask-Login (>=0.4.1) (installed: Flask-Login 0.6.2) Handling Flask-Principal (>=0.4.0) from hook generated metadata: Requires-Dist Requirement satisfied: Flask-Principal (>=0.4.0) (installed: Flask-Principal 0.4.0) Handling Flask-WTF (>=0.14.3) from hook generated metadata: Requires-Dist Requirement satisfied: Flask-WTF (>=0.14.3) (installed: Flask-WTF 1.1.1) Handling email-validator (>=1.1.1) from hook generated metadata: Requires-Dist Requirement satisfied: email-validator (>=1.1.1) (installed: email-validator 1.1.1) Handling itsdangerous (>=1.1.0) from hook generated metadata: Requires-Dist Requirement satisfied: itsdangerous (>=1.1.0) (installed: itsdangerous 2.1.2) Handling passlib (>=1.7.2) from hook generated metadata: Requires-Dist Requirement satisfied: passlib (>=1.7.2) (installed: passlib 1.7.4) Handling blinker (>=1.4) from hook generated metadata: Requires-Dist Requirement satisfied: blinker (>=1.4) (installed: blinker 1.5) Handling babel (>=2.7.0) ; extra == 'babel' from hook generated metadata: Requires-Dist Requirement satisfied: babel (>=2.7.0) ; extra == 'babel' (installed: babel 2.11.0) Handling flask-babel (>=2.0.0) ; extra == 'babel' from hook generated metadata: Requires-Dist Requirement satisfied: flask-babel (>=2.0.0) ; extra == 'babel' (installed: flask-babel 2.0.0) Handling bcrypt (>=3.1.5) ; extra == 'common' from hook generated metadata: Requires-Dist Requirement satisfied: bcrypt (>=3.1.5) ; extra == 'common' (installed: bcrypt 3.2.2) Handling flask-mail (>=0.9.1) ; extra == 'common' from hook generated metadata: Requires-Dist Requirement satisfied: flask-mail (>=0.9.1) ; extra == 'common' (installed: flask-mail 0.9.1) Handling bleach (>=3.3.1) ; extra == 'common' from hook generated metadata: Requires-Dist Requirement satisfied: bleach (>=3.3.1) ; extra == 'common' (installed: bleach 4.0.0) Handling flask-sqlalchemy (>=2.4.4) ; extra == 'fsqla' from hook generated metadata: Requires-Dist Requirement satisfied: flask-sqlalchemy (>=2.4.4) ; extra == 'fsqla' (installed: flask-sqlalchemy 2.5.1) Handling sqlalchemy (>=1.3.6) ; extra == 'fsqla' from hook generated metadata: Requires-Dist Requirement satisfied: sqlalchemy (>=1.3.6) ; extra == 'fsqla' (installed: sqlalchemy 1.4.46) Handling sqlalchemy-utils (>=0.34.1) ; extra == 'fsqla' from hook generated metadata: Requires-Dist Requirement satisfied: sqlalchemy-utils (>=0.34.1) ; extra == 'fsqla' (installed: sqlalchemy-utils 0.37.8) Handling cryptography (>=3.0.0) ; extra == 'mfa' from hook generated metadata: Requires-Dist Ignoring alien requirement: cryptography (>=3.0.0) ; extra == 'mfa' Handling pyqrcode (>=1.2) ; extra == 'mfa' from hook generated metadata: Requires-Dist Ignoring alien requirement: pyqrcode (>=1.2) ; extra == 'mfa' Handling phonenumberslite (>=8.11.1) ; extra == 'mfa' from hook generated metadata: Requires-Dist Ignoring alien requirement: phonenumberslite (>=8.11.1) ; extra == 'mfa' + rm -rfv Flask_Security_Too-4.1.5.dist-info/ removed 'Flask_Security_Too-4.1.5.dist-info/top_level.txt' removed 'Flask_Security_Too-4.1.5.dist-info/LICENSE' removed 'Flask_Security_Too-4.1.5.dist-info/METADATA' removed 'Flask_Security_Too-4.1.5.dist-info/AUTHORS' removed directory 'Flask_Security_Too-4.1.5.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.8Fa5AZ + umask 022 + cd /builddir/build/BUILD + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -I/usr/lib/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -I/usr/lib/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd Flask-Security-Too-4.1.5 + mkdir -p /builddir/build/BUILD/Flask-Security-Too-4.1.5/.pyproject-builddir + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + TMPDIR=/builddir/build/BUILD/Flask-Security-Too-4.1.5/.pyproject-builddir + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_wheel.py /builddir/build/BUILD/Flask-Security-Too-4.1.5/pyproject-wheeldir Processing /builddir/build/BUILD/Flask-Security-Too-4.1.5 Preparing metadata (pyproject.toml): started Running command Preparing metadata (pyproject.toml) running dist_info creating /builddir/build/BUILD/Flask-Security-Too-4.1.5/.pyproject-builddir/pip-modern-metadata-v_wpvx8m/Flask_Security_Too.egg-info writing /builddir/build/BUILD/Flask-Security-Too-4.1.5/.pyproject-builddir/pip-modern-metadata-v_wpvx8m/Flask_Security_Too.egg-info/PKG-INFO writing dependency_links to /builddir/build/BUILD/Flask-Security-Too-4.1.5/.pyproject-builddir/pip-modern-metadata-v_wpvx8m/Flask_Security_Too.egg-info/dependency_links.txt writing requirements to /builddir/build/BUILD/Flask-Security-Too-4.1.5/.pyproject-builddir/pip-modern-metadata-v_wpvx8m/Flask_Security_Too.egg-info/requires.txt writing top-level names to /builddir/build/BUILD/Flask-Security-Too-4.1.5/.pyproject-builddir/pip-modern-metadata-v_wpvx8m/Flask_Security_Too.egg-info/top_level.txt writing manifest file '/builddir/build/BUILD/Flask-Security-Too-4.1.5/.pyproject-builddir/pip-modern-metadata-v_wpvx8m/Flask_Security_Too.egg-info/SOURCES.txt' reading manifest file '/builddir/build/BUILD/Flask-Security-Too-4.1.5/.pyproject-builddir/pip-modern-metadata-v_wpvx8m/Flask_Security_Too.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' no previously-included directories found matching 'tests/.pytest_cache' no previously-included directories found matching 'tests/.DS_Store' warning: no previously-included files matching '*' found under directory 'tests/.pytest_cache' warning: no previously-included files found matching '.coverage' warning: no previously-included files found matching 'tests/.coverage' no previously-included directories found matching 'docs/_build' no previously-included directories found matching 'scripts' no previously-included directories found matching 'examples' warning: no previously-included files matching '*.pyc' found anywhere in distribution adding license file 'LICENSE' adding license file 'AUTHORS' writing manifest file '/builddir/build/BUILD/Flask-Security-Too-4.1.5/.pyproject-builddir/pip-modern-metadata-v_wpvx8m/Flask_Security_Too.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/Flask-Security-Too-4.1.5/.pyproject-builddir/pip-modern-metadata-v_wpvx8m/Flask_Security_Too-4.1.5.dist-info' Preparing metadata (pyproject.toml): finished with status 'done' Building wheels for collected packages: Flask-Security-Too Building wheel for Flask-Security-Too (pyproject.toml): started Running command Building wheel for Flask-Security-Too (pyproject.toml) running bdist_wheel running build running build_py creating build creating build/lib creating build/lib/flask_security copying flask_security/views.py -> build/lib/flask_security copying flask_security/babel.py -> build/lib/flask_security copying flask_security/forms.py -> build/lib/flask_security copying flask_security/totp.py -> build/lib/flask_security copying flask_security/cli.py -> build/lib/flask_security copying flask_security/__init__.py -> build/lib/flask_security copying flask_security/username_util.py -> build/lib/flask_security copying flask_security/mail_util.py -> build/lib/flask_security copying flask_security/core.py -> build/lib/flask_security copying flask_security/registerable.py -> build/lib/flask_security copying flask_security/recoverable.py -> build/lib/flask_security copying flask_security/unified_signin.py -> build/lib/flask_security copying flask_security/signals.py -> build/lib/flask_security copying flask_security/phone_util.py -> build/lib/flask_security copying flask_security/utils.py -> build/lib/flask_security copying flask_security/passwordless.py -> build/lib/flask_security copying flask_security/password_util.py -> build/lib/flask_security copying flask_security/datastore.py -> build/lib/flask_security copying flask_security/quart_compat.py -> build/lib/flask_security copying flask_security/changeable.py -> build/lib/flask_security copying flask_security/confirmable.py -> build/lib/flask_security copying flask_security/proxies.py -> build/lib/flask_security copying flask_security/decorators.py -> build/lib/flask_security copying flask_security/twofactor.py -> build/lib/flask_security creating build/lib/flask_security/models copying flask_security/models/__init__.py -> build/lib/flask_security/models copying flask_security/models/fsqla_v2.py -> build/lib/flask_security/models copying flask_security/models/fsqla.py -> build/lib/flask_security/models running egg_info writing Flask_Security_Too.egg-info/PKG-INFO writing dependency_links to Flask_Security_Too.egg-info/dependency_links.txt writing requirements to Flask_Security_Too.egg-info/requires.txt writing top-level names to Flask_Security_Too.egg-info/top_level.txt reading manifest file 'Flask_Security_Too.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' no previously-included directories found matching 'tests/.pytest_cache' no previously-included directories found matching 'tests/.DS_Store' warning: no previously-included files matching '*' found under directory 'tests/.pytest_cache' warning: no previously-included files found matching '.coverage' warning: no previously-included files found matching 'tests/.coverage' no previously-included directories found matching 'docs/_build' no previously-included directories found matching 'scripts' no previously-included directories found matching 'examples' warning: no previously-included files matching '*.pyc' found anywhere in distribution adding license file 'LICENSE' adding license file 'AUTHORS' writing manifest file 'Flask_Security_Too.egg-info/SOURCES.txt' /usr/lib/python3.11/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'flask_security.templates.security' as data is deprecated, please list it in `packages`. !! ############################ # Package would be ignored # ############################ Python recognizes 'flask_security.templates.security' as an importable package, but it is not listed in the `packages` configuration of setuptools. 'flask_security.templates.security' has been automatically added to the distribution only because it may contain data files, but this behavior is likely to change in future versions of setuptools (and therefore is considered deprecated). Please make sure that 'flask_security.templates.security' is included as a package by using the `packages` configuration field or the proper discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" and "data files" on setuptools documentation page. !! check.warn(importable) /usr/lib/python3.11/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'flask_security.templates.security.email' as data is deprecated, please list it in `packages`. !! ############################ # Package would be ignored # ############################ Python recognizes 'flask_security.templates.security.email' as an importable package, but it is not listed in the `packages` configuration of setuptools. 'flask_security.templates.security.email' has been automatically added to the distribution only because it may contain data files, but this behavior is likely to change in future versions of setuptools (and therefore is considered deprecated). Please make sure that 'flask_security.templates.security.email' is included as a package by using the `packages` configuration field or the proper discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" and "data files" on setuptools documentation page. !! check.warn(importable) /usr/lib/python3.11/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'flask_security.translations' as data is deprecated, please list it in `packages`. !! ############################ # Package would be ignored # ############################ Python recognizes 'flask_security.translations' as an importable package, but it is not listed in the `packages` configuration of setuptools. 'flask_security.translations' has been automatically added to the distribution only because it may contain data files, but this behavior is likely to change in future versions of setuptools (and therefore is considered deprecated). Please make sure that 'flask_security.translations' is included as a package by using the `packages` configuration field or the proper discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" and "data files" on setuptools documentation page. !! check.warn(importable) /usr/lib/python3.11/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'flask_security.translations.af_ZA.LC_MESSAGES' as data is deprecated, please list it in `packages`. !! ############################ # Package would be ignored # ############################ Python recognizes 'flask_security.translations.af_ZA.LC_MESSAGES' as an importable package, but it is not listed in the `packages` configuration of setuptools. 'flask_security.translations.af_ZA.LC_MESSAGES' has been automatically added to the distribution only because it may contain data files, but this behavior is likely to change in future versions of setuptools (and therefore is considered deprecated). Please make sure that 'flask_security.translations.af_ZA.LC_MESSAGES' is included as a package by using the `packages` configuration field or the proper discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" and "data files" on setuptools documentation page. !! check.warn(importable) /usr/lib/python3.11/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'flask_security.translations.ca_ES.LC_MESSAGES' as data is deprecated, please list it in `packages`. !! ############################ # Package would be ignored # ############################ Python recognizes 'flask_security.translations.ca_ES.LC_MESSAGES' as an importable package, but it is not listed in the `packages` configuration of setuptools. 'flask_security.translations.ca_ES.LC_MESSAGES' has been automatically added to the distribution only because it may contain data files, but this behavior is likely to change in future versions of setuptools (and therefore is considered deprecated). Please make sure that 'flask_security.translations.ca_ES.LC_MESSAGES' is included as a package by using the `packages` configuration field or the proper discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" and "data files" on setuptools documentation page. !! check.warn(importable) /usr/lib/python3.11/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'flask_security.translations.da_DK.LC_MESSAGES' as data is deprecated, please list it in `packages`. !! ############################ # Package would be ignored # ############################ Python recognizes 'flask_security.translations.da_DK.LC_MESSAGES' as an importable package, but it is not listed in the `packages` configuration of setuptools. 'flask_security.translations.da_DK.LC_MESSAGES' has been automatically added to the distribution only because it may contain data files, but this behavior is likely to change in future versions of setuptools (and therefore is considered deprecated). Please make sure that 'flask_security.translations.da_DK.LC_MESSAGES' is included as a package by using the `packages` configuration field or the proper discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" and "data files" on setuptools documentation page. !! check.warn(importable) /usr/lib/python3.11/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'flask_security.translations.de_DE.LC_MESSAGES' as data is deprecated, please list it in `packages`. !! ############################ # Package would be ignored # ############################ Python recognizes 'flask_security.translations.de_DE.LC_MESSAGES' as an importable package, but it is not listed in the `packages` configuration of setuptools. 'flask_security.translations.de_DE.LC_MESSAGES' has been automatically added to the distribution only because it may contain data files, but this behavior is likely to change in future versions of setuptools (and therefore is considered deprecated). Please make sure that 'flask_security.translations.de_DE.LC_MESSAGES' is included as a package by using the `packages` configuration field or the proper discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" and "data files" on setuptools documentation page. !! check.warn(importable) /usr/lib/python3.11/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'flask_security.translations.es_ES.LC_MESSAGES' as data is deprecated, please list it in `packages`. !! ############################ # Package would be ignored # ############################ Python recognizes 'flask_security.translations.es_ES.LC_MESSAGES' as an importable package, but it is not listed in the `packages` configuration of setuptools. 'flask_security.translations.es_ES.LC_MESSAGES' has been automatically added to the distribution only because it may contain data files, but this behavior is likely to change in future versions of setuptools (and therefore is considered deprecated). Please make sure that 'flask_security.translations.es_ES.LC_MESSAGES' is included as a package by using the `packages` configuration field or the proper discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" and "data files" on setuptools documentation page. !! check.warn(importable) /usr/lib/python3.11/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'flask_security.translations.eu_ES.LC_MESSAGES' as data is deprecated, please list it in `packages`. !! ############################ # Package would be ignored # ############################ Python recognizes 'flask_security.translations.eu_ES.LC_MESSAGES' as an importable package, but it is not listed in the `packages` configuration of setuptools. 'flask_security.translations.eu_ES.LC_MESSAGES' has been automatically added to the distribution only because it may contain data files, but this behavior is likely to change in future versions of setuptools (and therefore is considered deprecated). Please make sure that 'flask_security.translations.eu_ES.LC_MESSAGES' is included as a package by using the `packages` configuration field or the proper discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" and "data files" on setuptools documentation page. !! check.warn(importable) /usr/lib/python3.11/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'flask_security.translations.fr_FR.LC_MESSAGES' as data is deprecated, please list it in `packages`. !! ############################ # Package would be ignored # ############################ Python recognizes 'flask_security.translations.fr_FR.LC_MESSAGES' as an importable package, but it is not listed in the `packages` configuration of setuptools. 'flask_security.translations.fr_FR.LC_MESSAGES' has been automatically added to the distribution only because it may contain data files, but this behavior is likely to change in future versions of setuptools (and therefore is considered deprecated). Please make sure that 'flask_security.translations.fr_FR.LC_MESSAGES' is included as a package by using the `packages` configuration field or the proper discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" and "data files" on setuptools documentation page. !! check.warn(importable) /usr/lib/python3.11/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'flask_security.translations.hy_AM.LC_MESSAGES' as data is deprecated, please list it in `packages`. !! ############################ # Package would be ignored # ############################ Python recognizes 'flask_security.translations.hy_AM.LC_MESSAGES' as an importable package, but it is not listed in the `packages` configuration of setuptools. 'flask_security.translations.hy_AM.LC_MESSAGES' has been automatically added to the distribution only because it may contain data files, but this behavior is likely to change in future versions of setuptools (and therefore is considered deprecated). Please make sure that 'flask_security.translations.hy_AM.LC_MESSAGES' is included as a package by using the `packages` configuration field or the proper discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" and "data files" on setuptools documentation page. !! check.warn(importable) /usr/lib/python3.11/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'flask_security.translations.ja_JP.LC_MESSAGES' as data is deprecated, please list it in `packages`. !! ############################ # Package would be ignored # ############################ Python recognizes 'flask_security.translations.ja_JP.LC_MESSAGES' as an importable package, but it is not listed in the `packages` configuration of setuptools. 'flask_security.translations.ja_JP.LC_MESSAGES' has been automatically added to the distribution only because it may contain data files, but this behavior is likely to change in future versions of setuptools (and therefore is considered deprecated). Please make sure that 'flask_security.translations.ja_JP.LC_MESSAGES' is included as a package by using the `packages` configuration field or the proper discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" and "data files" on setuptools documentation page. !! check.warn(importable) /usr/lib/python3.11/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'flask_security.translations.nl_NL.LC_MESSAGES' as data is deprecated, please list it in `packages`. !! ############################ # Package would be ignored # ############################ Python recognizes 'flask_security.translations.nl_NL.LC_MESSAGES' as an importable package, but it is not listed in the `packages` configuration of setuptools. 'flask_security.translations.nl_NL.LC_MESSAGES' has been automatically added to the distribution only because it may contain data files, but this behavior is likely to change in future versions of setuptools (and therefore is considered deprecated). Please make sure that 'flask_security.translations.nl_NL.LC_MESSAGES' is included as a package by using the `packages` configuration field or the proper discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" and "data files" on setuptools documentation page. !! check.warn(importable) /usr/lib/python3.11/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'flask_security.translations.pl_PL.LC_MESSAGES' as data is deprecated, please list it in `packages`. !! ############################ # Package would be ignored # ############################ Python recognizes 'flask_security.translations.pl_PL.LC_MESSAGES' as an importable package, but it is not listed in the `packages` configuration of setuptools. 'flask_security.translations.pl_PL.LC_MESSAGES' has been automatically added to the distribution only because it may contain data files, but this behavior is likely to change in future versions of setuptools (and therefore is considered deprecated). Please make sure that 'flask_security.translations.pl_PL.LC_MESSAGES' is included as a package by using the `packages` configuration field or the proper discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" and "data files" on setuptools documentation page. !! check.warn(importable) /usr/lib/python3.11/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'flask_security.translations.pt_BR.LC_MESSAGES' as data is deprecated, please list it in `packages`. !! ############################ # Package would be ignored # ############################ Python recognizes 'flask_security.translations.pt_BR.LC_MESSAGES' as an importable package, but it is not listed in the `packages` configuration of setuptools. 'flask_security.translations.pt_BR.LC_MESSAGES' has been automatically added to the distribution only because it may contain data files, but this behavior is likely to change in future versions of setuptools (and therefore is considered deprecated). Please make sure that 'flask_security.translations.pt_BR.LC_MESSAGES' is included as a package by using the `packages` configuration field or the proper discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" and "data files" on setuptools documentation page. !! check.warn(importable) /usr/lib/python3.11/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'flask_security.translations.pt_PT.LC_MESSAGES' as data is deprecated, please list it in `packages`. !! ############################ # Package would be ignored # ############################ Python recognizes 'flask_security.translations.pt_PT.LC_MESSAGES' as an importable package, but it is not listed in the `packages` configuration of setuptools. 'flask_security.translations.pt_PT.LC_MESSAGES' has been automatically added to the distribution only because it may contain data files, but this behavior is likely to change in future versions of setuptools (and therefore is considered deprecated). Please make sure that 'flask_security.translations.pt_PT.LC_MESSAGES' is included as a package by using the `packages` configuration field or the proper discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" and "data files" on setuptools documentation page. !! check.warn(importable) /usr/lib/python3.11/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'flask_security.translations.ru_RU.LC_MESSAGES' as data is deprecated, please list it in `packages`. !! ############################ # Package would be ignored # ############################ Python recognizes 'flask_security.translations.ru_RU.LC_MESSAGES' as an importable package, but it is not listed in the `packages` configuration of setuptools. 'flask_security.translations.ru_RU.LC_MESSAGES' has been automatically added to the distribution only because it may contain data files, but this behavior is likely to change in future versions of setuptools (and therefore is considered deprecated). Please make sure that 'flask_security.translations.ru_RU.LC_MESSAGES' is included as a package by using the `packages` configuration field or the proper discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" and "data files" on setuptools documentation page. !! check.warn(importable) /usr/lib/python3.11/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'flask_security.translations.tr_TR.LC_MESSAGES' as data is deprecated, please list it in `packages`. !! ############################ # Package would be ignored # ############################ Python recognizes 'flask_security.translations.tr_TR.LC_MESSAGES' as an importable package, but it is not listed in the `packages` configuration of setuptools. 'flask_security.translations.tr_TR.LC_MESSAGES' has been automatically added to the distribution only because it may contain data files, but this behavior is likely to change in future versions of setuptools (and therefore is considered deprecated). Please make sure that 'flask_security.translations.tr_TR.LC_MESSAGES' is included as a package by using the `packages` configuration field or the proper discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" and "data files" on setuptools documentation page. !! check.warn(importable) /usr/lib/python3.11/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'flask_security.translations.zh_Hans_CN.LC_MESSAGES' as data is deprecated, please list it in `packages`. !! ############################ # Package would be ignored # ############################ Python recognizes 'flask_security.translations.zh_Hans_CN.LC_MESSAGES' as an importable package, but it is not listed in the `packages` configuration of setuptools. 'flask_security.translations.zh_Hans_CN.LC_MESSAGES' has been automatically added to the distribution only because it may contain data files, but this behavior is likely to change in future versions of setuptools (and therefore is considered deprecated). Please make sure that 'flask_security.translations.zh_Hans_CN.LC_MESSAGES' is included as a package by using the `packages` configuration field or the proper discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" and "data files" on setuptools documentation page. !! check.warn(importable) copying flask_security/py.typed -> build/lib/flask_security creating build/lib/flask_security/templates creating build/lib/flask_security/templates/security copying flask_security/templates/security/_macros.html -> build/lib/flask_security/templates/security copying flask_security/templates/security/_menu.html -> build/lib/flask_security/templates/security copying flask_security/templates/security/_messages.html -> build/lib/flask_security/templates/security copying flask_security/templates/security/base.html -> build/lib/flask_security/templates/security copying flask_security/templates/security/change_password.html -> build/lib/flask_security/templates/security copying flask_security/templates/security/forgot_password.html -> build/lib/flask_security/templates/security copying flask_security/templates/security/login_user.html -> build/lib/flask_security/templates/security copying flask_security/templates/security/register_user.html -> build/lib/flask_security/templates/security copying flask_security/templates/security/reset_password.html -> build/lib/flask_security/templates/security copying flask_security/templates/security/send_confirmation.html -> build/lib/flask_security/templates/security copying flask_security/templates/security/send_login.html -> build/lib/flask_security/templates/security copying flask_security/templates/security/two_factor_setup.html -> build/lib/flask_security/templates/security copying flask_security/templates/security/two_factor_verify_code.html -> build/lib/flask_security/templates/security copying flask_security/templates/security/us_setup.html -> build/lib/flask_security/templates/security copying flask_security/templates/security/us_signin.html -> build/lib/flask_security/templates/security copying flask_security/templates/security/us_verify.html -> build/lib/flask_security/templates/security copying flask_security/templates/security/verify.html -> build/lib/flask_security/templates/security creating build/lib/flask_security/templates/security/email copying flask_security/templates/security/email/change_notice.html -> build/lib/flask_security/templates/security/email copying flask_security/templates/security/email/change_notice.txt -> build/lib/flask_security/templates/security/email copying flask_security/templates/security/email/confirmation_instructions.html -> build/lib/flask_security/templates/security/email copying flask_security/templates/security/email/confirmation_instructions.txt -> build/lib/flask_security/templates/security/email copying flask_security/templates/security/email/login_instructions.html -> build/lib/flask_security/templates/security/email copying flask_security/templates/security/email/login_instructions.txt -> build/lib/flask_security/templates/security/email copying flask_security/templates/security/email/reset_instructions.html -> build/lib/flask_security/templates/security/email copying flask_security/templates/security/email/reset_instructions.txt -> build/lib/flask_security/templates/security/email copying flask_security/templates/security/email/reset_notice.html -> build/lib/flask_security/templates/security/email copying flask_security/templates/security/email/reset_notice.txt -> build/lib/flask_security/templates/security/email copying flask_security/templates/security/email/two_factor_instructions.html -> build/lib/flask_security/templates/security/email copying flask_security/templates/security/email/two_factor_instructions.txt -> build/lib/flask_security/templates/security/email copying flask_security/templates/security/email/two_factor_rescue.html -> build/lib/flask_security/templates/security/email copying flask_security/templates/security/email/two_factor_rescue.txt -> build/lib/flask_security/templates/security/email copying flask_security/templates/security/email/us_instructions.html -> build/lib/flask_security/templates/security/email copying flask_security/templates/security/email/us_instructions.txt -> build/lib/flask_security/templates/security/email copying flask_security/templates/security/email/welcome.html -> build/lib/flask_security/templates/security/email copying flask_security/templates/security/email/welcome.txt -> build/lib/flask_security/templates/security/email creating build/lib/flask_security/translations copying flask_security/translations/flask_security.pot -> build/lib/flask_security/translations copying flask_security/translations/pwl.txt -> build/lib/flask_security/translations creating build/lib/flask_security/translations/af_ZA creating build/lib/flask_security/translations/af_ZA/LC_MESSAGES copying flask_security/translations/af_ZA/LC_MESSAGES/flask_security.mo -> build/lib/flask_security/translations/af_ZA/LC_MESSAGES copying flask_security/translations/af_ZA/LC_MESSAGES/flask_security.po -> build/lib/flask_security/translations/af_ZA/LC_MESSAGES creating build/lib/flask_security/translations/ca_ES creating build/lib/flask_security/translations/ca_ES/LC_MESSAGES copying flask_security/translations/ca_ES/LC_MESSAGES/flask_security.mo -> build/lib/flask_security/translations/ca_ES/LC_MESSAGES copying flask_security/translations/ca_ES/LC_MESSAGES/flask_security.po -> build/lib/flask_security/translations/ca_ES/LC_MESSAGES creating build/lib/flask_security/translations/da_DK creating build/lib/flask_security/translations/da_DK/LC_MESSAGES copying flask_security/translations/da_DK/LC_MESSAGES/flask_security.mo -> build/lib/flask_security/translations/da_DK/LC_MESSAGES copying flask_security/translations/da_DK/LC_MESSAGES/flask_security.po -> build/lib/flask_security/translations/da_DK/LC_MESSAGES creating build/lib/flask_security/translations/de_DE creating build/lib/flask_security/translations/de_DE/LC_MESSAGES copying flask_security/translations/de_DE/LC_MESSAGES/flask_security.mo -> build/lib/flask_security/translations/de_DE/LC_MESSAGES copying flask_security/translations/de_DE/LC_MESSAGES/flask_security.po -> build/lib/flask_security/translations/de_DE/LC_MESSAGES creating build/lib/flask_security/translations/es_ES creating build/lib/flask_security/translations/es_ES/LC_MESSAGES copying flask_security/translations/es_ES/LC_MESSAGES/flask_security.mo -> build/lib/flask_security/translations/es_ES/LC_MESSAGES copying flask_security/translations/es_ES/LC_MESSAGES/flask_security.po -> build/lib/flask_security/translations/es_ES/LC_MESSAGES creating build/lib/flask_security/translations/eu_ES creating build/lib/flask_security/translations/eu_ES/LC_MESSAGES copying flask_security/translations/eu_ES/LC_MESSAGES/flask_security.mo -> build/lib/flask_security/translations/eu_ES/LC_MESSAGES copying flask_security/translations/eu_ES/LC_MESSAGES/flask_security.po -> build/lib/flask_security/translations/eu_ES/LC_MESSAGES creating build/lib/flask_security/translations/fr_FR creating build/lib/flask_security/translations/fr_FR/LC_MESSAGES copying flask_security/translations/fr_FR/LC_MESSAGES/flask_security.mo -> build/lib/flask_security/translations/fr_FR/LC_MESSAGES copying flask_security/translations/fr_FR/LC_MESSAGES/flask_security.po -> build/lib/flask_security/translations/fr_FR/LC_MESSAGES creating build/lib/flask_security/translations/hy_AM creating build/lib/flask_security/translations/hy_AM/LC_MESSAGES copying flask_security/translations/hy_AM/LC_MESSAGES/flask_security.mo -> build/lib/flask_security/translations/hy_AM/LC_MESSAGES copying flask_security/translations/hy_AM/LC_MESSAGES/flask_security.po -> build/lib/flask_security/translations/hy_AM/LC_MESSAGES creating build/lib/flask_security/translations/ja_JP creating build/lib/flask_security/translations/ja_JP/LC_MESSAGES copying flask_security/translations/ja_JP/LC_MESSAGES/flask_security.mo -> build/lib/flask_security/translations/ja_JP/LC_MESSAGES copying flask_security/translations/ja_JP/LC_MESSAGES/flask_security.po -> build/lib/flask_security/translations/ja_JP/LC_MESSAGES creating build/lib/flask_security/translations/nl_NL creating build/lib/flask_security/translations/nl_NL/LC_MESSAGES copying flask_security/translations/nl_NL/LC_MESSAGES/flask_security.mo -> build/lib/flask_security/translations/nl_NL/LC_MESSAGES copying flask_security/translations/nl_NL/LC_MESSAGES/flask_security.po -> build/lib/flask_security/translations/nl_NL/LC_MESSAGES creating build/lib/flask_security/translations/pl_PL creating build/lib/flask_security/translations/pl_PL/LC_MESSAGES copying flask_security/translations/pl_PL/LC_MESSAGES/flask_security.mo -> build/lib/flask_security/translations/pl_PL/LC_MESSAGES copying flask_security/translations/pl_PL/LC_MESSAGES/flask_security.po -> build/lib/flask_security/translations/pl_PL/LC_MESSAGES creating build/lib/flask_security/translations/pt_BR creating build/lib/flask_security/translations/pt_BR/LC_MESSAGES copying flask_security/translations/pt_BR/LC_MESSAGES/flask_security.mo -> build/lib/flask_security/translations/pt_BR/LC_MESSAGES copying flask_security/translations/pt_BR/LC_MESSAGES/flask_security.po -> build/lib/flask_security/translations/pt_BR/LC_MESSAGES creating build/lib/flask_security/translations/pt_PT creating build/lib/flask_security/translations/pt_PT/LC_MESSAGES copying flask_security/translations/pt_PT/LC_MESSAGES/flask_security.mo -> build/lib/flask_security/translations/pt_PT/LC_MESSAGES copying flask_security/translations/pt_PT/LC_MESSAGES/flask_security.po -> build/lib/flask_security/translations/pt_PT/LC_MESSAGES creating build/lib/flask_security/translations/ru_RU creating build/lib/flask_security/translations/ru_RU/LC_MESSAGES copying flask_security/translations/ru_RU/LC_MESSAGES/flask_security.mo -> build/lib/flask_security/translations/ru_RU/LC_MESSAGES copying flask_security/translations/ru_RU/LC_MESSAGES/flask_security.po -> build/lib/flask_security/translations/ru_RU/LC_MESSAGES creating build/lib/flask_security/translations/tr_TR creating build/lib/flask_security/translations/tr_TR/LC_MESSAGES copying flask_security/translations/tr_TR/LC_MESSAGES/flask_security.mo -> build/lib/flask_security/translations/tr_TR/LC_MESSAGES copying flask_security/translations/tr_TR/LC_MESSAGES/flask_security.po -> build/lib/flask_security/translations/tr_TR/LC_MESSAGES creating build/lib/flask_security/translations/zh_Hans_CN creating build/lib/flask_security/translations/zh_Hans_CN/LC_MESSAGES copying flask_security/translations/zh_Hans_CN/LC_MESSAGES/flask_security.mo -> build/lib/flask_security/translations/zh_Hans_CN/LC_MESSAGES copying flask_security/translations/zh_Hans_CN/LC_MESSAGES/flask_security.po -> build/lib/flask_security/translations/zh_Hans_CN/LC_MESSAGES installing to build/bdist.linux-riscv64/wheel running install running install_lib creating build/bdist.linux-riscv64 creating build/bdist.linux-riscv64/wheel creating build/bdist.linux-riscv64/wheel/flask_security creating build/bdist.linux-riscv64/wheel/flask_security/translations creating build/bdist.linux-riscv64/wheel/flask_security/translations/pl_PL creating build/bdist.linux-riscv64/wheel/flask_security/translations/pl_PL/LC_MESSAGES copying build/lib/flask_security/translations/pl_PL/LC_MESSAGES/flask_security.po -> build/bdist.linux-riscv64/wheel/flask_security/translations/pl_PL/LC_MESSAGES copying build/lib/flask_security/translations/pl_PL/LC_MESSAGES/flask_security.mo -> build/bdist.linux-riscv64/wheel/flask_security/translations/pl_PL/LC_MESSAGES creating build/bdist.linux-riscv64/wheel/flask_security/translations/pt_BR creating build/bdist.linux-riscv64/wheel/flask_security/translations/pt_BR/LC_MESSAGES copying build/lib/flask_security/translations/pt_BR/LC_MESSAGES/flask_security.po -> build/bdist.linux-riscv64/wheel/flask_security/translations/pt_BR/LC_MESSAGES copying build/lib/flask_security/translations/pt_BR/LC_MESSAGES/flask_security.mo -> build/bdist.linux-riscv64/wheel/flask_security/translations/pt_BR/LC_MESSAGES creating build/bdist.linux-riscv64/wheel/flask_security/translations/hy_AM creating build/bdist.linux-riscv64/wheel/flask_security/translations/hy_AM/LC_MESSAGES copying build/lib/flask_security/translations/hy_AM/LC_MESSAGES/flask_security.po -> build/bdist.linux-riscv64/wheel/flask_security/translations/hy_AM/LC_MESSAGES copying build/lib/flask_security/translations/hy_AM/LC_MESSAGES/flask_security.mo -> build/bdist.linux-riscv64/wheel/flask_security/translations/hy_AM/LC_MESSAGES creating build/bdist.linux-riscv64/wheel/flask_security/translations/ca_ES creating build/bdist.linux-riscv64/wheel/flask_security/translations/ca_ES/LC_MESSAGES copying build/lib/flask_security/translations/ca_ES/LC_MESSAGES/flask_security.po -> build/bdist.linux-riscv64/wheel/flask_security/translations/ca_ES/LC_MESSAGES copying build/lib/flask_security/translations/ca_ES/LC_MESSAGES/flask_security.mo -> build/bdist.linux-riscv64/wheel/flask_security/translations/ca_ES/LC_MESSAGES creating build/bdist.linux-riscv64/wheel/flask_security/translations/de_DE creating build/bdist.linux-riscv64/wheel/flask_security/translations/de_DE/LC_MESSAGES copying build/lib/flask_security/translations/de_DE/LC_MESSAGES/flask_security.po -> build/bdist.linux-riscv64/wheel/flask_security/translations/de_DE/LC_MESSAGES copying build/lib/flask_security/translations/de_DE/LC_MESSAGES/flask_security.mo -> build/bdist.linux-riscv64/wheel/flask_security/translations/de_DE/LC_MESSAGES creating build/bdist.linux-riscv64/wheel/flask_security/translations/da_DK creating build/bdist.linux-riscv64/wheel/flask_security/translations/da_DK/LC_MESSAGES copying build/lib/flask_security/translations/da_DK/LC_MESSAGES/flask_security.po -> build/bdist.linux-riscv64/wheel/flask_security/translations/da_DK/LC_MESSAGES copying build/lib/flask_security/translations/da_DK/LC_MESSAGES/flask_security.mo -> build/bdist.linux-riscv64/wheel/flask_security/translations/da_DK/LC_MESSAGES copying build/lib/flask_security/translations/pwl.txt -> build/bdist.linux-riscv64/wheel/flask_security/translations creating build/bdist.linux-riscv64/wheel/flask_security/translations/nl_NL creating build/bdist.linux-riscv64/wheel/flask_security/translations/nl_NL/LC_MESSAGES copying build/lib/flask_security/translations/nl_NL/LC_MESSAGES/flask_security.po -> build/bdist.linux-riscv64/wheel/flask_security/translations/nl_NL/LC_MESSAGES copying build/lib/flask_security/translations/nl_NL/LC_MESSAGES/flask_security.mo -> build/bdist.linux-riscv64/wheel/flask_security/translations/nl_NL/LC_MESSAGES creating build/bdist.linux-riscv64/wheel/flask_security/translations/eu_ES creating build/bdist.linux-riscv64/wheel/flask_security/translations/eu_ES/LC_MESSAGES copying build/lib/flask_security/translations/eu_ES/LC_MESSAGES/flask_security.po -> build/bdist.linux-riscv64/wheel/flask_security/translations/eu_ES/LC_MESSAGES copying build/lib/flask_security/translations/eu_ES/LC_MESSAGES/flask_security.mo -> build/bdist.linux-riscv64/wheel/flask_security/translations/eu_ES/LC_MESSAGES creating build/bdist.linux-riscv64/wheel/flask_security/translations/ja_JP creating build/bdist.linux-riscv64/wheel/flask_security/translations/ja_JP/LC_MESSAGES copying build/lib/flask_security/translations/ja_JP/LC_MESSAGES/flask_security.po -> build/bdist.linux-riscv64/wheel/flask_security/translations/ja_JP/LC_MESSAGES copying build/lib/flask_security/translations/ja_JP/LC_MESSAGES/flask_security.mo -> build/bdist.linux-riscv64/wheel/flask_security/translations/ja_JP/LC_MESSAGES creating build/bdist.linux-riscv64/wheel/flask_security/translations/fr_FR creating build/bdist.linux-riscv64/wheel/flask_security/translations/fr_FR/LC_MESSAGES copying build/lib/flask_security/translations/fr_FR/LC_MESSAGES/flask_security.po -> build/bdist.linux-riscv64/wheel/flask_security/translations/fr_FR/LC_MESSAGES copying build/lib/flask_security/translations/fr_FR/LC_MESSAGES/flask_security.mo -> build/bdist.linux-riscv64/wheel/flask_security/translations/fr_FR/LC_MESSAGES creating build/bdist.linux-riscv64/wheel/flask_security/translations/tr_TR creating build/bdist.linux-riscv64/wheel/flask_security/translations/tr_TR/LC_MESSAGES copying build/lib/flask_security/translations/tr_TR/LC_MESSAGES/flask_security.po -> build/bdist.linux-riscv64/wheel/flask_security/translations/tr_TR/LC_MESSAGES copying build/lib/flask_security/translations/tr_TR/LC_MESSAGES/flask_security.mo -> build/bdist.linux-riscv64/wheel/flask_security/translations/tr_TR/LC_MESSAGES creating build/bdist.linux-riscv64/wheel/flask_security/translations/ru_RU creating build/bdist.linux-riscv64/wheel/flask_security/translations/ru_RU/LC_MESSAGES copying build/lib/flask_security/translations/ru_RU/LC_MESSAGES/flask_security.po -> build/bdist.linux-riscv64/wheel/flask_security/translations/ru_RU/LC_MESSAGES copying build/lib/flask_security/translations/ru_RU/LC_MESSAGES/flask_security.mo -> build/bdist.linux-riscv64/wheel/flask_security/translations/ru_RU/LC_MESSAGES copying build/lib/flask_security/translations/flask_security.pot -> build/bdist.linux-riscv64/wheel/flask_security/translations creating build/bdist.linux-riscv64/wheel/flask_security/translations/af_ZA creating build/bdist.linux-riscv64/wheel/flask_security/translations/af_ZA/LC_MESSAGES copying build/lib/flask_security/translations/af_ZA/LC_MESSAGES/flask_security.po -> build/bdist.linux-riscv64/wheel/flask_security/translations/af_ZA/LC_MESSAGES copying build/lib/flask_security/translations/af_ZA/LC_MESSAGES/flask_security.mo -> build/bdist.linux-riscv64/wheel/flask_security/translations/af_ZA/LC_MESSAGES creating build/bdist.linux-riscv64/wheel/flask_security/translations/es_ES creating build/bdist.linux-riscv64/wheel/flask_security/translations/es_ES/LC_MESSAGES copying build/lib/flask_security/translations/es_ES/LC_MESSAGES/flask_security.po -> build/bdist.linux-riscv64/wheel/flask_security/translations/es_ES/LC_MESSAGES copying build/lib/flask_security/translations/es_ES/LC_MESSAGES/flask_security.mo -> build/bdist.linux-riscv64/wheel/flask_security/translations/es_ES/LC_MESSAGES creating build/bdist.linux-riscv64/wheel/flask_security/translations/pt_PT creating build/bdist.linux-riscv64/wheel/flask_security/translations/pt_PT/LC_MESSAGES copying build/lib/flask_security/translations/pt_PT/LC_MESSAGES/flask_security.po -> build/bdist.linux-riscv64/wheel/flask_security/translations/pt_PT/LC_MESSAGES copying build/lib/flask_security/translations/pt_PT/LC_MESSAGES/flask_security.mo -> build/bdist.linux-riscv64/wheel/flask_security/translations/pt_PT/LC_MESSAGES creating build/bdist.linux-riscv64/wheel/flask_security/translations/zh_Hans_CN creating build/bdist.linux-riscv64/wheel/flask_security/translations/zh_Hans_CN/LC_MESSAGES copying build/lib/flask_security/translations/zh_Hans_CN/LC_MESSAGES/flask_security.po -> build/bdist.linux-riscv64/wheel/flask_security/translations/zh_Hans_CN/LC_MESSAGES copying build/lib/flask_security/translations/zh_Hans_CN/LC_MESSAGES/flask_security.mo -> build/bdist.linux-riscv64/wheel/flask_security/translations/zh_Hans_CN/LC_MESSAGES copying build/lib/flask_security/views.py -> build/bdist.linux-riscv64/wheel/flask_security copying build/lib/flask_security/babel.py -> build/bdist.linux-riscv64/wheel/flask_security copying build/lib/flask_security/forms.py -> build/bdist.linux-riscv64/wheel/flask_security copying build/lib/flask_security/totp.py -> build/bdist.linux-riscv64/wheel/flask_security creating build/bdist.linux-riscv64/wheel/flask_security/templates creating build/bdist.linux-riscv64/wheel/flask_security/templates/security creating build/bdist.linux-riscv64/wheel/flask_security/templates/security/email copying build/lib/flask_security/templates/security/email/change_notice.txt -> build/bdist.linux-riscv64/wheel/flask_security/templates/security/email copying build/lib/flask_security/templates/security/email/welcome.txt -> build/bdist.linux-riscv64/wheel/flask_security/templates/security/email copying build/lib/flask_security/templates/security/email/us_instructions.txt -> build/bdist.linux-riscv64/wheel/flask_security/templates/security/email copying build/lib/flask_security/templates/security/email/login_instructions.txt -> build/bdist.linux-riscv64/wheel/flask_security/templates/security/email copying build/lib/flask_security/templates/security/email/reset_instructions.html -> build/bdist.linux-riscv64/wheel/flask_security/templates/security/email copying build/lib/flask_security/templates/security/email/confirmation_instructions.html -> build/bdist.linux-riscv64/wheel/flask_security/templates/security/email copying build/lib/flask_security/templates/security/email/reset_instructions.txt -> build/bdist.linux-riscv64/wheel/flask_security/templates/security/email copying build/lib/flask_security/templates/security/email/login_instructions.html -> build/bdist.linux-riscv64/wheel/flask_security/templates/security/email copying build/lib/flask_security/templates/security/email/two_factor_rescue.txt -> build/bdist.linux-riscv64/wheel/flask_security/templates/security/email copying build/lib/flask_security/templates/security/email/two_factor_instructions.html -> build/bdist.linux-riscv64/wheel/flask_security/templates/security/email copying build/lib/flask_security/templates/security/email/change_notice.html -> build/bdist.linux-riscv64/wheel/flask_security/templates/security/email copying build/lib/flask_security/templates/security/email/two_factor_rescue.html -> build/bdist.linux-riscv64/wheel/flask_security/templates/security/email copying build/lib/flask_security/templates/security/email/confirmation_instructions.txt -> build/bdist.linux-riscv64/wheel/flask_security/templates/security/email copying build/lib/flask_security/templates/security/email/two_factor_instructions.txt -> build/bdist.linux-riscv64/wheel/flask_security/templates/security/email copying build/lib/flask_security/templates/security/email/us_instructions.html -> build/bdist.linux-riscv64/wheel/flask_security/templates/security/email copying build/lib/flask_security/templates/security/email/reset_notice.txt -> build/bdist.linux-riscv64/wheel/flask_security/templates/security/email copying build/lib/flask_security/templates/security/email/welcome.html -> build/bdist.linux-riscv64/wheel/flask_security/templates/security/email copying build/lib/flask_security/templates/security/email/reset_notice.html -> build/bdist.linux-riscv64/wheel/flask_security/templates/security/email copying build/lib/flask_security/templates/security/send_login.html -> build/bdist.linux-riscv64/wheel/flask_security/templates/security copying build/lib/flask_security/templates/security/forgot_password.html -> build/bdist.linux-riscv64/wheel/flask_security/templates/security copying build/lib/flask_security/templates/security/us_setup.html -> build/bdist.linux-riscv64/wheel/flask_security/templates/security copying build/lib/flask_security/templates/security/two_factor_setup.html -> build/bdist.linux-riscv64/wheel/flask_security/templates/security copying build/lib/flask_security/templates/security/_menu.html -> build/bdist.linux-riscv64/wheel/flask_security/templates/security copying build/lib/flask_security/templates/security/us_signin.html -> build/bdist.linux-riscv64/wheel/flask_security/templates/security copying build/lib/flask_security/templates/security/change_password.html -> build/bdist.linux-riscv64/wheel/flask_security/templates/security copying build/lib/flask_security/templates/security/send_confirmation.html -> build/bdist.linux-riscv64/wheel/flask_security/templates/security copying build/lib/flask_security/templates/security/login_user.html -> build/bdist.linux-riscv64/wheel/flask_security/templates/security copying build/lib/flask_security/templates/security/_macros.html -> build/bdist.linux-riscv64/wheel/flask_security/templates/security copying build/lib/flask_security/templates/security/verify.html -> build/bdist.linux-riscv64/wheel/flask_security/templates/security copying build/lib/flask_security/templates/security/register_user.html -> build/bdist.linux-riscv64/wheel/flask_security/templates/security copying build/lib/flask_security/templates/security/_messages.html -> build/bdist.linux-riscv64/wheel/flask_security/templates/security copying build/lib/flask_security/templates/security/us_verify.html -> build/bdist.linux-riscv64/wheel/flask_security/templates/security copying build/lib/flask_security/templates/security/two_factor_verify_code.html -> build/bdist.linux-riscv64/wheel/flask_security/templates/security copying build/lib/flask_security/templates/security/base.html -> build/bdist.linux-riscv64/wheel/flask_security/templates/security copying build/lib/flask_security/templates/security/reset_password.html -> build/bdist.linux-riscv64/wheel/flask_security/templates/security copying build/lib/flask_security/cli.py -> build/bdist.linux-riscv64/wheel/flask_security copying build/lib/flask_security/__init__.py -> build/bdist.linux-riscv64/wheel/flask_security creating build/bdist.linux-riscv64/wheel/flask_security/models copying build/lib/flask_security/models/__init__.py -> build/bdist.linux-riscv64/wheel/flask_security/models copying build/lib/flask_security/models/fsqla_v2.py -> build/bdist.linux-riscv64/wheel/flask_security/models copying build/lib/flask_security/models/fsqla.py -> build/bdist.linux-riscv64/wheel/flask_security/models copying build/lib/flask_security/username_util.py -> build/bdist.linux-riscv64/wheel/flask_security copying build/lib/flask_security/mail_util.py -> build/bdist.linux-riscv64/wheel/flask_security copying build/lib/flask_security/core.py -> build/bdist.linux-riscv64/wheel/flask_security copying build/lib/flask_security/py.typed -> build/bdist.linux-riscv64/wheel/flask_security copying build/lib/flask_security/registerable.py -> build/bdist.linux-riscv64/wheel/flask_security copying build/lib/flask_security/recoverable.py -> build/bdist.linux-riscv64/wheel/flask_security copying build/lib/flask_security/unified_signin.py -> build/bdist.linux-riscv64/wheel/flask_security copying build/lib/flask_security/signals.py -> build/bdist.linux-riscv64/wheel/flask_security copying build/lib/flask_security/phone_util.py -> build/bdist.linux-riscv64/wheel/flask_security copying build/lib/flask_security/utils.py -> build/bdist.linux-riscv64/wheel/flask_security copying build/lib/flask_security/passwordless.py -> build/bdist.linux-riscv64/wheel/flask_security copying build/lib/flask_security/password_util.py -> build/bdist.linux-riscv64/wheel/flask_security copying build/lib/flask_security/datastore.py -> build/bdist.linux-riscv64/wheel/flask_security copying build/lib/flask_security/quart_compat.py -> build/bdist.linux-riscv64/wheel/flask_security copying build/lib/flask_security/changeable.py -> build/bdist.linux-riscv64/wheel/flask_security copying build/lib/flask_security/confirmable.py -> build/bdist.linux-riscv64/wheel/flask_security copying build/lib/flask_security/proxies.py -> build/bdist.linux-riscv64/wheel/flask_security copying build/lib/flask_security/decorators.py -> build/bdist.linux-riscv64/wheel/flask_security copying build/lib/flask_security/twofactor.py -> build/bdist.linux-riscv64/wheel/flask_security running install_egg_info Copying Flask_Security_Too.egg-info to build/bdist.linux-riscv64/wheel/Flask_Security_Too-4.1.5-py3.11.egg-info running install_scripts creating build/bdist.linux-riscv64/wheel/Flask_Security_Too-4.1.5.dist-info/WHEEL creating '/builddir/build/BUILD/Flask-Security-Too-4.1.5/.pyproject-builddir/pip-wheel-a6r50j3y/tmpwicxynrq/Flask_Security_Too-4.1.5-py2.py3-none-any.whl' and adding 'build/bdist.linux-riscv64/wheel' to it adding 'flask_security/__init__.py' adding 'flask_security/babel.py' adding 'flask_security/changeable.py' adding 'flask_security/cli.py' adding 'flask_security/confirmable.py' adding 'flask_security/core.py' adding 'flask_security/datastore.py' adding 'flask_security/decorators.py' adding 'flask_security/forms.py' adding 'flask_security/mail_util.py' adding 'flask_security/password_util.py' adding 'flask_security/passwordless.py' adding 'flask_security/phone_util.py' adding 'flask_security/proxies.py' adding 'flask_security/py.typed' adding 'flask_security/quart_compat.py' adding 'flask_security/recoverable.py' adding 'flask_security/registerable.py' adding 'flask_security/signals.py' adding 'flask_security/totp.py' adding 'flask_security/twofactor.py' adding 'flask_security/unified_signin.py' adding 'flask_security/username_util.py' adding 'flask_security/utils.py' adding 'flask_security/views.py' adding 'flask_security/models/__init__.py' adding 'flask_security/models/fsqla.py' adding 'flask_security/models/fsqla_v2.py' adding 'flask_security/templates/security/_macros.html' adding 'flask_security/templates/security/_menu.html' adding 'flask_security/templates/security/_messages.html' adding 'flask_security/templates/security/base.html' adding 'flask_security/templates/security/change_password.html' adding 'flask_security/templates/security/forgot_password.html' adding 'flask_security/templates/security/login_user.html' adding 'flask_security/templates/security/register_user.html' adding 'flask_security/templates/security/reset_password.html' adding 'flask_security/templates/security/send_confirmation.html' adding 'flask_security/templates/security/send_login.html' adding 'flask_security/templates/security/two_factor_setup.html' adding 'flask_security/templates/security/two_factor_verify_code.html' adding 'flask_security/templates/security/us_setup.html' adding 'flask_security/templates/security/us_signin.html' adding 'flask_security/templates/security/us_verify.html' adding 'flask_security/templates/security/verify.html' adding 'flask_security/templates/security/email/change_notice.html' adding 'flask_security/templates/security/email/change_notice.txt' adding 'flask_security/templates/security/email/confirmation_instructions.html' adding 'flask_security/templates/security/email/confirmation_instructions.txt' adding 'flask_security/templates/security/email/login_instructions.html' adding 'flask_security/templates/security/email/login_instructions.txt' adding 'flask_security/templates/security/email/reset_instructions.html' adding 'flask_security/templates/security/email/reset_instructions.txt' adding 'flask_security/templates/security/email/reset_notice.html' adding 'flask_security/templates/security/email/reset_notice.txt' adding 'flask_security/templates/security/email/two_factor_instructions.html' adding 'flask_security/templates/security/email/two_factor_instructions.txt' adding 'flask_security/templates/security/email/two_factor_rescue.html' adding 'flask_security/templates/security/email/two_factor_rescue.txt' adding 'flask_security/templates/security/email/us_instructions.html' adding 'flask_security/templates/security/email/us_instructions.txt' adding 'flask_security/templates/security/email/welcome.html' adding 'flask_security/templates/security/email/welcome.txt' adding 'flask_security/translations/flask_security.pot' adding 'flask_security/translations/pwl.txt' adding 'flask_security/translations/af_ZA/LC_MESSAGES/flask_security.mo' adding 'flask_security/translations/af_ZA/LC_MESSAGES/flask_security.po' adding 'flask_security/translations/ca_ES/LC_MESSAGES/flask_security.mo' adding 'flask_security/translations/ca_ES/LC_MESSAGES/flask_security.po' adding 'flask_security/translations/da_DK/LC_MESSAGES/flask_security.mo' adding 'flask_security/translations/da_DK/LC_MESSAGES/flask_security.po' adding 'flask_security/translations/de_DE/LC_MESSAGES/flask_security.mo' adding 'flask_security/translations/de_DE/LC_MESSAGES/flask_security.po' adding 'flask_security/translations/es_ES/LC_MESSAGES/flask_security.mo' adding 'flask_security/translations/es_ES/LC_MESSAGES/flask_security.po' adding 'flask_security/translations/eu_ES/LC_MESSAGES/flask_security.mo' adding 'flask_security/translations/eu_ES/LC_MESSAGES/flask_security.po' adding 'flask_security/translations/fr_FR/LC_MESSAGES/flask_security.mo' adding 'flask_security/translations/fr_FR/LC_MESSAGES/flask_security.po' adding 'flask_security/translations/hy_AM/LC_MESSAGES/flask_security.mo' adding 'flask_security/translations/hy_AM/LC_MESSAGES/flask_security.po' adding 'flask_security/translations/ja_JP/LC_MESSAGES/flask_security.mo' adding 'flask_security/translations/ja_JP/LC_MESSAGES/flask_security.po' adding 'flask_security/translations/nl_NL/LC_MESSAGES/flask_security.mo' adding 'flask_security/translations/nl_NL/LC_MESSAGES/flask_security.po' adding 'flask_security/translations/pl_PL/LC_MESSAGES/flask_security.mo' adding 'flask_security/translations/pl_PL/LC_MESSAGES/flask_security.po' adding 'flask_security/translations/pt_BR/LC_MESSAGES/flask_security.mo' adding 'flask_security/translations/pt_BR/LC_MESSAGES/flask_security.po' adding 'flask_security/translations/pt_PT/LC_MESSAGES/flask_security.mo' adding 'flask_security/translations/pt_PT/LC_MESSAGES/flask_security.po' adding 'flask_security/translations/ru_RU/LC_MESSAGES/flask_security.mo' adding 'flask_security/translations/ru_RU/LC_MESSAGES/flask_security.po' adding 'flask_security/translations/tr_TR/LC_MESSAGES/flask_security.mo' adding 'flask_security/translations/tr_TR/LC_MESSAGES/flask_security.po' adding 'flask_security/translations/zh_Hans_CN/LC_MESSAGES/flask_security.mo' adding 'flask_security/translations/zh_Hans_CN/LC_MESSAGES/flask_security.po' adding 'Flask_Security_Too-4.1.5.dist-info/AUTHORS' adding 'Flask_Security_Too-4.1.5.dist-info/LICENSE' adding 'Flask_Security_Too-4.1.5.dist-info/METADATA' adding 'Flask_Security_Too-4.1.5.dist-info/WHEEL' adding 'Flask_Security_Too-4.1.5.dist-info/top_level.txt' adding 'Flask_Security_Too-4.1.5.dist-info/RECORD' removing build/bdist.linux-riscv64/wheel Building wheel for Flask-Security-Too (pyproject.toml): finished with status 'done' Created wheel for Flask-Security-Too: filename=Flask_Security_Too-4.1.5-py2.py3-none-any.whl size=262345 sha256=558b2b915c25bdf0d075cfc17ed5c4e87f67319f426b14814732a95ab52dbd13 Stored in directory: /builddir/.cache/pip/wheels/73/fd/d2/bda0e9741b47387144814a447ef7199a449940ebceac615552 Successfully built Flask-Security-Too + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.eHuoKd + umask 022 + cd /builddir/build/BUILD + '[' /builddir/build/BUILDROOT/python-flask-security-too-4.1.5-2.fc38.noarch '!=' / ']' + rm -rf /builddir/build/BUILDROOT/python-flask-security-too-4.1.5-2.fc38.noarch ++ dirname /builddir/build/BUILDROOT/python-flask-security-too-4.1.5-2.fc38.noarch + mkdir -p /builddir/build/BUILDROOT + mkdir /builddir/build/BUILDROOT/python-flask-security-too-4.1.5-2.fc38.noarch + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -I/usr/lib/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -I/usr/lib/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd Flask-Security-Too-4.1.5 ++ xargs basename --multiple ++ ls /builddir/build/BUILD/Flask-Security-Too-4.1.5/pyproject-wheeldir/Flask_Security_Too-4.1.5-py2.py3-none-any.whl ++ sed -E 's/([^-]+)-([^-]+)-.+\.whl/\1==\2/' + specifier=Flask_Security_Too==4.1.5 + TMPDIR=/builddir/build/BUILD/Flask-Security-Too-4.1.5/.pyproject-builddir + /usr/bin/python3 -m pip install --root /builddir/build/BUILDROOT/python-flask-security-too-4.1.5-2.fc38.noarch --prefix /usr --no-deps --disable-pip-version-check --progress-bar off --verbose --ignore-installed --no-warn-script-location --no-index --no-cache-dir --find-links /builddir/build/BUILD/Flask-Security-Too-4.1.5/pyproject-wheeldir Flask_Security_Too==4.1.5 Using pip 22.3.1 from /usr/lib/python3.11/site-packages/pip (python 3.11) Looking in links: /builddir/build/BUILD/Flask-Security-Too-4.1.5/pyproject-wheeldir Processing ./pyproject-wheeldir/Flask_Security_Too-4.1.5-py2.py3-none-any.whl Installing collected packages: Flask_Security_Too Successfully installed Flask_Security_Too-4.1.5 + '[' -d /builddir/build/BUILDROOT/python-flask-security-too-4.1.5-2.fc38.noarch/usr/bin ']' + rm -f /builddir/build/BUILD/python-flask-security-too-4.1.5-2.fc38.noarch-pyproject-ghost-distinfo + site_dirs=() + '[' -d /builddir/build/BUILDROOT/python-flask-security-too-4.1.5-2.fc38.noarch/usr/lib/python3.11/site-packages ']' + site_dirs+=("/usr/lib/python3.11/site-packages") + '[' /builddir/build/BUILDROOT/python-flask-security-too-4.1.5-2.fc38.noarch/usr/lib64/python3.11/site-packages '!=' /builddir/build/BUILDROOT/python-flask-security-too-4.1.5-2.fc38.noarch/usr/lib/python3.11/site-packages ']' + '[' -d /builddir/build/BUILDROOT/python-flask-security-too-4.1.5-2.fc38.noarch/usr/lib64/python3.11/site-packages ']' + for site_dir in ${site_dirs[@]} + for distinfo in /builddir/build/BUILDROOT/python-flask-security-too-4.1.5-2.fc38.noarch$site_dir/*.dist-info + echo '%ghost /usr/lib/python3.11/site-packages/Flask_Security_Too-4.1.5.dist-info' + sed -i s/pip/rpm/ /builddir/build/BUILDROOT/python-flask-security-too-4.1.5-2.fc38.noarch/usr/lib/python3.11/site-packages/Flask_Security_Too-4.1.5.dist-info/INSTALLER + PYTHONPATH=/usr/lib/rpm/redhat + /usr/bin/python3 -B /usr/lib/rpm/redhat/pyproject_preprocess_record.py --buildroot /builddir/build/BUILDROOT/python-flask-security-too-4.1.5-2.fc38.noarch --record /builddir/build/BUILDROOT/python-flask-security-too-4.1.5-2.fc38.noarch/usr/lib/python3.11/site-packages/Flask_Security_Too-4.1.5.dist-info/RECORD --output /builddir/build/BUILD/python-flask-security-too-4.1.5-2.fc38.noarch-pyproject-record + rm -fv /builddir/build/BUILDROOT/python-flask-security-too-4.1.5-2.fc38.noarch/usr/lib/python3.11/site-packages/Flask_Security_Too-4.1.5.dist-info/RECORD removed '/builddir/build/BUILDROOT/python-flask-security-too-4.1.5-2.fc38.noarch/usr/lib/python3.11/site-packages/Flask_Security_Too-4.1.5.dist-info/RECORD' + rm -fv /builddir/build/BUILDROOT/python-flask-security-too-4.1.5-2.fc38.noarch/usr/lib/python3.11/site-packages/Flask_Security_Too-4.1.5.dist-info/REQUESTED removed '/builddir/build/BUILDROOT/python-flask-security-too-4.1.5-2.fc38.noarch/usr/lib/python3.11/site-packages/Flask_Security_Too-4.1.5.dist-info/REQUESTED' ++ wc -l /builddir/build/BUILD/python-flask-security-too-4.1.5-2.fc38.noarch-pyproject-ghost-distinfo ++ cut -f1 '-d ' + lines=1 + '[' 1 -ne 1 ']' + /usr/bin/python3 /usr/lib/rpm/redhat/pyproject_save_files.py --output-files /builddir/build/BUILD/python-flask-security-too-4.1.5-2.fc38.noarch-pyproject-files --output-modules /builddir/build/BUILD/python-flask-security-too-4.1.5-2.fc38.noarch-pyproject-modules --buildroot /builddir/build/BUILDROOT/python-flask-security-too-4.1.5-2.fc38.noarch --sitelib /usr/lib/python3.11/site-packages --sitearch /usr/lib64/python3.11/site-packages --python-version 3.11 --pyproject-record /builddir/build/BUILD/python-flask-security-too-4.1.5-2.fc38.noarch-pyproject-record --prefix /usr flask_security + sed -r '/\/translations\/.*\.mo/d' /builddir/build/BUILD/python-flask-security-too-4.1.5-2.fc38.noarch-pyproject-files %dir /usr/lib/python3.11/site-packages/Flask_Security_Too-4.1.5.dist-info %dir /usr/lib/python3.11/site-packages/flask_security %dir /usr/lib/python3.11/site-packages/flask_security/__pycache__ %dir /usr/lib/python3.11/site-packages/flask_security/models %dir /usr/lib/python3.11/site-packages/flask_security/models/__pycache__ %dir /usr/lib/python3.11/site-packages/flask_security/templates %dir /usr/lib/python3.11/site-packages/flask_security/templates/security %dir /usr/lib/python3.11/site-packages/flask_security/templates/security/email %dir /usr/lib/python3.11/site-packages/flask_security/translations %dir /usr/lib/python3.11/site-packages/flask_security/translations/af_ZA %dir /usr/lib/python3.11/site-packages/flask_security/translations/af_ZA/LC_MESSAGES %dir /usr/lib/python3.11/site-packages/flask_security/translations/ca_ES %dir /usr/lib/python3.11/site-packages/flask_security/translations/ca_ES/LC_MESSAGES %dir /usr/lib/python3.11/site-packages/flask_security/translations/da_DK %dir /usr/lib/python3.11/site-packages/flask_security/translations/da_DK/LC_MESSAGES %dir /usr/lib/python3.11/site-packages/flask_security/translations/de_DE %dir /usr/lib/python3.11/site-packages/flask_security/translations/de_DE/LC_MESSAGES %dir /usr/lib/python3.11/site-packages/flask_security/translations/es_ES %dir /usr/lib/python3.11/site-packages/flask_security/translations/es_ES/LC_MESSAGES %dir /usr/lib/python3.11/site-packages/flask_security/translations/eu_ES %dir /usr/lib/python3.11/site-packages/flask_security/translations/eu_ES/LC_MESSAGES %dir /usr/lib/python3.11/site-packages/flask_security/translations/fr_FR %dir /usr/lib/python3.11/site-packages/flask_security/translations/fr_FR/LC_MESSAGES %dir /usr/lib/python3.11/site-packages/flask_security/translations/hy_AM %dir /usr/lib/python3.11/site-packages/flask_security/translations/hy_AM/LC_MESSAGES %dir /usr/lib/python3.11/site-packages/flask_security/translations/ja_JP %dir /usr/lib/python3.11/site-packages/flask_security/translations/ja_JP/LC_MESSAGES %dir /usr/lib/python3.11/site-packages/flask_security/translations/nl_NL %dir /usr/lib/python3.11/site-packages/flask_security/translations/nl_NL/LC_MESSAGES %dir /usr/lib/python3.11/site-packages/flask_security/translations/pl_PL %dir /usr/lib/python3.11/site-packages/flask_security/translations/pl_PL/LC_MESSAGES %dir /usr/lib/python3.11/site-packages/flask_security/translations/pt_BR %dir /usr/lib/python3.11/site-packages/flask_security/translations/pt_BR/LC_MESSAGES %dir /usr/lib/python3.11/site-packages/flask_security/translations/pt_PT %dir /usr/lib/python3.11/site-packages/flask_security/translations/pt_PT/LC_MESSAGES %dir /usr/lib/python3.11/site-packages/flask_security/translations/ru_RU %dir /usr/lib/python3.11/site-packages/flask_security/translations/ru_RU/LC_MESSAGES %dir /usr/lib/python3.11/site-packages/flask_security/translations/tr_TR %dir /usr/lib/python3.11/site-packages/flask_security/translations/tr_TR/LC_MESSAGES %dir /usr/lib/python3.11/site-packages/flask_security/translations/zh_Hans_CN %dir /usr/lib/python3.11/site-packages/flask_security/translations/zh_Hans_CN/LC_MESSAGES %license /usr/lib/python3.11/site-packages/Flask_Security_Too-4.1.5.dist-info/AUTHORS %license /usr/lib/python3.11/site-packages/Flask_Security_Too-4.1.5.dist-info/LICENSE /usr/lib/python3.11/site-packages/Flask_Security_Too-4.1.5.dist-info/INSTALLER /usr/lib/python3.11/site-packages/Flask_Security_Too-4.1.5.dist-info/METADATA /usr/lib/python3.11/site-packages/Flask_Security_Too-4.1.5.dist-info/WHEEL /usr/lib/python3.11/site-packages/Flask_Security_Too-4.1.5.dist-info/top_level.txt /usr/lib/python3.11/site-packages/flask_security/__init__.py /usr/lib/python3.11/site-packages/flask_security/__pycache__/__init__.cpython-311{,.opt-?}.pyc /usr/lib/python3.11/site-packages/flask_security/__pycache__/babel.cpython-311{,.opt-?}.pyc /usr/lib/python3.11/site-packages/flask_security/__pycache__/changeable.cpython-311{,.opt-?}.pyc /usr/lib/python3.11/site-packages/flask_security/__pycache__/cli.cpython-311{,.opt-?}.pyc /usr/lib/python3.11/site-packages/flask_security/__pycache__/confirmable.cpython-311{,.opt-?}.pyc /usr/lib/python3.11/site-packages/flask_security/__pycache__/core.cpython-311{,.opt-?}.pyc /usr/lib/python3.11/site-packages/flask_security/__pycache__/datastore.cpython-311{,.opt-?}.pyc /usr/lib/python3.11/site-packages/flask_security/__pycache__/decorators.cpython-311{,.opt-?}.pyc /usr/lib/python3.11/site-packages/flask_security/__pycache__/forms.cpython-311{,.opt-?}.pyc /usr/lib/python3.11/site-packages/flask_security/__pycache__/mail_util.cpython-311{,.opt-?}.pyc /usr/lib/python3.11/site-packages/flask_security/__pycache__/password_util.cpython-311{,.opt-?}.pyc /usr/lib/python3.11/site-packages/flask_security/__pycache__/passwordless.cpython-311{,.opt-?}.pyc /usr/lib/python3.11/site-packages/flask_security/__pycache__/phone_util.cpython-311{,.opt-?}.pyc /usr/lib/python3.11/site-packages/flask_security/__pycache__/proxies.cpython-311{,.opt-?}.pyc /usr/lib/python3.11/site-packages/flask_security/__pycache__/quart_compat.cpython-311{,.opt-?}.pyc /usr/lib/python3.11/site-packages/flask_security/__pycache__/recoverable.cpython-311{,.opt-?}.pyc /usr/lib/python3.11/site-packages/flask_security/__pycache__/registerable.cpython-311{,.opt-?}.pyc /usr/lib/python3.11/site-packages/flask_security/__pycache__/signals.cpython-311{,.opt-?}.pyc /usr/lib/python3.11/site-packages/flask_security/__pycache__/totp.cpython-311{,.opt-?}.pyc /usr/lib/python3.11/site-packages/flask_security/__pycache__/twofactor.cpython-311{,.opt-?}.pyc /usr/lib/python3.11/site-packages/flask_security/__pycache__/unified_signin.cpython-311{,.opt-?}.pyc /usr/lib/python3.11/site-packages/flask_security/__pycache__/username_util.cpython-311{,.opt-?}.pyc /usr/lib/python3.11/site-packages/flask_security/__pycache__/utils.cpython-311{,.opt-?}.pyc /usr/lib/python3.11/site-packages/flask_security/__pycache__/views.cpython-311{,.opt-?}.pyc /usr/lib/python3.11/site-packages/flask_security/babel.py /usr/lib/python3.11/site-packages/flask_security/changeable.py /usr/lib/python3.11/site-packages/flask_security/cli.py /usr/lib/python3.11/site-packages/flask_security/confirmable.py /usr/lib/python3.11/site-packages/flask_security/core.py /usr/lib/python3.11/site-packages/flask_security/datastore.py /usr/lib/python3.11/site-packages/flask_security/decorators.py /usr/lib/python3.11/site-packages/flask_security/forms.py /usr/lib/python3.11/site-packages/flask_security/mail_util.py /usr/lib/python3.11/site-packages/flask_security/models/__init__.py /usr/lib/python3.11/site-packages/flask_security/models/__pycache__/__init__.cpython-311{,.opt-?}.pyc /usr/lib/python3.11/site-packages/flask_security/models/__pycache__/fsqla.cpython-311{,.opt-?}.pyc /usr/lib/python3.11/site-packages/flask_security/models/__pycache__/fsqla_v2.cpython-311{,.opt-?}.pyc /usr/lib/python3.11/site-packages/flask_security/models/fsqla.py /usr/lib/python3.11/site-packages/flask_security/models/fsqla_v2.py /usr/lib/python3.11/site-packages/flask_security/password_util.py /usr/lib/python3.11/site-packages/flask_security/passwordless.py /usr/lib/python3.11/site-packages/flask_security/phone_util.py /usr/lib/python3.11/site-packages/flask_security/proxies.py /usr/lib/python3.11/site-packages/flask_security/py.typed /usr/lib/python3.11/site-packages/flask_security/quart_compat.py /usr/lib/python3.11/site-packages/flask_security/recoverable.py /usr/lib/python3.11/site-packages/flask_security/registerable.py /usr/lib/python3.11/site-packages/flask_security/signals.py /usr/lib/python3.11/site-packages/flask_security/templates/security/_macros.html /usr/lib/python3.11/site-packages/flask_security/templates/security/_menu.html /usr/lib/python3.11/site-packages/flask_security/templates/security/_messages.html /usr/lib/python3.11/site-packages/flask_security/templates/security/base.html /usr/lib/python3.11/site-packages/flask_security/templates/security/change_password.html /usr/lib/python3.11/site-packages/flask_security/templates/security/email/change_notice.html /usr/lib/python3.11/site-packages/flask_security/templates/security/email/change_notice.txt /usr/lib/python3.11/site-packages/flask_security/templates/security/email/confirmation_instructions.html /usr/lib/python3.11/site-packages/flask_security/templates/security/email/confirmation_instructions.txt /usr/lib/python3.11/site-packages/flask_security/templates/security/email/login_instructions.html /usr/lib/python3.11/site-packages/flask_security/templates/security/email/login_instructions.txt /usr/lib/python3.11/site-packages/flask_security/templates/security/email/reset_instructions.html /usr/lib/python3.11/site-packages/flask_security/templates/security/email/reset_instructions.txt /usr/lib/python3.11/site-packages/flask_security/templates/security/email/reset_notice.html /usr/lib/python3.11/site-packages/flask_security/templates/security/email/reset_notice.txt /usr/lib/python3.11/site-packages/flask_security/templates/security/email/two_factor_instructions.html /usr/lib/python3.11/site-packages/flask_security/templates/security/email/two_factor_instructions.txt /usr/lib/python3.11/site-packages/flask_security/templates/security/email/two_factor_rescue.html /usr/lib/python3.11/site-packages/flask_security/templates/security/email/two_factor_rescue.txt /usr/lib/python3.11/site-packages/flask_security/templates/security/email/us_instructions.html /usr/lib/python3.11/site-packages/flask_security/templates/security/email/us_instructions.txt /usr/lib/python3.11/site-packages/flask_security/templates/security/email/welcome.html /usr/lib/python3.11/site-packages/flask_security/templates/security/email/welcome.txt /usr/lib/python3.11/site-packages/flask_security/templates/security/forgot_password.html /usr/lib/python3.11/site-packages/flask_security/templates/security/login_user.html /usr/lib/python3.11/site-packages/flask_security/templates/security/register_user.html /usr/lib/python3.11/site-packages/flask_security/templates/security/reset_password.html /usr/lib/python3.11/site-packages/flask_security/templates/security/send_confirmation.html /usr/lib/python3.11/site-packages/flask_security/templates/security/send_login.html /usr/lib/python3.11/site-packages/flask_security/templates/security/two_factor_setup.html /usr/lib/python3.11/site-packages/flask_security/templates/security/two_factor_verify_code.html /usr/lib/python3.11/site-packages/flask_security/templates/security/us_setup.html /usr/lib/python3.11/site-packages/flask_security/templates/security/us_signin.html /usr/lib/python3.11/site-packages/flask_security/templates/security/us_verify.html /usr/lib/python3.11/site-packages/flask_security/templates/security/verify.html /usr/lib/python3.11/site-packages/flask_security/totp.py /usr/lib/python3.11/site-packages/flask_security/translations/af_ZA/LC_MESSAGES/flask_security.po /usr/lib/python3.11/site-packages/flask_security/translations/ca_ES/LC_MESSAGES/flask_security.po /usr/lib/python3.11/site-packages/flask_security/translations/da_DK/LC_MESSAGES/flask_security.po /usr/lib/python3.11/site-packages/flask_security/translations/de_DE/LC_MESSAGES/flask_security.po /usr/lib/python3.11/site-packages/flask_security/translations/es_ES/LC_MESSAGES/flask_security.po /usr/lib/python3.11/site-packages/flask_security/translations/eu_ES/LC_MESSAGES/flask_security.po /usr/lib/python3.11/site-packages/flask_security/translations/flask_security.pot /usr/lib/python3.11/site-packages/flask_security/translations/fr_FR/LC_MESSAGES/flask_security.po /usr/lib/python3.11/site-packages/flask_security/translations/hy_AM/LC_MESSAGES/flask_security.po /usr/lib/python3.11/site-packages/flask_security/translations/ja_JP/LC_MESSAGES/flask_security.po /usr/lib/python3.11/site-packages/flask_security/translations/nl_NL/LC_MESSAGES/flask_security.po /usr/lib/python3.11/site-packages/flask_security/translations/pl_PL/LC_MESSAGES/flask_security.po /usr/lib/python3.11/site-packages/flask_security/translations/pt_BR/LC_MESSAGES/flask_security.po /usr/lib/python3.11/site-packages/flask_security/translations/pt_PT/LC_MESSAGES/flask_security.po /usr/lib/python3.11/site-packages/flask_security/translations/pwl.txt /usr/lib/python3.11/site-packages/flask_security/translations/ru_RU/LC_MESSAGES/flask_security.po /usr/lib/python3.11/site-packages/flask_security/translations/tr_TR/LC_MESSAGES/flask_security.po /usr/lib/python3.11/site-packages/flask_security/translations/zh_Hans_CN/LC_MESSAGES/flask_security.po /usr/lib/python3.11/site-packages/flask_security/twofactor.py /usr/lib/python3.11/site-packages/flask_security/unified_signin.py /usr/lib/python3.11/site-packages/flask_security/username_util.py /usr/lib/python3.11/site-packages/flask_security/utils.py /usr/lib/python3.11/site-packages/flask_security/views.py + cp -rp /builddir/build/BUILDROOT/python-flask-security-too-4.1.5-2.fc38.noarch//usr/lib/python3.11/site-packages/flask_security/translations /builddir/build/BUILDROOT/python-flask-security-too-4.1.5-2.fc38.noarch//usr/lib/python3.11/site-packages/flask_security/locale + find /builddir/build/BUILDROOT/python-flask-security-too-4.1.5-2.fc38.noarch//usr/lib/python3.11/site-packages/flask_security/locale -type f '!' -name '*.mo' -delete + /usr/lib/rpm/find-lang.sh /builddir/build/BUILDROOT/python-flask-security-too-4.1.5-2.fc38.noarch flask_security + rm -rf /builddir/build/BUILDROOT/python-flask-security-too-4.1.5-2.fc38.noarch//usr/lib/python3.11/site-packages/flask_security/locale + sed -r -i s@/locale/@/translations/@ flask_security.lang + /usr/bin/find-debuginfo -j8 --strict-build-id -m -i --build-id-seed 4.1.5-2.fc38 --unique-debug-suffix -4.1.5-2.fc38.noarch --unique-debug-src-base python-flask-security-too-4.1.5-2.fc38.noarch --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 50000000 -S debugsourcefiles.list /builddir/build/BUILD/Flask-Security-Too-4.1.5 find: 'debug': No such file or directory + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-ldconfig + /usr/lib/rpm/brp-compress + /usr/lib/rpm/redhat/brp-strip-lto /usr/bin/strip + /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip + /usr/lib/rpm/check-rpaths + /usr/lib/rpm/redhat/brp-mangle-shebangs + /usr/lib/rpm/brp-remove-la-files + env /usr/lib/rpm/redhat/brp-python-bytecompile '' 1 0 -j8 Bytecompiling .py files below /builddir/build/BUILDROOT/python-flask-security-too-4.1.5-2.fc38.noarch/usr/lib/python3.11 using python3.11 + /usr/lib/rpm/redhat/brp-python-hardlink Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.1OeeUJ + umask 022 + cd /builddir/build/BUILD + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -I/usr/lib/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -I/usr/lib/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd Flask-Security-Too-4.1.5 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + PATH=/builddir/build/BUILDROOT/python-flask-security-too-4.1.5-2.fc38.noarch/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin + PYTHONPATH=/builddir/build/BUILDROOT/python-flask-security-too-4.1.5-2.fc38.noarch/usr/lib64/python3.11/site-packages:/builddir/build/BUILDROOT/python-flask-security-too-4.1.5-2.fc38.noarch/usr/lib/python3.11/site-packages + PYTHONDONTWRITEBYTECODE=1 + PYTEST_ADDOPTS=' --ignore=/builddir/build/BUILD/Flask-Security-Too-4.1.5/.pyproject-builddir' + PYTEST_XDIST_AUTO_NUM_WORKERS=8 + /usr/bin/pytest -m 'not two_factor and not unified_signin' ============================= test session starts ============================== platform linux -- Python 3.11.4, pytest-7.2.2, pluggy-1.0.0 rootdir: /builddir/build/BUILD/Flask-Security-Too-4.1.5, configfile: pytest.ini plugins: cov-4.0.0 collected 471 items / 84 deselected / 387 selected tests/test_changeable.py FFFFFFFF.FFFFFFFFFF [ 4%] tests/test_cli.py ............ [ 8%] tests/test_common.py .FFFFFFFFFFFFFFFFFFFFFFF.FFFFF.FFFFFFsFFFsFFFsF.FFs [ 21%] FFFFF..............FFFFF.F.FFFF.FFFFF. [ 31%] tests/test_configuration.py F. [ 31%] tests/test_confirmable.py FFsFFFFsFFFFFFFFFFFFFF [ 37%] tests/test_context_processors.py F. [ 37%] tests/test_csrf.py FFFFFFFFF...FFFFFFF [ 42%] tests/test_datastore.py .........s.s..s.s..s.s..s.s..s.s..s.s..s.s..s.s. [ 55%] .s.s..s.s..s.s..s.s..s.s..s.s..s.s..s.ss [ 65%] tests/test_entities.py ..... [ 66%] tests/test_hashing.py .....F...ss [ 69%] tests/test_misc.py F.F..FFFF...F....FF.FF...FF.FF..s...F.FFFFFFFFFFFFFF. [ 83%] ... [ 83%] tests/test_passwordless.py FFFFF [ 85%] tests/test_recoverable.py FFsFFFsFFFF.F.FFF.FFFFFFF [ 91%] tests/test_registerable.py FFsFFFFF.FFFFFF.F. [ 96%] tests/test_response.py .......FFFF [ 99%] tests/test_trackable.py FFF [100%] =================================== FAILURES =================================== _____________________________ test_changeable_flag _____________________________ app = , client = > get_message = .fn at 0xffffff89b4ede0> def test_changeable_flag(app, client, get_message): recorded = [] @password_changed.connect_via(app) def on_password_changed(app, user): assert isinstance(app, Flask) assert isinstance(user, UserMixin) recorded.append(user) > authenticate(client) tests/test_changeable.py:44: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _______________________ test_change_invalidates_session ________________________ app = , client = > def test_change_invalidates_session(app, client): # Make sure that if we change our password - prior sessions are invalidated. # changing password effectively re-logs in user - verify the signal auths = [] @user_authenticated.connect_via(app) def authned(myapp, user, **extra_args): auths.append((user.email, extra_args["authn_via"])) # No remember cookie since that also be reset and auto-login. data = dict(email="matt@lp.com", password="password", remember="") > response = client.post("/login", data=data) tests/test_changeable.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _________________________ test_change_updates_remember _________________________ app = , client = > def test_change_updates_remember(app, client): # Test that on change password - remember cookie updated > authenticate(client) tests/test_changeable.py:201: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ______________________ test_change_invalidates_auth_token ______________________ app = , client = > def test_change_invalidates_auth_token(app, client): # if change password, by default that should invalidate auth tokens > response = json_authenticate(client) tests/test_changeable.py:225: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:47: in json_authenticate return client.post(ep, content_type="application/json", data=data) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _____________________________ test_auth_uniquifier _____________________________ app = def test_auth_uniquifier(app): # If add fs_token_uniquifier to user model - change password shouldn't invalidate # auth tokens. from sqlalchemy import Column, String from flask_sqlalchemy import SQLAlchemy from flask_security.models import fsqla_v2 as fsqla from flask_security import Security, SQLAlchemyUserDatastore app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///:memory:" db = SQLAlchemy(app) fsqla.FsModels.set_db_info(db) class Role(db.Model, fsqla.FsRoleMixin): pass class User(db.Model, fsqla.FsUserMixin): fs_token_uniquifier = Column(String(64), unique=True, nullable=False) with app.app_context(): db.create_all() ds = SQLAlchemyUserDatastore(db, User, Role) app.security = Security(app, datastore=ds) with app.app_context(): ds.create_user( email="matt@lp.com", password=hash_password("password"), ) ds.commit() client = app.test_client() # standard login with auth token > response = json_authenticate(client) tests/test_changeable.py:284: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:47: in json_authenticate return client.post(ep, content_type="application/json", data=data) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _________________________________ test_xlation _________________________________ app = , client = > get_message_local = .fn at 0xffffff89b31620> @pytest.mark.babel() def test_xlation(app, client, get_message_local): # Test form and email translation app.config["BABEL_DEFAULT_LOCALE"] = "fr_FR" assert check_xlation(app, "fr_FR"), "You must run python setup.py compile_catalog" > authenticate(client) tests/test_changeable.py:314: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ____________________________ test_custom_change_url ____________________________ client = > @pytest.mark.settings(change_url="/custom_change") def test_custom_change_url(client): > authenticate(client) tests/test_changeable.py:355: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _________________________ test_custom_change_template __________________________ client = > @pytest.mark.settings(change_password_template="custom_security/change_password.html") def test_custom_change_template(client): > authenticate(client) tests/test_changeable.py:362: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _________________________ test_custom_post_change_view _________________________ client = > @pytest.mark.settings(post_change_view="/profile") def test_custom_post_change_view(client): > authenticate(client) tests/test_changeable.py:384: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ______________________________ test_token_change _______________________________ app = client_nc = > def test_token_change(app, client_nc): # Verify can change password using token auth only > login_response = json_authenticate(client_nc) tests/test_changeable.py:400: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:47: in json_authenticate return client.post(ep, content_type="application/json", data=data) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ______________________________ test_basic_change _______________________________ app = client_nc = > get_message = .fn at 0xffffff89505260> @pytest.mark.settings(api_enabled_methods=["basic"]) def test_basic_change(app, client_nc, get_message): # Verify can change password using basic auth data = dict( password="password", new_password="new strong password", new_password_confirm="new strong password", ) response = client_nc.post("/change", data=data) assert b"You are not authenticated" in response.data assert "WWW-Authenticate" in response.headers > response = client_nc.post( "/change", data=data, headers={ "Authorization": "Basic %s" % base64.b64encode(b"matt@lp.com:password").decode("utf-8") }, follow_redirects=True, ) tests/test_changeable.py:429: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:389: in decorated_view return fn(*args, **kwargs) flask_security/views.py:641: in change_password if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ChangePasswordForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ______________________________ test_easy_password ______________________________ app = , client = > @pytest.mark.settings(password_complexity_checker="zxcvbn") def test_easy_password(app, client): > authenticate(client) tests/test_changeable.py:445: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ______________________________ test_my_validator _______________________________ app = sqlalchemy_datastore = def test_my_validator(app, sqlalchemy_datastore): class MyPwUtil(PasswordUtil): def validate(self, password, is_register, **kwargs): user = kwargs["user"] # This is setup in createusers for matt. assert user.security_number == 123456 return ["Are you crazy?"], password init_app_with_options( app, sqlalchemy_datastore, **{"security_args": {"password_util_cls": MyPwUtil}} ) client = app.test_client() > authenticate(client) tests/test_changeable.py:474: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _____________________________ test_override_length _____________________________ app = , client = > get_message = .fn at 0xffffff89060680> @pytest.mark.settings(password_length_min=12) def test_override_length(app, client, get_message): > authenticate(client) tests/test_changeable.py:491: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _____________________________ test_unicode_length ______________________________ app = , client = > get_message = .fn at 0xffffff89506e80> def test_unicode_length(app, client, get_message): # From NIST and OWASP - each unicode code point should count as a character. > authenticate(client) tests/test_changeable.py:506: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _________________________ test_unicode_invalid_length __________________________ app = , client = > get_message = .fn at 0xffffff89419800> def test_unicode_invalid_length(app, client, get_message): # From NIST and OWASP - each unicode code point should count as a character. > authenticate(client) tests/test_changeable.py:527: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ______________________________ test_pwd_normalize ______________________________ app = , client = > def test_pwd_normalize(app, client): """Verify that can log in with both original and normalized pwd""" > authenticate(client) tests/test_changeable.py:545: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ____________________________ test_pwd_no_normalize _____________________________ app = , client = > @pytest.mark.settings(password_normalize_form=None) def test_pwd_no_normalize(app, client): """Verify that can log in with original but not normalized if have disabled normalization """ > authenticate(client) tests/test_changeable.py:601: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ______________________________ test_authenticate _______________________________ client = > def test_authenticate(client): > response = authenticate(client) tests/test_common.py:39: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _________________________ test_authenticate_with_next __________________________ client = > def test_authenticate_with_next(client): data = dict(email="matt@lp.com", password="password") > response = client.post("/login?next=/page1", data=data, follow_redirects=True) tests/test_common.py:47: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ________________________ test_authenticate_with_next_bp ________________________ app = , client = > def test_authenticate_with_next_bp(app, client): api = Blueprint("api", __name__) @api.route("/info") def info(): pass app.register_blueprint(api, url_prefix="/api") data = dict(email="matt@lp.com", password="password") > response = client.post("/login?next=api.info", data=data, follow_redirects=False) tests/test_common.py:60: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _____________________ test_authenticate_with_invalid_next ______________________ client = > get_message = .fn at 0xffffff8900e5c0> def test_authenticate_with_invalid_next(client, get_message): data = dict(email="matt@lp.com", password="password") > response = client.post("/login?next=http://google.com", data=data) tests/test_common.py:67: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ________________ test_authenticate_with_invalid_malformed_next _________________ client = > get_message = .fn at 0xffffff890632e0> def test_authenticate_with_invalid_malformed_next(client, get_message): data = dict(email="matt@lp.com", password="password") > response = client.post("/login?next=http:///google.com", data=data) tests/test_common.py:73: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ____________________ test_authenticate_with_subdomain_next _____________________ app = , client = > get_message = .fn at 0xffffff895691c0> def test_authenticate_with_subdomain_next(app, client, get_message): app.config["SERVER_NAME"] = "lp.com" app.config["SECURITY_REDIRECT_ALLOW_SUBDOMAINS"] = True data = dict(email="matt@lp.com", password="password") > response = client.post("/login?next=http://sub.lp.com", data=data) tests/test_common.py:81: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ___________________ test_authenticate_with_root_domain_next ____________________ app = , client = > get_message = .fn at 0xffffff88ac9440> def test_authenticate_with_root_domain_next(app, client, get_message): app.config["SERVER_NAME"] = "lp.com" app.config["SECURITY_SUBDOMAIN"] = "auth" app.config["SECURITY_REDIRECT_ALLOW_SUBDOMAINS"] = True data = dict(email="matt@lp.com", password="password") > response = client.post("/login?next=http://lp.com", data=data) tests/test_common.py:90: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ________________ test_authenticate_with_invalid_subdomain_next _________________ app = , client = > get_message = .fn at 0xffffff88fe9a80> def test_authenticate_with_invalid_subdomain_next(app, client, get_message): app.config["SERVER_NAME"] = "lp.com" app.config["SECURITY_REDIRECT_ALLOW_SUBDOMAINS"] = True data = dict(email="matt@lp.com", password="password") > response = client.post("/login?next=http://sub.lp.net", data=data) tests/test_common.py:98: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _____________ test_authenticate_with_subdomain_next_default_config _____________ app = , client = > get_message = .fn at 0xffffff88b0fc40> def test_authenticate_with_subdomain_next_default_config(app, client, get_message): app.config["SERVER_NAME"] = "lp.com" data = dict(email="matt@lp.com", password="password") > response = client.post("/login?next=http://sub.lp.com", data=data) tests/test_common.py:105: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ___________________ test_authenticate_case_insensitive_email ___________________ app = , client = > def test_authenticate_case_insensitive_email(app, client): > response = authenticate(client, "MATT@lp.com", follow_redirects=True) tests/test_common.py:110: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _____________________ test_authenticate_with_invalid_input _____________________ client = > get_message = .fn at 0xffffff8900a160> def test_authenticate_with_invalid_input(client, get_message): > response = client.post( "/login", data="{}", headers={"Content-Type": "application/json"} ) tests/test_common.py:115: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ________________________ test_get_already_authenticated ________________________ client = > @pytest.mark.settings(post_login_view="/post_login") def test_get_already_authenticated(client): > response = authenticate(client, follow_redirects=True) tests/test_common.py:123: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _____________________ test_get_already_authenticated_next ______________________ client = > @pytest.mark.settings(post_login_view="/post_login") def test_get_already_authenticated_next(client): > response = authenticate(client, follow_redirects=True) tests/test_common.py:131: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _______________________ test_post_already_authenticated ________________________ client = > @pytest.mark.settings(post_login_view="/post_login") def test_post_already_authenticated(client): > response = authenticate(client, follow_redirects=True) tests/test_common.py:140: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _______________________________ test_login_form ________________________________ client = > def test_login_form(client): > response = client.post("/login", data={"email": "matt@lp.com"}) tests/test_common.py:151: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ___________________________ test_login_form_username ___________________________ client = > @pytest.mark.settings(username_enable=True) def test_login_form_username(client): # If USERNAME_ENABLE is set then login form should have a StringField, not Email > response = client.post("/login", data={"email": "matt@lp.com"}) tests/test_common.py:159: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ___________________________ test_unprovided_username ___________________________ client = > get_message = .fn at 0xffffff88a51440> def test_unprovided_username(client, get_message): > response = authenticate(client, "") tests/test_common.py:166: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ___________________________ test_unprovided_password ___________________________ client = > get_message = .fn at 0xffffff889bf420> def test_unprovided_password(client, get_message): > response = authenticate(client, password="") tests/test_common.py:171: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ______________________________ test_invalid_user _______________________________ client = > get_message = .fn at 0xffffff88a3ede0> def test_invalid_user(client, get_message): > response = authenticate(client, email="bogus@bogus.com") tests/test_common.py:176: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ______________________________ test_bad_password _______________________________ client = > get_message = .fn at 0xffffff8956ab60> def test_bad_password(client, get_message): > response = authenticate(client, password="bogus") tests/test_common.py:181: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ______________________________ test_inactive_user ______________________________ client = > get_message = .fn at 0xffffff8900d6c0> def test_inactive_user(client, get_message): > response = authenticate(client, "tiya@lp.com", "password") tests/test_common.py:186: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ____________________________ test_inactive_forbids _____________________________ app = , client = > get_message = .fn at 0xffffff89009d00> def test_inactive_forbids(app, client, get_message): """Make sure that existing session doesn't work after user marked inactive """ > response = authenticate(client, follow_redirects=True) tests/test_common.py:194: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _________________________ test_inactive_forbids_token __________________________ app = client_nc = > get_message = .fn at 0xffffff88feb100> @pytest.mark.settings(unauthorized_view=None) def test_inactive_forbids_token(app, client_nc, get_message): """Make sure that existing token doesn't work after user marked inactive """ > response = json_authenticate(client_nc) tests/test_common.py:217: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:47: in json_authenticate return client.post(ep, content_type="application/json", data=data) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _____________________________ test_unset_password ______________________________ client = > get_message = .fn at 0xffffff88cf9580> def test_unset_password(client, get_message): > response = authenticate(client, "jess@lp.com", "password") tests/test_common.py:265: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _________________________________ test_logout __________________________________ client = > def test_logout(client): > authenticate(client) tests/test_common.py:270: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _______________________________ test_logout_post _______________________________ client = > def test_logout_post(client): > authenticate(client) tests/test_common.py:276: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ________________________ test_logout_with_next_invalid _________________________ client = > get_message = .fn at 0xffffff889bfb00> def test_logout_with_next_invalid(client, get_message): > authenticate(client) tests/test_common.py:283: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ____________________________ test_logout_with_next _____________________________ client = > def test_logout_with_next(client): > authenticate(client) tests/test_common.py:289: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ___________________________ test_has_session_access ____________________________ client = > def test_has_session_access(client): > authenticate(client) tests/test_common.py:300: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ____________________________ test_authorized_access ____________________________ client = > def test_authorized_access(client): > authenticate(client) tests/test_common.py:306: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ___________________________ test_unauthorized_access ___________________________ client = > get_message = .fn at 0xffffff88cfa980> def test_unauthorized_access(client, get_message): > authenticate(client, "joe@lp.com") tests/test_common.py:312: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ____________________ test_unauthorized_access_with_referrer ____________________ client = > get_message = .fn at 0xffffff88c02340> @pytest.mark.settings(unauthorized_view=lambda: None) def test_unauthorized_access_with_referrer(client, get_message): > authenticate(client, "joe@lp.com") tests/test_common.py:319: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ______________________ test_roles_accepted[cl-sqlalchemy] ______________________ clients = > @pytest.mark.settings(unauthorized_view="/unauthz") def test_roles_accepted(clients): # This specificaly tests that we can pass a URL for unauthorized_view. for user in ("matt@lp.com", "joe@lp.com"): > authenticate(clients, user) tests/test_common.py:346: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ___________________________ test_roles_accepted[c2] ____________________________ clients = > @pytest.mark.settings(unauthorized_view="/unauthz") def test_roles_accepted(clients): # This specificaly tests that we can pass a URL for unauthorized_view. for user in ("matt@lp.com", "joe@lp.com"): > authenticate(clients, user) tests/test_common.py:346: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ________________________ test_roles_accepted[cl-peewee] ________________________ clients = > @pytest.mark.settings(unauthorized_view="/unauthz") def test_roles_accepted(clients): # This specificaly tests that we can pass a URL for unauthorized_view. for user in ("matt@lp.com", "joe@lp.com"): > authenticate(clients, user) tests/test_common.py:346: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ___________________ test_permissions_accepted[cl-sqlalchemy] ___________________ clients = > @pytest.mark.settings(unauthorized_view="unauthz") def test_permissions_accepted(clients): for user in ("matt@lp.com", "joe@lp.com"): > authenticate(clients, user) tests/test_common.py:359: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ________________________ test_permissions_accepted[c2] _________________________ clients = > @pytest.mark.settings(unauthorized_view="unauthz") def test_permissions_accepted(clients): for user in ("matt@lp.com", "joe@lp.com"): > authenticate(clients, user) tests/test_common.py:359: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _____________________ test_permissions_accepted[cl-peewee] _____________________ clients = > @pytest.mark.settings(unauthorized_view="unauthz") def test_permissions_accepted(clients): for user in ("matt@lp.com", "joe@lp.com"): > authenticate(clients, user) tests/test_common.py:359: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ___________________ test_permissions_required[cl-sqlalchemy] ___________________ clients = > @pytest.mark.settings(unauthorized_view="unauthz") def test_permissions_required(clients): for user in ["matt@lp.com"]: > authenticate(clients, user) tests/test_common.py:372: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ________________________ test_permissions_required[c2] _________________________ clients = > @pytest.mark.settings(unauthorized_view="unauthz") def test_permissions_required(clients): for user in ["matt@lp.com"]: > authenticate(clients, user) tests/test_common.py:372: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _____________________ test_permissions_required[cl-peewee] _____________________ clients = > @pytest.mark.settings(unauthorized_view="unauthz") def test_permissions_required(clients): for user in ["matt@lp.com"]: > authenticate(clients, user) tests/test_common.py:372: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError __________________ test_multiple_role_required[cl-sqlalchemy] __________________ clients = > @pytest.mark.settings(unauthorized_view="unauthz") def test_multiple_role_required(clients): for user in ("matt@lp.com", "joe@lp.com"): > authenticate(clients, user) tests/test_common.py:391: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _______________________ test_multiple_role_required[c2] ________________________ clients = > @pytest.mark.settings(unauthorized_view="unauthz") def test_multiple_role_required(clients): for user in ("matt@lp.com", "joe@lp.com"): > authenticate(clients, user) tests/test_common.py:391: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ____________________ test_multiple_role_required[cl-peewee] ____________________ clients = > @pytest.mark.settings(unauthorized_view="unauthz") def test_multiple_role_required(clients): for user in ("matt@lp.com", "joe@lp.com"): > authenticate(clients, user) tests/test_common.py:391: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ______________________________ test_ok_json_auth _______________________________ client = > def test_ok_json_auth(client): > response = json_authenticate(client) tests/test_common.py:402: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:47: in json_authenticate return client.post(ep, content_type="application/json", data=data) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ____________________________ test_invalid_json_auth ____________________________ client = > def test_invalid_json_auth(client): > response = json_authenticate(client, password="junk") tests/test_common.py:408: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:47: in json_authenticate return client.post(ep, content_type="application/json", data=data) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _________________ test_token_auth_via_querystring_valid_token __________________ client = > def test_token_auth_via_querystring_valid_token(client): > response = json_authenticate(client) tests/test_common.py:413: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:47: in json_authenticate return client.post(ep, content_type="application/json", data=data) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ____________________ test_token_auth_via_header_valid_token ____________________ client = > def test_token_auth_via_header_valid_token(client): > response = json_authenticate(client) tests/test_common.py:420: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:47: in json_authenticate return client.post(ep, content_type="application/json", data=data) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ____________________________ test_multi_auth_token _____________________________ client = > def test_multi_auth_token(client): > response = json_authenticate(client) tests/test_common.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:47: in json_authenticate return client.post(ep, content_type="application/json", data=data) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ___________________________ test_multi_auth_session ____________________________ client = > def test_multi_auth_session(client): > authenticate(client) tests/test_common.py:622: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ___________________________ test_authenticated_loop ____________________________ client = > def test_authenticated_loop(client): # If user is already authenticated say via session, and then hits an endpoint # protected with @auth_token_required() - then they will be redirected to the login # page which will simply note the current user is already logged in and redirect # to POST_LOGIN_VIEW. Between 3.3.0 and 3.4.4 - this redirect would honor the 'next' # parameter - thus redirecting back to the endpoint that caused the redirect in the # first place - thus an infinite loop. > authenticate(client) tests/test_common.py:634: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError __________ test_user_deleted_during_session_reverts_to_anonymous_user __________ app = , client = > def test_user_deleted_during_session_reverts_to_anonymous_user(app, client): > authenticate(client) tests/test_common.py:642: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _____________________________ test_remember_token ______________________________ client = > def test_remember_token(client): > response = authenticate(client, follow_redirects=False) tests/test_common.py:654: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ______________________ test_sending_auth_token_with_json _______________________ client = > def test_sending_auth_token_with_json(client): > response = json_authenticate(client) tests/test_common.py:687: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:47: in json_authenticate return client.post(ep, content_type="application/json", data=data) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _______________________________ test_login_info ________________________________ client = > def test_login_info(client): # Make sure we can get user info when logged in already. > json_authenticate(client) tests/test_common.py:708: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:47: in json_authenticate return client.post(ep, content_type="application/json", data=data) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ______________________________ test_anon_required ______________________________ client = > get_message = .fn at 0xffffff88041940> @pytest.mark.registerable() @pytest.mark.settings(post_login_view="/anon_required") def test_anon_required(client, get_message): """If logged in, should get 'anonymous_user_required' redirect""" > response = authenticate(client, follow_redirects=False) tests/test_common.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ___________________________ test_anon_required_json ____________________________ client = > get_message = .fn at 0xffffff887e3560> @pytest.mark.registerable() @pytest.mark.settings(post_login_view="/anon_required") def test_anon_required_json(client, get_message): """If logged in, should get 'anonymous_user_required' response""" > authenticate(client, follow_redirects=False) tests/test_common.py:734: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ____________________________ test_change_uniquifier ____________________________ app = client_nc = > def test_change_uniquifier(app, client_nc): # make sure that existing token no longer works once we change the uniquifier > response = json_authenticate(client_nc) tests/test_common.py:745: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:47: in json_authenticate return client.post(ep, content_type="application/json", data=data) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _________________________ test_change_token_uniquifier _________________________ app = def test_change_token_uniquifier(app): # make sure that existing token no longer works once we change the token uniquifier from sqlalchemy import Column, String from flask_sqlalchemy import SQLAlchemy from flask_security.models import fsqla_v2 as fsqla from flask_security import Security, SQLAlchemyUserDatastore app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///:memory:" db = SQLAlchemy(app) fsqla.FsModels.set_db_info(db) class Role(db.Model, fsqla.FsRoleMixin): pass class User(db.Model, fsqla.FsUserMixin): fs_token_uniquifier = Column(String(64), unique=True, nullable=False) with app.app_context(): db.create_all() ds = SQLAlchemyUserDatastore(db, User, Role) app.security = Security(app, datastore=ds) with app.app_context(): ds.create_user( email="matt@lp.com", password=hash_password("password"), ) ds.commit() client_nc = app.test_client(use_cookies=False) > response = json_authenticate(client_nc) tests/test_common.py:817: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:47: in json_authenticate return client.post(ep, content_type="application/json", data=data) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError __________________________ test_null_token_uniquifier __________________________ app = def test_null_token_uniquifier(app): # If existing record has a null fs_token_uniquifier, should be set on first use. from sqlalchemy import Column, String from flask_sqlalchemy import SQLAlchemy from flask_security.models import fsqla_v2 as fsqla from flask_security import Security, SQLAlchemyUserDatastore app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///:memory:" db = SQLAlchemy(app) fsqla.FsModels.set_db_info(db) class Role(db.Model, fsqla.FsRoleMixin): pass class User(db.Model, fsqla.FsUserMixin): fs_token_uniquifier = Column(String(64), unique=True, nullable=True) with app.app_context(): db.create_all() ds = SQLAlchemyUserDatastore(db, User, Role) app.security = Security(app, datastore=ds) with app.app_context(): ds.create_user( email="matt@lp.com", password=hash_password("password"), ) ds.commit() # manually null out fs_token_uniquifier user = ds.find_user(email="matt@lp.com") user.fs_token_uniquifier = None ds.put(user) ds.commit() client_nc = app.test_client(use_cookies=False) > response = json_authenticate(client_nc) tests/test_common.py:874: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:47: in json_authenticate return client.post(ep, content_type="application/json", data=data) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _______________________________ test_token_query _______________________________ app = client_nc = > def test_token_query(app, client_nc): # Verify that when authenticating with auth token (and not session) # that there is just one DB query to get user. with app.app_context(): > response = json_authenticate(client_nc) tests/test_common.py:883: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:47: in json_authenticate return client.post(ep, content_type="application/json", data=data) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ______________________________ test_session_query ______________________________ in_app_context = def test_session_query(in_app_context): # Verify that when authenticating with auth token (but also sending session) # that there are 2 DB queries to get user. # This is since the session will load one - but auth_token_required needs to # verify that the TOKEN is valid (and it is possible that the user_id in the # session is different that the one in the token (huh?) app = in_app_context populate_data(app) client = app.test_client() > response = json_authenticate(client) tests/test_common.py:906: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:47: in json_authenticate return client.post(ep, content_type="application/json", data=data) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ____________________________ test_no_get_auth_token ____________________________ app = , client = > @pytest.mark.changeable() def test_no_get_auth_token(app, client): # Test that GETs don't return an auth token. This is a security issue since # GETs aren't protected with CSRF > authenticate(client) tests/test_common.py:923: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ___________________________ test_view_configuration ____________________________ client = > @pytest.mark.settings( logout_url="/custom_logout", login_url="/custom_login", post_login_view="/post_login", post_logout_view="/post_logout", default_http_auth_realm="Custom Realm", ) def test_view_configuration(client): response = client.get("/custom_login") assert b"

Login

" in response.data > response = authenticate(client, endpoint="/custom_login") tests/test_configuration.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _____________________ test_confirmable_flag[cl-sqlalchemy] _____________________ app = , clients = > get_message = .fn at 0xffffff881b32e0> @pytest.mark.registerable() def test_confirmable_flag(app, clients, get_message): recorded_confirms = [] recorded_instructions_sent = [] @user_confirmed.connect_via(app) def on_confirmed(app, user): assert isinstance(app, Flask) assert isinstance(user, UserMixin) recorded_confirms.append(user) @confirm_instructions_sent.connect_via(app) def on_instructions_sent(app, **kwargs): assert isinstance(app, Flask) assert isinstance(kwargs["user"], UserMixin) assert isinstance(kwargs["token"], str) assert isinstance(kwargs["confirmation_token"], str) recorded_instructions_sent.append(kwargs["user"]) # Test login before confirmation email = "dude@lp.com" with capture_registrations() as registrations: data = dict(email=email, password="awesome sunset", next="") > response = clients.post("/register", data=data) tests/test_confirmable.py:53: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/views.py:275: in register if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ConfirmRegisterForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError __________________________ test_confirmable_flag[c2] ___________________________ app = , clients = > get_message = .fn at 0xffffff87e59f80> @pytest.mark.registerable() def test_confirmable_flag(app, clients, get_message): recorded_confirms = [] recorded_instructions_sent = [] @user_confirmed.connect_via(app) def on_confirmed(app, user): assert isinstance(app, Flask) assert isinstance(user, UserMixin) recorded_confirms.append(user) @confirm_instructions_sent.connect_via(app) def on_instructions_sent(app, **kwargs): assert isinstance(app, Flask) assert isinstance(kwargs["user"], UserMixin) assert isinstance(kwargs["token"], str) assert isinstance(kwargs["confirmation_token"], str) recorded_instructions_sent.append(kwargs["user"]) # Test login before confirmation email = "dude@lp.com" with capture_registrations() as registrations: data = dict(email=email, password="awesome sunset", next="") > response = clients.post("/register", data=data) tests/test_confirmable.py:53: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/views.py:275: in register if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ConfirmRegisterForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _______________________ test_confirmable_flag[cl-peewee] _______________________ app = , clients = > get_message = .fn at 0xffffff88c01f80> @pytest.mark.registerable() def test_confirmable_flag(app, clients, get_message): recorded_confirms = [] recorded_instructions_sent = [] @user_confirmed.connect_via(app) def on_confirmed(app, user): assert isinstance(app, Flask) assert isinstance(user, UserMixin) recorded_confirms.append(user) @confirm_instructions_sent.connect_via(app) def on_instructions_sent(app, **kwargs): assert isinstance(app, Flask) assert isinstance(kwargs["user"], UserMixin) assert isinstance(kwargs["token"], str) assert isinstance(kwargs["confirmation_token"], str) recorded_instructions_sent.append(kwargs["user"]) # Test login before confirmation email = "dude@lp.com" with capture_registrations() as registrations: data = dict(email=email, password="awesome sunset", next="") > response = clients.post("/register", data=data) tests/test_confirmable.py:53: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/views.py:275: in register if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ConfirmRegisterForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError __________________________ test_confirmation_template __________________________ app = , client = > get_message = .fn at 0xffffff88cf93a0> @pytest.mark.registerable() def test_confirmation_template(app, client, get_message): # Check contents of email template - this uses a test template # in order to check all context vars since the default template # doesn't have all of them. recorded_tokens_sent = [] @confirm_instructions_sent.connect_via(app) def on_instructions_sent(app, **kwargs): recorded_tokens_sent.append(kwargs["confirmation_token"]) with capture_registrations() as registrations: with app.mail.record_messages() as outbox: data = dict(email="mary@lp.com", password="awesome sunset", next="") # Register - this will use the welcome template > client.post("/register", data=data, follow_redirects=True) tests/test_confirmable.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/views.py:275: in register if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ConfirmRegisterForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ___________ test_requires_confirmation_error_redirect[cl-sqlalchemy] ___________ app = , clients = > @pytest.mark.registerable() @pytest.mark.settings(requires_confirmation_error_view="/confirm") def test_requires_confirmation_error_redirect(app, clients): data = dict(email="jyl@lp.com", password="awesome sunset") > response = clients.post("/register", data=data) tests/test_confirmable.py:179: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/views.py:275: in register if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ConfirmRegisterForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ________________ test_requires_confirmation_error_redirect[c2] _________________ app = , clients = > @pytest.mark.registerable() @pytest.mark.settings(requires_confirmation_error_view="/confirm") def test_requires_confirmation_error_redirect(app, clients): data = dict(email="jyl@lp.com", password="awesome sunset") > response = clients.post("/register", data=data) tests/test_confirmable.py:179: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/views.py:275: in register if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ConfirmRegisterForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _____________ test_requires_confirmation_error_redirect[cl-peewee] _____________ app = , clients = > @pytest.mark.registerable() @pytest.mark.settings(requires_confirmation_error_view="/confirm") def test_requires_confirmation_error_redirect(app, clients): data = dict(email="jyl@lp.com", password="awesome sunset") > response = clients.post("/register", data=data) tests/test_confirmable.py:179: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/views.py:275: in register if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ConfirmRegisterForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _______________________ test_expired_confirmation_token ________________________ client = > get_message = .fn at 0xffffff87e5b6a0> @pytest.mark.registerable() @pytest.mark.settings(confirm_email_within="1 milliseconds") def test_expired_confirmation_token(client, get_message): with capture_registrations() as registrations: data = dict(email="mary@lp.com", password="awesome sunset", next="") > client.post("/register", data=data, follow_redirects=True) tests/test_confirmable.py:191: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/views.py:275: in register if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ConfirmRegisterForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError __________________ test_email_conflict_for_confirmation_token __________________ app = , client = > get_message = .fn at 0xffffff87ef5e40> sqlalchemy_datastore = @pytest.mark.registerable() def test_email_conflict_for_confirmation_token( app, client, get_message, sqlalchemy_datastore ): with capture_registrations() as registrations: data = dict(email="mary@lp.com", password="awesome sunset", next="") > client.post("/register", data=data, follow_redirects=True) tests/test_confirmable.py:209: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/views.py:275: in register if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ConfirmRegisterForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _________________________ test_login_when_unconfirmed __________________________ client = > get_message = .fn at 0xffffff8954bb00> @pytest.mark.registerable() @pytest.mark.settings(login_without_confirmation=True) def test_login_when_unconfirmed(client, get_message): data = dict(email="mary@lp.com", password="awesome sunset", next="") > response = client.post("/register", data=data, follow_redirects=True) tests/test_confirmable.py:229: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/views.py:275: in register if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ConfirmRegisterForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ______________________________ test_no_auth_token ______________________________ client_nc = > @pytest.mark.registerable() def test_no_auth_token(client_nc): """Make sure that register doesn't return Authentication Token if user isn't confirmed. """ > response = client_nc.post( "/register?include_auth_token", json=dict(email="dude@lp.com", password="awesome sunset"), headers={"Content-Type": "application/json"}, ) tests/test_confirmable.py:238: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/views.py:275: in register if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ConfirmRegisterForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _________________________ test_auth_token_unconfirmed __________________________ client_nc = > @pytest.mark.registerable() @pytest.mark.settings(login_without_confirmation=True) def test_auth_token_unconfirmed(client_nc): """Make sure that register returns Authentication Token if user isn't confirmed, but the 'login_without_confirmation' flag is set. """ > response = client_nc.post( "/register?include_auth_token", json=dict(email="dude@lp.com", password="awesome sunset"), headers={"Content-Type": "application/json"}, ) tests/test_confirmable.py:254: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/views.py:275: in register if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ConfirmRegisterForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ___________ test_confirmation_different_user_when_logged_in_no_auto ____________ client = > get_message = .fn at 0xffffff893e4fe0> @pytest.mark.registerable() @pytest.mark.settings(login_without_confirmation=True, auto_login_after_confirm=False) def test_confirmation_different_user_when_logged_in_no_auto(client, get_message): """Default - AUTO_LOGIN == false so shouldn't log in second user.""" e1 = "dude@lp.com" e2 = "lady@lp.com" with capture_registrations() as registrations: for e in e1, e2: data = dict(email=e, password="awesome sunset", next="") > client.post("/register", data=data) tests/test_confirmable.py:276: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/views.py:275: in register if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ConfirmRegisterForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _______________ test_confirmation_different_user_when_logged_in ________________ client = > get_message = .fn at 0xffffff87d94fe0> @pytest.mark.registerable() @pytest.mark.settings(login_without_confirmation=True) def test_confirmation_different_user_when_logged_in(client, get_message): e1 = "dude@lp.com" e2 = "lady@lp.com" with capture_registrations() as registrations: for e in e1, e2: data = dict(email=e, password="awesome sunset", next="") > client.post("/register", data=data) tests/test_confirmable.py:304: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/views.py:275: in register if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ConfirmRegisterForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ____________ test_cannot_reset_password_when_email_is_not_confirmed ____________ client = > get_message = .fn at 0xffffff88fe8c20> @pytest.mark.registerable() @pytest.mark.settings(recoverable=True) def test_cannot_reset_password_when_email_is_not_confirmed(client, get_message): email = "dude@lp.com" data = dict(email=email, password="awesome sunset", next="") > response = client.post("/register", data=data, follow_redirects=True) tests/test_confirmable.py:325: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/views.py:275: in register if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ConfirmRegisterForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ____________________________ test_confirm_redirect _____________________________ client = > get_message = .fn at 0xffffff88948360> @pytest.mark.registerable() @pytest.mark.settings(auto_login_after_confirm=False) def test_confirm_redirect(client, get_message): with capture_registrations() as registrations: data = dict(email="jane@lp.com", password="awesome sunset", next="") > client.post("/register", data=data, follow_redirects=True) tests/test_confirmable.py:336: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/views.py:275: in register if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ConfirmRegisterForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ____________________ test_confirm_redirect_to_post_confirm _____________________ client = > get_message = .fn at 0xffffff889be0c0> @pytest.mark.registerable() @pytest.mark.settings(post_confirm_view="/post_confirm") def test_confirm_redirect_to_post_confirm(client, get_message): with capture_registrations() as registrations: data = dict(email="john@lp.com", password="awesome sunset", next="") > client.post("/register", data=data, follow_redirects=True) tests/test_confirmable.py:353: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/views.py:275: in register if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ConfirmRegisterForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _________________________________ test_spa_get _________________________________ app = , client = > @pytest.mark.registerable() @pytest.mark.settings( redirect_host="localhost:8081", redirect_behavior="spa", post_confirm_view="/confirm-redirect", ) def test_spa_get(app, client): """ Test 'single-page-application' style redirects This uses json only. """ with capture_flashes() as flashes: with capture_registrations() as registrations: > response = client.post( "/register", json=dict(email="dude@lp.com", password="awesome sunset"), headers={"Content-Type": "application/json"}, ) tests/test_confirmable.py:374: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/views.py:275: in register if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ConfirmRegisterForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ____________________________ test_spa_get_bad_token ____________________________ app = , client = > get_message = .fn at 0xffffff892484a0> @pytest.mark.registerable() @pytest.mark.settings( confirm_email_within="1 milliseconds", redirect_host="localhost:8081", redirect_behavior="spa", confirm_error_view="/confirm-error", ) def test_spa_get_bad_token(app, client, get_message): """Test expired and invalid token""" with capture_flashes() as flashes: with capture_registrations() as registrations: > response = client.post( "/register", json=dict(email="dude@lp.com", password="awesome sunset"), headers={"Content-Type": "application/json"}, ) tests/test_confirmable.py:405: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/views.py:275: in register if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ConfirmRegisterForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ___________________________ test_email_not_identity ____________________________ app = sqlalchemy_datastore = get_message = .fn at 0xffffff87d97b00> @pytest.mark.registerable() @pytest.mark.settings( user_identity_attributes=[{"username": {"mapper": lambda x: x}}], ) def test_email_not_identity(app, sqlalchemy_datastore, get_message): # Test that can register/confirm with email even if it isn't an IDENTITY_ATTRIBUTE from flask_security import ConfirmRegisterForm, Security, unique_identity_attribute from wtforms import StringField, validators class MyRegisterForm(ConfirmRegisterForm): username = StringField( "Username", validators=[validators.data_required(), unique_identity_attribute], ) app.config["SECURITY_CONFIRM_REGISTER_FORM"] = MyRegisterForm security = Security(datastore=sqlalchemy_datastore) security.init_app(app) client = app.test_client() with capture_registrations() as registrations: data = dict(email="mary2@lp.com", username="mary", password="awesome sunset") > response = client.post("/register", data=data, follow_redirects=True) tests/test_confirmable.py:519: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/views.py:275: in register if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = .MyRegisterForm object at 0xffffff88eb4d50> extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ConfirmRegisterForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ___________________________ test_context_processors ____________________________ client = >, app = @pytest.mark.recoverable() @pytest.mark.registerable() @pytest.mark.confirmable() @pytest.mark.changeable() @pytest.mark.settings( login_without_confirmation=True, change_password_template="custom_security/change_password.html", login_user_template="custom_security/login_user.html", reset_password_template="custom_security/reset_password.html", forgot_password_template="custom_security/forgot_password.html", send_confirmation_template="custom_security/send_confirmation.html", register_user_template="custom_security/register_user.html", verify_template="custom_security/verify.html", ) def test_context_processors(client, app): @app.security.context_processor def default_ctx_processor(): return {"global": "global"} @app.security.forgot_password_context_processor def forgot_password(): return {"foo": "bar-forgot"} response = client.get("/reset") assert b"global" in response.data assert b"bar-forgot" in response.data @app.security.login_context_processor def login(): return {"foo": "bar-login"} response = client.get("/login") assert b"global" in response.data assert b"bar-login" in response.data @app.security.verify_context_processor def verify(): return {"foo": "bar-verify"} > authenticate(client) tests/test_context_processors.py:53: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _______________________________ test_login_csrf ________________________________ app = , client = > def test_login_csrf(app, client): app.config["WTF_CSRF_ENABLED"] = True # This shouldn't log in - but return login form with csrf token. data = dict(email="matt@lp.com", password="password", remember="y") > response = client.post("/login", data=data) tests/test_csrf.py:108: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ____________________________ test_login_csrf_double ____________________________ app = , client = > def test_login_csrf_double(app, client): # Test if POST login while already logged in - just redirects to POST_LOGIN app.config["WTF_CSRF_ENABLED"] = True # This shouldn't log in - but return login form with csrf token. data = dict(email="matt@lp.com", password="password", remember="y") > response = client.post("/login", data=data) tests/test_csrf.py:128: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _____________________________ test_login_csrf_json _____________________________ app = , client = > def test_login_csrf_json(app, client): app.config["WTF_CSRF_ENABLED"] = True with mp_validate_csrf() as mp: > auth_token, csrf_token = json_login(client) tests/test_csrf.py:149: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_csrf.py:85: in json_login response = client.post( /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _________________________ test_login_csrf_json_header __________________________ app = , client = > def test_login_csrf_json_header(app, client): app.config["WTF_CSRF_ENABLED"] = True CSRFProtect(app) with mp_validate_csrf() as mp: > auth_token, csrf_token = json_login(client, use_header=True) tests/test_csrf.py:165: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_csrf.py:85: in json_login response = client.post( /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:449: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError __________________________ test_login_csrf_unauth_ok ___________________________ app = , client = > @pytest.mark.settings(csrf_ignore_unauth_endpoints=True) def test_login_csrf_unauth_ok(app, client): app.config["WTF_CSRF_ENABLED"] = True with mp_validate_csrf() as mp: # This should log in. data = dict(email="matt@lp.com", password="password", remember="y") > response = client.post("/login", data=data, follow_redirects=True) tests/test_csrf.py:179: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ________________________ test_login_csrf_unauth_double _________________________ app = , client = > get_message = .fn at 0xffffff87deeac0> @pytest.mark.settings(csrf_ignore_unauth_endpoints=True) def test_login_csrf_unauth_double(app, client, get_message): # Test double login w/o CSRF returns unauth required error message. app.config["WTF_CSRF_ENABLED"] = True # This should log in. data = dict(email="matt@lp.com", password="password", remember="y") > response = client.post("/login", data=data, follow_redirects=True) tests/test_csrf.py:193: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError __________________________________ test_reset __________________________________ app = , client = > @pytest.mark.recoverable() def test_reset(app, client): """Test that form-based CSRF works for /reset""" app.config["WTF_CSRF_ENABLED"] = True with mp_validate_csrf() as mp: data = dict(email="matt@lp.com") # should fail - no CSRF token > response = client.post("/reset", content_type="application/json", json=data) tests/test_csrf.py:213: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:484: in forgot_password if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ForgotPasswordForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ________________________________ test_cp_reset _________________________________ app = , client = > @pytest.mark.recoverable() def test_cp_reset(app, client): """Test that header based CSRF works for /reset when using WTF_CSRF_CHECK_DEFAULT=False. """ app.config["WTF_CSRF_ENABLED"] = True app.config["WTF_CSRF_CHECK_DEFAULT"] = False CSRFProtect(app) with mp_validate_csrf() as mp: data = dict(email="matt@lp.com") # should fail - no CSRF token > response = client.post("/reset", content_type="application/json", json=data) tests/test_csrf.py:234: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/decorators.py:449: in decorated return fn(*args, **kwargs) flask_security/views.py:484: in forgot_password if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ForgotPasswordForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ______________________________ test_cp_with_token ______________________________ app = , client = > @pytest.mark.changeable() def test_cp_with_token(app, client): # Make sure can use returned CSRF-Token in Header. app.config["WTF_CSRF_ENABLED"] = True CSRFProtect(app) > auth_token, csrf_token = json_login(client, use_header=True) tests/test_csrf.py:256: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_csrf.py:85: in json_login response = client.post( /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:449: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError __________________________ test_different_mechanisms ___________________________ app = , client = > @pytest.mark.changeable() @pytest.mark.settings(CSRF_PROTECT_MECHANISMS=["basic", "session"]) def test_different_mechanisms(app, client): # Verify that using token doesn't require CSRF, but sessions do app.config["WTF_CSRF_ENABLED"] = True app.config["WTF_CSRF_CHECK_DEFAULT"] = False CSRFProtect(app) with mp_validate_csrf() as mp: > auth_token, csrf_token = json_login(client) tests/test_csrf.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_csrf.py:85: in json_login response = client.post( /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:449: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _________________________ test_different_mechanisms_nc _________________________ app = client_nc = > @pytest.mark.changeable() @pytest.mark.settings( CSRF_PROTECT_MECHANISMS=["basic", "session"], csrf_ignore_unauth_endpoints=True ) def test_different_mechanisms_nc(app, client_nc): # Verify that using token and no session cookie works # Note that we had to disable unauth_endpoints since you can't log in # w/ CSRF if you don't send in the session cookie. app.config["WTF_CSRF_ENABLED"] = True app.config["WTF_CSRF_CHECK_DEFAULT"] = False CSRFProtect(app) with mp_validate_csrf() as mp: > auth_token, csrf_token = json_login(client_nc) tests/test_csrf.py:382: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_csrf.py:85: in json_login response = client.post( /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:449: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _______________________________ test_csrf_cookie _______________________________ app = , client = > @pytest.mark.settings(csrf_ignore_unauth_endpoints=True, CSRF_COOKIE_NAME="XSRF-Token") def test_csrf_cookie(app, client): app.config["WTF_CSRF_ENABLED"] = True app.config["WTF_CSRF_CHECK_DEFAULT"] = False CSRFProtect(app) > json_login(client) tests/test_csrf.py:408: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_csrf.py:85: in json_login response = client.post( /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:449: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError __________________________ test_cp_with_token_cookie ___________________________ app = , client = > @pytest.mark.settings(CSRF_COOKIE={"key": "XSRF-Token"}) @pytest.mark.changeable() def test_cp_with_token_cookie(app, client): # Make sure can use returned CSRF-Token cookie in Header when changing password. app.config["WTF_CSRF_ENABLED"] = True CSRFProtect(app) > json_login(client, use_header=True) tests/test_csrf.py:431: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_csrf.py:85: in json_login response = client.post( /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:449: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _______________________ test_cp_with_token_cookie_expire _______________________ app = , client = > @pytest.mark.settings(CSRF_COOKIE_NAME="XSRF-Token", csrf_ignore_unauth_endpoints=True) @pytest.mark.changeable() def test_cp_with_token_cookie_expire(app, client): # Make sure that we get a new Csrf-Token cookie if expired. app.config["WTF_CSRF_ENABLED"] = True app.config["WTF_CSRF_TIME_LIMIT"] = 1 app.config["WTF_CSRF_CHECK_DEFAULT"] = False CSRFProtect(app) > json_login(client, use_header=True) tests/test_csrf.py:462: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_csrf.py:85: in json_login response = client.post( /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:449: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ______________________ test_cp_with_token_cookie_refresh _______________________ app = , client = > @pytest.mark.settings( CSRF_COOKIE_NAME="XSRF-Token", CSRF_COOKIE_REFRESH_EACH_REQUEST=True ) @pytest.mark.changeable() def test_cp_with_token_cookie_refresh(app, client): # Test CSRF_COOKIE_REFRESH_EACH_REQUEST app.config["WTF_CSRF_ENABLED"] = True CSRFProtect(app) > json_login(client, use_header=True) tests/test_csrf.py:502: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_csrf.py:85: in json_login response = client.post( /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:449: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _______________________ test_remember_login_csrf_cookie ________________________ app = , client = > @pytest.mark.settings(CSRF_COOKIE_NAME="XSRF-Token") @pytest.mark.changeable() def test_remember_login_csrf_cookie(app, client): # Test csrf cookie upon resuming a remember session app.config["WTF_CSRF_ENABLED"] = True CSRFProtect(app) # Login with remember_token generation > json_login(client, use_header=True, remember=True) tests/test_csrf.py:546: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_csrf.py:85: in json_login response = client.post( /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:449: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ________________________ test_login_with_bcrypt_enabled ________________________ app = sqlalchemy_datastore = def test_login_with_bcrypt_enabled(app, sqlalchemy_datastore): init_app_with_options( app, sqlalchemy_datastore, **{ "SECURITY_PASSWORD_HASH": "bcrypt", "SECURITY_PASSWORD_SALT": "salty", "SECURITY_PASSWORD_SINGLE_HASH": False, } ) > response = authenticate(app.test_client(), follow_redirects=True) tests/test_hashing.py:112: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ______________________________ test_my_mail_util _______________________________ app = sqlalchemy_datastore = @pytest.mark.recoverable() def test_my_mail_util(app, sqlalchemy_datastore): from flask_security import MailUtil class MyMailUtil(MailUtil): def send_mail( self, template, subject, recipient, sender, body, html, user, **kwargs ): assert template == "reset_instructions" assert subject == app.config["SECURITY_EMAIL_SUBJECT_PASSWORD_RESET"] assert recipient == "matt@lp.com" assert user.email == "matt@lp.com" assert sender == "no-reply@localhost" assert isinstance(sender, str) init_app_with_options( app, sqlalchemy_datastore, **{"security_args": {"mail_util_cls": MyMailUtil}} ) client = app.test_client() > client.post("/reset", data=dict(email="matt@lp.com")) tests/test_misc.py:92: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:484: in forgot_password if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ForgotPasswordForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ___________________________ test_basic_custom_forms ____________________________ app = sqlalchemy_datastore = @pytest.mark.registerable() @pytest.mark.recoverable() @pytest.mark.changeable() def test_basic_custom_forms(app, sqlalchemy_datastore): class MyLoginForm(LoginForm): email = EmailField("My Login Email Address Field") class MyRegisterForm(RegisterForm): email = EmailField("My Register Email Address Field") class MyForgotPasswordForm(ForgotPasswordForm): email = EmailField( "My Forgot Email Address Field", validators=[email_required, email_validator, valid_user_email], ) class MyResetPasswordForm(ResetPasswordForm): password = StringField("My Reset Password Field") class MyChangePasswordForm(ChangePasswordForm): password = PasswordField("My Change Password Field") app.security = Security( app, datastore=sqlalchemy_datastore, login_form=MyLoginForm, register_form=MyRegisterForm, forgot_password_form=MyForgotPasswordForm, reset_password_form=MyResetPasswordForm, change_password_form=MyChangePasswordForm, ) populate_data(app) client = app.test_client() response = client.get("/login") assert b"My Login Email Address Field" in response.data response = client.get("/register") assert b"My Register Email Address Field" in response.data response = client.get("/reset") assert b"My Forgot Email Address Field" in response.data with capture_reset_password_requests() as requests: > response = client.post("/reset", data=dict(email="matt@lp.com")) tests/test_misc.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:484: in forgot_password if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = .MyForgotPasswordForm object at 0xffffff8810a5d0> extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ForgotPasswordForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _____________________ test_logout_methods[logout_methods0] _____________________ app = sqlalchemy_datastore = logout_methods = ['GET', 'POST'] @pytest.mark.parametrize("logout_methods", (["GET", "POST"], ["GET"], ["POST"])) def test_logout_methods(app, sqlalchemy_datastore, logout_methods): init_app_with_options( app, sqlalchemy_datastore, **{"SECURITY_LOGOUT_METHODS": logout_methods} ) client = app.test_client() > authenticate(client) tests/test_misc.py:213: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _____________________ test_logout_methods[logout_methods1] _____________________ app = sqlalchemy_datastore = logout_methods = ['GET'] @pytest.mark.parametrize("logout_methods", (["GET", "POST"], ["GET"], ["POST"])) def test_logout_methods(app, sqlalchemy_datastore, logout_methods): init_app_with_options( app, sqlalchemy_datastore, **{"SECURITY_LOGOUT_METHODS": logout_methods} ) client = app.test_client() > authenticate(client) tests/test_misc.py:213: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _____________________ test_logout_methods[logout_methods2] _____________________ app = sqlalchemy_datastore = logout_methods = ['POST'] @pytest.mark.parametrize("logout_methods", (["GET", "POST"], ["GET"], ["POST"])) def test_logout_methods(app, sqlalchemy_datastore, logout_methods): init_app_with_options( app, sqlalchemy_datastore, **{"SECURITY_LOGOUT_METHODS": logout_methods} ) client = app.test_client() > authenticate(client) tests/test_misc.py:213: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ___________________________ test_logout_methods_none ___________________________ app = sqlalchemy_datastore = def test_logout_methods_none(app, sqlalchemy_datastore): init_app_with_options( app, sqlalchemy_datastore, **{"SECURITY_LOGOUT_METHODS": None} ) client = app.test_client() > authenticate(client) tests/test_misc.py:241: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ____________________________ test_change_hash_type _____________________________ app = sqlalchemy_datastore = def test_change_hash_type(app, sqlalchemy_datastore): init_app_with_options( app, sqlalchemy_datastore, **{ "SECURITY_PASSWORD_HASH": "plaintext", "SECURITY_PASSWORD_SALT": None, "SECURITY_PASSWORD_SCHEMES": ["bcrypt", "plaintext"], } ) app.config["SECURITY_PASSWORD_HASH"] = "bcrypt" app.config["SECURITY_PASSWORD_SALT"] = "salty" app.security = Security( app, datastore=sqlalchemy_datastore, register_blueprint=False ) client = app.test_client() > response = client.post( "/login", data=dict(email="matt@lp.com", password="password") ) tests/test_misc.py:297: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _____________________ test_password_unicode_password_salt ______________________ client = > @pytest.mark.settings( password_salt="öööööööööööööööööööööööööööööööööö", password_hash="bcrypt" ) def test_password_unicode_password_salt(client): > response = authenticate(client) tests/test_misc.py:339: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ________________________ test_set_unauthorized_handler _________________________ app = , client = > def test_set_unauthorized_handler(app, client): @app.security.unauthorized_handler def unauthorized(): app.unauthorized_handler_set = True return "unauthorized-handler-set", 401 app.unauthorized_handler_set = False > authenticate(client, "joe@lp.com") tests/test_misc.py:353: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ______________________________ test_form_required ______________________________ app = sqlalchemy_datastore = def test_form_required(app, sqlalchemy_datastore): class MyLoginForm(LoginForm): myfield = StringField("My Custom Field", validators=[Required()]) app.config["SECURITY_LOGIN_FORM"] = MyLoginForm security = Security(datastore=sqlalchemy_datastore) security.init_app(app) client = app.test_client() > response = client.post("/login", content_type="application/json") tests/test_misc.py:395: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = .MyLoginForm object at 0xffffff879396d0> extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _______________________ test_form_required_local_message _______________________ app = sqlalchemy_datastore = def test_form_required_local_message(app, sqlalchemy_datastore): """Test having a local message (not xlatable and not part of MSG_ config.""" msg = "hi! did you forget me?" class MyLoginForm(LoginForm): myfield = StringField("My Custom Field", validators=[Required(message=msg)]) app.config["SECURITY_LOGIN_FORM"] = MyLoginForm security = Security(datastore=sqlalchemy_datastore) security.init_app(app) client = app.test_client() > response = client.post("/login", content_type="application/json") tests/test_misc.py:415: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = .MyLoginForm object at 0xffffff87ae5890> extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _________________________________ test_xlation _________________________________ app = , client = > @pytest.mark.babel() def test_xlation(app, client): app.config["BABEL_DEFAULT_LOCALE"] = "fr_FR" assert check_xlation(app, "fr_FR"), "You must run python setup.py compile_catalog" response = client.get("/login") assert b'' in response.data > response = authenticate(client) tests/test_misc.py:480: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ________________________________ test_myxlation ________________________________ app = sqlalchemy_datastore = pytestconfig = <_pytest.config.Config object at 0xffffff8ba940d0> @pytest.mark.babel() def test_myxlation(app, sqlalchemy_datastore, pytestconfig): # Test changing a single MSG and having an additional translation dir # Flask-BabelEx doesn't support lists of directories.. try: import flask_babelex # noqa: F401 pytest.skip("Flask-BabelEx doesn't support lists of translations") except ImportError: pass i18n_dirname = [ pkg_resources.resource_filename("flask_security", "translations"), os.path.join(pytestconfig.rootdir, "tests/translations"), ] init_app_with_options( app, sqlalchemy_datastore, **{"SECURITY_I18N_DIRNAME": i18n_dirname} ) app.config["BABEL_DEFAULT_LOCALE"] = "fr_FR" assert check_xlation(app, "fr_FR"), "You must run python setup.py compile_catalog" app.config["SECURITY_MSG_INVALID_PASSWORD"] = ("Password no-worky", "error") client = app.test_client() > response = client.post("/login", data=dict(email="matt@lp.com", password="forgot")) tests/test_misc.py:511: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _____________________________ test_wtform_xlation ______________________________ app = sqlalchemy_datastore = @pytest.mark.babel() def test_wtform_xlation(app, sqlalchemy_datastore): # Make sure wtform xlations work class MyLoginForm(LoginForm): fixed_length = StringField( "FixedLength", validators=[DataRequired(), Length(3, 3)] ) app.config["BABEL_DEFAULT_LOCALE"] = "fr_FR" app.security = Security() app.security.init_app(app, datastore=sqlalchemy_datastore, login_form=MyLoginForm) assert check_xlation(app, "fr_FR"), "You must run python setup.py compile_catalog" client = app.test_client() response = client.get("/login") assert b'' in response.data data = dict( email="matt@lp.com", password="", remember="y", fixed_length="waytoolong" ) > response = client.post( "/login", json=data, headers={"Content-Type": "application/json"} ) tests/test_misc.py:561: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = .MyLoginForm object at 0xffffff88154cd0> extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ____________________________ test_per_request_xlate ____________________________ app = , client = > @pytest.mark.changeable() @pytest.mark.babel() def test_per_request_xlate(app, client): from flask import request, session babel = app.extensions["babel"] @babel.localeselector def get_locale(): # For a given session - set lang based on first request. # Honor explicit url request first if "lang" not in session: locale = request.args.get("lang", None) if not locale: locale = request.accept_languages.best if locale: session["lang"] = locale return session.get("lang", None).replace("-", "_") response = client.get("/login", headers=[("Accept-Language", "fr")]) assert b'' in response.data # make sure template contents get xlated (not just form). assert b"

Connexion

" in response.data data = dict(email="matt@lp.com", password="", remember="y") > response = client.post("/login", data=data, headers=[("Accept-Language", "fr")]) tests/test_misc.py:598: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _______________________________ test_method_view _______________________________ app = , client = > def test_method_view(app, client): # auth_required with flask method view from flask.views import MethodView from flask import render_template_string class MyView(MethodView): decorators = [auth_required("token", "session")] def get(self): return render_template_string("Hi view") myview = MyView.as_view("myview") app.add_url_rule("/myview", view_func=myview, methods=["GET"]) response = client.get("/myview", follow_redirects=False) # should require login assert response.status_code == 302 assert "/login" in response.location > authenticate(client) tests/test_misc.py:764: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _____________________________ test_authn_freshness _____________________________ app = , client = > get_message = .fn at 0xffffff878f9940> def test_authn_freshness( app: "Flask", client: "FlaskClient", get_message: t.Callable[..., bytes] ) -> None: """Test freshness using default reauthn_handler""" @auth_required(within=30, grace=0) def myview(): return Response(status=200) @auth_required(within=0.001, grace=0) def myspecialview(): return Response(status=200) app.add_url_rule("/myview", view_func=myview, methods=["GET"]) app.add_url_rule("/myspecialview", view_func=myspecialview, methods=["GET"]) > authenticate(client) tests/test_misc.py:803: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _________________________ test_authn_freshness_handler _________________________ app = , client = > get_message = .fn at 0xffffff878fb600> def test_authn_freshness_handler(app, client, get_message): """Test with our own handler""" @app.security.reauthn_handler def my_reauthn(within, grace, headers=None): assert within == timedelta(minutes=30) or timedelta(minutes=0.001) if app.security._want_json(request): payload = json_error_response(errors="Oh No") return app.security._render_json(payload, 401, headers, None) abort(500) @auth_required(within=30, grace=0) def myview(): return Response(status=200) @auth_required(within=0.001, grace=0) def myspecialview(): return Response(status=200) app.add_url_rule("/myview", view_func=myview, methods=["GET"]) app.add_url_rule("/myspecialview", view_func=myspecialview, methods=["GET"]) > authenticate(client) tests/test_misc.py:851: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ________________________ test_authn_freshness_callable _________________________ app = , client = > get_message = .fn at 0xffffff8778f060> def test_authn_freshness_callable(app, client, get_message): @auth_required(within=lambda: timedelta(minutes=30)) def myview(): return Response(status=200) app.add_url_rule("/myview", view_func=myview, methods=["GET"]) > authenticate(client) tests/test_misc.py:874: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ____________________________ test_default_authn_bp _____________________________ app = , client = > @pytest.mark.settings(url_prefix="/myprefix") def test_default_authn_bp(app, client): """Test default reauthn handler with blueprint prefix""" @auth_required(within=0.001, grace=0) def myview(): return Response(status=200) app.add_url_rule("/myview", view_func=myview, methods=["GET"]) > authenticate(client, endpoint="/myprefix/login") tests/test_misc.py:890: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError __________________________ test_authn_freshness_grace __________________________ app = , client = > get_message = .fn at 0xffffff8759dbc0> def test_authn_freshness_grace(app, client, get_message): # Test that grace override within. @auth_required(within=lambda: timedelta(minutes=30), grace=10) def myview(): return Response(status=200) @auth_required(within=0.001, grace=lambda: timedelta(minutes=10)) def myspecialview(): return Response(status=200) app.add_url_rule("/myview", view_func=myview, methods=["GET"]) app.add_url_rule("/myspecialview", view_func=myspecialview, methods=["GET"]) > authenticate(client) tests/test_misc.py:911: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ___________________________ test_authn_freshness_nc ____________________________ app = client_nc = > get_message = .fn at 0xffffff878f9260> def test_authn_freshness_nc(app, client_nc, get_message): # If don't send session cookie - then freshness always fails @auth_required(within=30) def myview(): return Response(status=200) app.add_url_rule("/myview", view_func=myview, methods=["GET"]) > response = json_authenticate(client_nc) tests/test_misc.py:931: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:47: in json_authenticate return client.post(ep, content_type="application/json", data=data) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ______________________________ test_verify_fresh _______________________________ app = , client = > get_message = .fn at 0xffffff8813ccc0> def test_verify_fresh(app, client, get_message): # Hit a fresh-required endpoint and walk through verify > authenticate(client) tests/test_misc.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ____________________________ test_verify_fresh_json ____________________________ app = , client = > get_message = .fn at 0xffffff881b1440> def test_verify_fresh_json(app, client, get_message): # Hit a fresh-required endpoint and walk through verify > authenticate(client) tests/test_misc.py:978: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _____________________________ test_verify_pwd_json _____________________________ app = , client = > get_message = .fn at 0xffffff87d97380> @pytest.mark.changeable() def test_verify_pwd_json(app, client, get_message): # Make sure verify accepts a normalized and original password. > authenticate(client) tests/test_misc.py:1005: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _______________________________ test_verify_next _______________________________ app = , client = > get_message = .fn at 0xffffff8778e340> @pytest.mark.settings(verify_url="/auth/") def test_verify_next(app, client, get_message): > authenticate(client) tests/test_misc.py:1036: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ____________________________ test_direct_decorator _____________________________ app = , client = > get_message = .fn at 0xffffff87799e40> def test_direct_decorator(app, client, get_message): """Test/show calling the auth_required decorator directly""" headers = {"Accept": "application/json", "Content-Type": "application/json"} def myview(): return roles_required("author")(domyview)() def domyview(): return Response(status=200) app.add_url_rule("/myview", view_func=myview, methods=["GET"]) > authenticate(client) tests/test_misc.py:1065: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ________________________________ test_authn_via ________________________________ app = , client = > get_message = .fn at 0xffffff876f8360> def test_authn_via(app, client, get_message): """Test that we get correct fs_authn_via set in request""" @auth_required(within=30, grace=0) def myview(): assert get_request_attr("fs_authn_via") == "session" return Response(status=200) app.add_url_rule("/myview", view_func=myview, methods=["GET"]) > authenticate(client) tests/test_misc.py:1085: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ___________________ test_post_security_with_application_root ___________________ app = sqlalchemy_datastore = def test_post_security_with_application_root(app, sqlalchemy_datastore): init_app_with_options(app, sqlalchemy_datastore, **{"APPLICATION_ROOT": "/root"}) client = app.test_client() > response = client.post( "/login", data=dict(email="matt@lp.com", password="password") ) tests/test_misc.py:1096: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ______________ test_post_security_with_application_root_and_views ______________ app = sqlalchemy_datastore = def test_post_security_with_application_root_and_views(app, sqlalchemy_datastore): init_app_with_options( app, sqlalchemy_datastore, **{ "APPLICATION_ROOT": "/root", "SECURITY_POST_LOGIN_VIEW": "/post_login", "SECURITY_POST_LOGOUT_VIEW": "/post_logout", } ) client = app.test_client() > response = client.post( "/login", data=dict(email="matt@lp.com", password="password") ) tests/test_misc.py:1119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ____________________________ test_passwordless_flag ____________________________ app = , client = > get_message = .fn at 0xffffff87e5a8e0> def test_passwordless_flag(app, client, get_message): recorded = [] @login_instructions_sent.connect_via(app) def on_instructions_sent(app, user, login_token): assert isinstance(app, Flask) assert isinstance(user, UserMixin) assert isinstance(login_token, str) recorded.append(user) # Test disabled account > response = client.post( "/login", data=dict(email="tiya@lp.com"), follow_redirects=True ) tests/test_passwordless.py:37: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:317: in send_login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: PasswordlessLoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError __________________________ test_passwordless_template __________________________ app = , client = > get_message = .fn at 0xffffff87925620> def test_passwordless_template(app, client, get_message): # Check contents of email template - this uses a test template # in order to check all context vars since the default template # doesn't have all of them. with capture_passwordless_login_requests() as requests: with app.mail.record_messages() as outbox: > client.post("/login", data=dict(email="joe@lp.com"), follow_redirects=True) tests/test_passwordless.py:98: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:317: in send_login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: PasswordlessLoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ___________________________ test_expired_login_token ___________________________ client = >, app = get_message = .fn at 0xffffff8774f7e0> @pytest.mark.settings(login_within="1 milliseconds") def test_expired_login_token(client, app, get_message): e = "matt@lp.com" with capture_passwordless_login_requests() as requests: > client.post("/login", data=dict(email=e), follow_redirects=True) tests/test_passwordless.py:117: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:317: in send_login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: PasswordlessLoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _________________________________ test_spa_get _________________________________ app = , client = > @pytest.mark.settings( redirect_host="localhost:8081", redirect_behavior="spa", post_login_view="/login-redirect", ) def test_spa_get(app, client): """ Test 'single-page-application' style redirects This uses json only. """ with capture_flashes() as flashes: with capture_passwordless_login_requests() as requests: > response = client.post( "/login", json=dict(email="matt@lp.com"), headers={"Content-Type": "application/json"}, ) tests/test_passwordless.py:143: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:317: in send_login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: PasswordlessLoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ____________________________ test_spa_get_bad_token ____________________________ app = , client = > get_message = .fn at 0xffffff877bd580> @pytest.mark.settings( login_within="1 milliseconds", redirect_host="localhost:8081", redirect_behavior="spa", login_error_view="/login-error", ) def test_spa_get_bad_token(app, client, get_message): """Test expired and invalid token""" with capture_flashes() as flashes: with capture_passwordless_login_requests() as requests: > response = client.post( "/login", json=dict(email="matt@lp.com"), headers={"Content-Type": "application/json"}, ) tests/test_passwordless.py:171: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:317: in send_login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: PasswordlessLoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _____________________ test_recoverable_flag[cl-sqlalchemy] _____________________ app = , clients = > get_message = .fn at 0xffffff8813e660> def test_recoverable_flag(app, clients, get_message): recorded_resets = [] recorded_instructions_sent = [] @password_reset.connect_via(app) def on_password_reset(app, user): recorded_resets.append(user) @reset_password_instructions_sent.connect_via(app) def on_instructions_sent(app, **kwargs): assert isinstance(app, Flask) assert isinstance(kwargs["user"], UserMixin) assert isinstance(kwargs["token"], str) recorded_instructions_sent.append(kwargs["user"]) # Test the reset view response = clients.get("/reset") assert b"

Send password reset instructions

" in response.data assert re.search(b']*type="email"[^>]*>', response.data) # Test submitting email to reset password creates a token and sends email with capture_reset_password_requests() as requests: with app.mail.record_messages() as outbox: > response = clients.post( "/reset", data=dict(email="joe@lp.com"), follow_redirects=True ) tests/test_recoverable.py:51: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:484: in forgot_password if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ForgotPasswordForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError __________________________ test_recoverable_flag[c2] ___________________________ app = , clients = > get_message = .fn at 0xffffff87405b20> def test_recoverable_flag(app, clients, get_message): recorded_resets = [] recorded_instructions_sent = [] @password_reset.connect_via(app) def on_password_reset(app, user): recorded_resets.append(user) @reset_password_instructions_sent.connect_via(app) def on_instructions_sent(app, **kwargs): assert isinstance(app, Flask) assert isinstance(kwargs["user"], UserMixin) assert isinstance(kwargs["token"], str) recorded_instructions_sent.append(kwargs["user"]) # Test the reset view response = clients.get("/reset") assert b"

Send password reset instructions

" in response.data assert re.search(b']*type="email"[^>]*>', response.data) # Test submitting email to reset password creates a token and sends email with capture_reset_password_requests() as requests: with app.mail.record_messages() as outbox: > response = clients.post( "/reset", data=dict(email="joe@lp.com"), follow_redirects=True ) tests/test_recoverable.py:51: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:484: in forgot_password if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ForgotPasswordForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _______________________ test_recoverable_flag[cl-peewee] _______________________ app = , clients = > get_message = .fn at 0xffffff879262a0> def test_recoverable_flag(app, clients, get_message): recorded_resets = [] recorded_instructions_sent = [] @password_reset.connect_via(app) def on_password_reset(app, user): recorded_resets.append(user) @reset_password_instructions_sent.connect_via(app) def on_instructions_sent(app, **kwargs): assert isinstance(app, Flask) assert isinstance(kwargs["user"], UserMixin) assert isinstance(kwargs["token"], str) recorded_instructions_sent.append(kwargs["user"]) # Test the reset view response = clients.get("/reset") assert b"

Send password reset instructions

" in response.data assert re.search(b']*type="email"[^>]*>', response.data) # Test submitting email to reset password creates a token and sends email with capture_reset_password_requests() as requests: with app.mail.record_messages() as outbox: > response = clients.post( "/reset", data=dict(email="joe@lp.com"), follow_redirects=True ) tests/test_recoverable.py:51: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:484: in forgot_password if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ForgotPasswordForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ___________ test_requires_confirmation_error_redirect[cl-sqlalchemy] ___________ app = , clients = > @pytest.mark.confirmable() @pytest.mark.registerable() @pytest.mark.settings(requires_confirmation_error_view="/confirm") def test_requires_confirmation_error_redirect(app, clients): data = dict(email="jyl@lp.com", password="awesome sunset") > clients.post("/register", data=data) tests/test_recoverable.py:127: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/views.py:275: in register if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ConfirmRegisterForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ________________ test_requires_confirmation_error_redirect[c2] _________________ app = , clients = > @pytest.mark.confirmable() @pytest.mark.registerable() @pytest.mark.settings(requires_confirmation_error_view="/confirm") def test_requires_confirmation_error_redirect(app, clients): data = dict(email="jyl@lp.com", password="awesome sunset") > clients.post("/register", data=data) tests/test_recoverable.py:127: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/views.py:275: in register if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ConfirmRegisterForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _____________ test_requires_confirmation_error_redirect[cl-peewee] _____________ app = , clients = > @pytest.mark.confirmable() @pytest.mark.registerable() @pytest.mark.settings(requires_confirmation_error_view="/confirm") def test_requires_confirmation_error_redirect(app, clients): data = dict(email="jyl@lp.com", password="awesome sunset") > clients.post("/register", data=data) tests/test_recoverable.py:127: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/views.py:275: in register if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ConfirmRegisterForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ____________________________ test_recoverable_json _____________________________ app = , client = > get_message = .fn at 0xffffff88b0d120> @pytest.mark.settings() def test_recoverable_json(app, client, get_message): recorded_resets = [] recorded_instructions_sent = [] @password_reset.connect_via(app) def on_password_reset(app, user): recorded_resets.append(user) @reset_password_instructions_sent.connect_via(app) def on_instructions_sent(app, **kwargs): recorded_instructions_sent.append(kwargs["user"]) with capture_flashes() as flashes: # Test reset password creates a token and sends email with capture_reset_password_requests() as requests: with app.mail.record_messages() as outbox: > response = client.post( "/reset", json=dict(email="joe@lp.com"), headers={"Content-Type": "application/json"}, ) tests/test_recoverable.py:153: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:484: in forgot_password if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ForgotPasswordForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError __________________________ test_recoverable_template ___________________________ app = , client = > get_message = .fn at 0xffffff885e6200> def test_recoverable_template(app, client, get_message): # Check contents of email template - this uses a test template # in order to check all context vars since the default template # doesn't have all of them. with capture_reset_password_requests() as resets: with app.mail.record_messages() as outbox: > response = client.post( "/reset", data=dict(email="joe@lp.com"), follow_redirects=True ) tests/test_recoverable.py:242: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:484: in forgot_password if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ForgotPasswordForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _______________________ test_recover_invalidates_session _______________________ app = , client = > def test_recover_invalidates_session(app, client): # Make sure that if we reset our password - prior sessions are invalidated. other_client = app.test_client() > authenticate(other_client) tests/test_recoverable.py:262: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ___________________________ test_expired_reset_token ___________________________ client = > get_message = .fn at 0xffffff8772c720> @pytest.mark.settings(reset_password_within="1 milliseconds") def test_expired_reset_token(client, get_message): with capture_reset_password_requests() as requests: > client.post("/reset", data=dict(email="joe@lp.com"), follow_redirects=True) tests/test_recoverable.py:306: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:484: in forgot_password if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ForgotPasswordForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ________________________ test_reset_token_deleted_user _________________________ app = , client = > get_message = .fn at 0xffffff8772d1c0> sqlalchemy_datastore = def test_reset_token_deleted_user(app, client, get_message, sqlalchemy_datastore): with capture_reset_password_requests() as requests: > client.post("/reset", data=dict(email="gene@lp.com"), follow_redirects=True) tests/test_recoverable.py:362: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:484: in forgot_password if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ForgotPasswordForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ____________________________ test_used_reset_token _____________________________ client = > get_message = .fn at 0xffffff8774f1a0> def test_used_reset_token(client, get_message): with capture_reset_password_requests() as requests: > client.post("/reset", data=dict(email="joe@lp.com"), follow_redirects=True) tests/test_recoverable.py:385: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:484: in forgot_password if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ForgotPasswordForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _________________________ test_reset_passwordless_user _________________________ client = > get_message = .fn at 0xffffff8813d620> def test_reset_passwordless_user(client, get_message): with capture_reset_password_requests() as requests: > client.post("/reset", data=dict(email="jess@lp.com"), follow_redirects=True) tests/test_recoverable.py:413: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:484: in forgot_password if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ForgotPasswordForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _________________________ test_custom_reset_templates __________________________ client = > @pytest.mark.settings( reset_password_template="custom_security/reset_password.html", forgot_password_template="custom_security/forgot_password.html", ) def test_custom_reset_templates(client): response = client.get("/reset") assert b"CUSTOM FORGOT PASSWORD" in response.data with capture_reset_password_requests() as requests: > client.post("/reset", data=dict(email="joe@lp.com"), follow_redirects=True) tests/test_recoverable.py:442: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:484: in forgot_password if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ForgotPasswordForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _________________________________ test_spa_get _________________________________ app = , client = > @pytest.mark.settings( redirect_host="localhost:8081", redirect_behavior="spa", reset_view="/reset-redirect", ) def test_spa_get(app, client): """ Test 'single-page-application' style redirects This uses json only. """ with capture_reset_password_requests() as requests: > response = client.post( "/reset", json=dict(email="joe@lp.com"), headers={"Content-Type": "application/json"}, ) tests/test_recoverable.py:460: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:484: in forgot_password if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ForgotPasswordForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ____________________________ test_spa_get_bad_token ____________________________ app = , client = > get_message = .fn at 0xffffff8772f6a0> @pytest.mark.settings( reset_password_within="1 milliseconds", redirect_host="localhost:8081", redirect_behavior="spa", reset_error_view="/reset-error", ) def test_spa_get_bad_token(app, client, get_message): """Test expired and invalid token""" with capture_flashes() as flashes: with capture_reset_password_requests() as requests: > response = client.post( "/reset", json=dict(email="joe@lp.com"), headers={"Content-Type": "application/json"}, ) tests/test_recoverable.py:489: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:484: in forgot_password if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ForgotPasswordForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ______________________________ test_easy_password ______________________________ client = > get_message = .fn at 0xffffff885e53a0> @pytest.mark.settings(password_complexity_checker="zxcvbn") def test_easy_password(client, get_message): with capture_reset_password_requests() as requests: > client.post("/reset", data=dict(email="joe@lp.com"), follow_redirects=True) tests/test_recoverable.py:535: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:484: in forgot_password if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ForgotPasswordForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _____________________________ test_reset_inactive ______________________________ client = > get_message = .fn at 0xffffff88948cc0> def test_reset_inactive(client, get_message): > response = client.post( "/reset", data=dict(email="tiya@lp.com"), follow_redirects=True ) tests/test_recoverable.py:550: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:484: in forgot_password if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ForgotPasswordForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ___________________________ test_email_normalization ___________________________ client = > get_message = .fn at 0xffffff8772cd60> def test_email_normalization(client, get_message): > response = client.post( "/reset", data=dict(email="joe@LP.COM"), follow_redirects=True ) tests/test_recoverable.py:564: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:484: in forgot_password if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ForgotPasswordForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _________________________ test_password_normalization __________________________ app = , client = > get_message = .fn at 0xffffff87406840> def test_password_normalization(app, client, get_message): with capture_reset_password_requests() as requests: > response = client.post( "/reset", json=dict(email="matt@lp.com"), ) tests/test_recoverable.py:573: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:484: in forgot_password if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ForgotPasswordForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ____________________ test_registerable_flag[cl-sqlalchemy] _____________________ clients = >, app = get_message = .fn at 0xffffff878fa5c0> @pytest.mark.settings(post_register_view="/post_register") def test_registerable_flag(clients, app, get_message): recorded = [] # Test the register view response = clients.get("/register") assert b"

Register

" in response.data assert re.search(b']*type="email"[^>]*>', response.data) # Test registering is successful, sends email, and fires signal @user_registered.connect_via(app) def on_user_registered(app, **kwargs): assert isinstance(app, Flask) assert isinstance(kwargs["user"], UserMixin) assert kwargs["confirm_token"] is None assert len(kwargs["form_data"].keys()) > 0 recorded.append(kwargs["user"]) data = dict( email="dude@lp.com", password="battery staple", password_confirm="battery staple", next="", ) with app.mail.record_messages() as outbox: > response = clients.post("/register", data=data, follow_redirects=True) tests/test_registerable.py:55: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/views.py:275: in register if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: RegisterForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError __________________________ test_registerable_flag[c2] __________________________ clients = >, app = get_message = .fn at 0xffffff8778cae0> @pytest.mark.settings(post_register_view="/post_register") def test_registerable_flag(clients, app, get_message): recorded = [] # Test the register view response = clients.get("/register") assert b"

Register

" in response.data assert re.search(b']*type="email"[^>]*>', response.data) # Test registering is successful, sends email, and fires signal @user_registered.connect_via(app) def on_user_registered(app, **kwargs): assert isinstance(app, Flask) assert isinstance(kwargs["user"], UserMixin) assert kwargs["confirm_token"] is None assert len(kwargs["form_data"].keys()) > 0 recorded.append(kwargs["user"]) data = dict( email="dude@lp.com", password="battery staple", password_confirm="battery staple", next="", ) with app.mail.record_messages() as outbox: > response = clients.post("/register", data=data, follow_redirects=True) tests/test_registerable.py:55: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/views.py:275: in register if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: RegisterForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ______________________ test_registerable_flag[cl-peewee] _______________________ clients = >, app = get_message = .fn at 0xffffff88b0c180> @pytest.mark.settings(post_register_view="/post_register") def test_registerable_flag(clients, app, get_message): recorded = [] # Test the register view response = clients.get("/register") assert b"

Register

" in response.data assert re.search(b']*type="email"[^>]*>', response.data) # Test registering is successful, sends email, and fires signal @user_registered.connect_via(app) def on_user_registered(app, **kwargs): assert isinstance(app, Flask) assert isinstance(kwargs["user"], UserMixin) assert kwargs["confirm_token"] is None assert len(kwargs["form_data"].keys()) > 0 recorded.append(kwargs["user"]) data = dict( email="dude@lp.com", password="battery staple", password_confirm="battery staple", next="", ) with app.mail.record_messages() as outbox: > response = clients.post("/register", data=data, follow_redirects=True) tests/test_registerable.py:55: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/views.py:275: in register if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: RegisterForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _________________________________ test_xlation _________________________________ app = , client = > get_message_local = .fn at 0xffffff877bea20> @pytest.mark.confirmable() @pytest.mark.babel() def test_xlation(app, client, get_message_local): # Test form and email translation app.config["BABEL_DEFAULT_LOCALE"] = "fr_FR" assert check_xlation(app, "fr_FR"), "You must run python setup.py compile_catalog" response = client.get("/register", follow_redirects=True) with app.test_request_context(): # Check header assert f'

{localize_callback("Register")}

'.encode() in response.data submit = localize_callback(_default_field_labels["register"]) assert f'value="{submit}"'.encode() in response.data with app.mail.record_messages() as outbox: > response = client.post( "/register", data={ "email": "me@fr.com", "password": "new strong password", "password_confirm": "new strong password", }, follow_redirects=True, ) tests/test_registerable.py:133: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/views.py:275: in register if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ConfirmRegisterForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ____________________________ test_required_password ____________________________ client = > get_message = .fn at 0xffffff8772cd60> @pytest.mark.confirmable() def test_required_password(client, get_message): # when confirm required - should not require confirm_password - but should # require a password data = dict(email="trp@lp.com", password="") > response = client.post("/register", data=data, follow_redirects=True) tests/test_registerable.py:171: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/views.py:275: in register if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ConfirmRegisterForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ________________________ test_required_password_confirm ________________________ client = > get_message = .fn at 0xffffff878edb20> def test_required_password_confirm(client, get_message): > response = client.post( "/register", data={ "email": "trp@lp.com", "password": "password", "password_confirm": "notpassword", }, follow_redirects=True, ) tests/test_registerable.py:180: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/views.py:275: in register if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: RegisterForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ___________________________ test_custom_register_url ___________________________ client = > @pytest.mark.settings( register_url="/custom_register", post_register_view="/post_register" ) def test_custom_register_url(client): response = client.get("/custom_register") assert b"

Register

" in response.data data = dict( email="dude@lp.com", password="battery staple", password_confirm="battery staple", next="", ) > response = client.post("/custom_register", data=data, follow_redirects=True) tests/test_registerable.py:240: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/views.py:275: in register if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: RegisterForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _________________________ test_disable_register_emails _________________________ client = >, app = @pytest.mark.settings(send_register_email=False) def test_disable_register_emails(client, app): data = dict( email="dude@lp.com", password="password", password_confirm="password", next="" ) with app.mail.record_messages() as outbox: > client.post("/register", data=data, follow_redirects=True) tests/test_registerable.py:256: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/views.py:275: in register if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: RegisterForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ______________ test_form_data_is_passed_to_user_registered_signal ______________ app = sqlalchemy_datastore = def test_form_data_is_passed_to_user_registered_signal(app, sqlalchemy_datastore): class MyRegisterForm(RegisterForm): additional_field = StringField("additional_field") app.security = Security( app, datastore=sqlalchemy_datastore, register_form=MyRegisterForm ) recorded = [] @user_registered.connect_via(app) def on_user_registered(app, **kwargs): assert isinstance(app, Flask) assert isinstance(kwargs["user"], UserMixin) assert kwargs["confirm_token"] is None assert kwargs["confirmation_token"] is None assert kwargs["form_data"]["additional_field"] == "additional_data" recorded.append(kwargs["user"]) client = app.test_client() data = dict( email="dude@lp.com", password="password", password_confirm="password", additional_field="additional_data", ) > response = client.post("/register", data=data, follow_redirects=True) tests/test_registerable.py:322: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/views.py:275: in register if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = .MyRegisterForm object at 0xffffff8688e4d0> extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: RegisterForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ______________________________ test_easy_password ______________________________ app = sqlalchemy_datastore = @pytest.mark.settings(password_complexity_checker="zxcvbn") def test_easy_password(app, sqlalchemy_datastore): class MyRegisterForm(ConfirmRegisterForm): username = StringField("Username") app.config["SECURITY_CONFIRM_REGISTER_FORM"] = MyRegisterForm security = Security(datastore=sqlalchemy_datastore) security.init_app(app) client = app.test_client() # With zxcvbn data = dict( email="dude@lp.com", username="dude", password="mattmatt2", password_confirm="mattmatt2", ) > response = client.post( "/register", json=data, headers={"Content-Type": "application/json"} ) tests/test_registerable.py:346: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/views.py:275: in register if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = .MyRegisterForm object at 0xffffff8672d490> extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ConfirmRegisterForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ____________________________ test_nullable_username ____________________________ app = , client = > @pytest.mark.settings(username_enable=True) def test_nullable_username(app, client): # sqlalchemy datastore uses fsqlav2 which has username as unique and nullable # make sure can register multiple users with no username # Note that current WTForms (2.2.1) has a bug where StringFields can never be # None - it changes them to an empty string. DBs don't like that if you have # your column be 'nullable'. data = dict(email="u1@test.com", password="password") > response = client.post( "/register", json=data, headers={"Content-Type": "application/json"} ) tests/test_registerable.py:381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/views.py:275: in register if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ConfirmRegisterForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ___________________________ test_email_normalization ___________________________ app = , client = > def test_email_normalization(app, client): # should be able to login either as LP.com or lp.com data = dict( email="\N{BLACK SCISSORS}@LP.com", password="battery staple", password_confirm="battery staple", ) > response = client.post("/register", data=data, follow_redirects=True) tests/test_registerable.py:402: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/views.py:275: in register if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: RegisterForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _______________________ test_email_normalization_options _______________________ app = , client = > get_message = .fn at 0xffffff8900f100> def test_email_normalization_options(app, client, get_message): # verify can set options for email_validator data = dict( email="\N{BLACK SCISSORS}@LP.com", password="battery staple", password_confirm="battery staple", ) > response = client.post("/register", data=data, follow_redirects=True) tests/test_registerable.py:428: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/views.py:275: in register if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: RegisterForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _____________________________ test_username_errors _____________________________ app = , client = > get_message = .fn at 0xffffff8779b600> @pytest.mark.settings(username_enable=True, username_required=True) def test_username_errors(app, client, get_message): data = dict( email="dude@lp.com", username="dud", password="awesome sunset", ) > response = client.post( "/register", json=data, headers={"Content-Type": "application/json"} ) tests/test_registerable.py:548: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:613: in wrapper return f(*args, **kwargs) flask_security/views.py:275: in register if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: ConfirmRegisterForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _____________________________ test_default_unauthz _____________________________ app = , client = > def test_default_unauthz(app, client): """Test default unauthz handler with and without json""" > authenticate(client, "joe@lp.com", "password") tests/test_response.py:102: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _________________________ test_default_unauthz_myjson __________________________ app = , client = > def test_default_unauthz_myjson(app, client): """Make sure render_json gets called for unauthn errors""" @app.security.render_json def my_json(payload, code, headers=None, user=None): return jsonify(dict(myresponse=payload, code=code)), code, headers > authenticate(client, "joe@lp.com", "password") tests/test_response.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError ___________________________ test_my_unauthz_handler ____________________________ app = , client = > def test_my_unauthz_handler(app, client): @app.security.unauthz_handler def my_unauthz(func, params): return ( jsonify( dict(myresponse={"func": func.__name__, "params": params}, code=403) ), 403, ) > authenticate(client, "joe@lp.com", "password") tests/test_response.py:137: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _________________________ test_my_unauthz_handler_exc __________________________ app = , client = > def test_my_unauthz_handler_exc(app, client): """Verify that can use exceptions in unauthz handler""" @app.security.unauthz_handler def my_unauthz(func, params): raise ValueError("Bad Value") @app.errorhandler(ValueError) def error_handler(ex): return jsonify(dict(code=403)), 403 > authenticate(client, "joe@lp.com", "password") tests/test_response.py:157: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _____________________________ test_trackable_flag ______________________________ app = , client = > def test_trackable_flag(app, client): app.wsgi_app = ProxyFix(app.wsgi_app, x_for=1) e = "matt@lp.com" > authenticate(client, email=e) tests/test_trackable.py:27: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/werkzeug/middleware/proxy_fix.py:187: in __call__ return self.app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _________________ test_trackable_with_multiple_ips_in_headers __________________ app = , client = > def test_trackable_with_multiple_ips_in_headers(app, client): app.wsgi_app = ProxyFix(app.wsgi_app, x_for=2) e = "matt@lp.com" > authenticate(client, email=e) tests/test_trackable.py:44: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/werkzeug/middleware/proxy_fix.py:187: in __call__ return self.app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError _______________________ test_trackable_using_login_user ________________________ app = , client = > def test_trackable_using_login_user(app, client): """ This tests is only to serve as an example of how one needs to call datastore.commit() after logging a user in to make sure the trackable fields are saved to the datastore. """ app.wsgi_app = ProxyFix(app.wsgi_app, x_for=1) @app.route("/login_custom", methods=["POST"]) def login_custom(): user = app.security.datastore.find_user(email=e) login_user(user) @after_this_request def save_user(response): app.security.datastore.commit() return response return redirect("/") e = "matt@lp.com" > authenticate(client, email=e) tests/test_trackable.py:82: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_utils.py:39: in authenticate return client.post(endpoint or "/login", data=data, **kwargs) /usr/lib/python3.11/site-packages/werkzeug/test.py:1146: in post return self.open(*args, **kw) /usr/lib/python3.11/site-packages/flask/testing.py:223: in open response = super().open( /usr/lib/python3.11/site-packages/werkzeug/test.py:1095: in open response = self.run_wsgi_app(request.environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:962: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.11/site-packages/werkzeug/test.py:1243: in run_wsgi_app app_rv = app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2551: in __call__ return self.wsgi_app(environ, start_response) /usr/lib/python3.11/site-packages/werkzeug/middleware/proxy_fix.py:187: in __call__ return self.app(environ, start_response) /usr/lib/python3.11/site-packages/flask/app.py:2531: in wsgi_app response = self.handle_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:2528: in wsgi_app response = self.full_dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1825: in full_dispatch_request rv = self.handle_user_exception(e) /usr/lib/python3.11/site-packages/flask/app.py:1823: in full_dispatch_request rv = self.dispatch_request() /usr/lib/python3.11/site-packages/flask/app.py:1799: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) flask_security/decorators.py:435: in decorated return fn(*args, **kwargs) flask_security/views.py:162: in login if form.validate_on_submit(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = extra_validators = None def validate_on_submit(self, extra_validators=None): """Call :meth:`validate` only if the form is submitted. This is a shortcut for ``form.is_submitted() and form.validate()``. """ > return self.is_submitted() and self.validate(extra_validators=extra_validators) E TypeError: LoginForm.validate() got an unexpected keyword argument 'extra_validators' /usr/lib/python3.11/site-packages/flask_wtf/form.py:86: TypeError =============================== warnings summary =============================== ../../../../usr/lib/python3.11/site-packages/passlib/utils/__init__.py:854 /usr/lib/python3.11/site-packages/passlib/utils/__init__.py:854: DeprecationWarning: 'crypt' is deprecated and slated for removal in Python 3.13 from crypt import crypt as _crypt tests/test_changeable.py: 19 warnings tests/test_cli.py: 12 warnings tests/test_common.py: 89 warnings tests/test_configuration.py: 2 warnings tests/test_confirmable.py: 22 warnings tests/test_context_processors.py: 2 warnings tests/test_csrf.py: 19 warnings tests/test_datastore.py: 81 warnings tests/test_hashing.py: 9 warnings tests/test_misc.py: 51 warnings tests/test_passwordless.py: 5 warnings tests/test_recoverable.py: 25 warnings tests/test_registerable.py: 18 warnings tests/test_response.py: 11 warnings tests/test_trackable.py: 3 warnings /builddir/build/BUILD/Flask-Security-Too-4.1.5/tests/conftest.py:107: DeprecationWarning: 'app.json_encoder' is deprecated and will be removed in Flask 2.3. Customize 'app.json_provider_class' or 'app.json' instead. app.json_encoder = JSONEncoder # type: ignore tests/test_changeable.py: 1218 warnings tests/test_cli.py: 176 warnings tests/test_common.py: 5067 warnings tests/test_configuration.py: 134 warnings tests/test_confirmable.py: 1014 warnings tests/test_context_processors.py: 134 warnings tests/test_csrf.py: 1273 warnings tests/test_datastore.py: 891 warnings tests/test_hashing.py: 495 warnings tests/test_misc.py: 2190 warnings tests/test_passwordless.py: 335 warnings tests/test_recoverable.py: 1215 warnings tests/test_registerable.py: 889 warnings tests/test_response.py: 737 warnings tests/test_trackable.py: 201 warnings /usr/lib/python3.11/site-packages/flask_sqlalchemy/__init__.py:302: DeprecationWarning: '_app_ctx_stack' is deprecated and will be removed in Flask 2.3. Use 'g' to store data, or 'app_ctx' to access the current context. queries = _app_ctx_stack.top.sqlalchemy_queries tests/test_changeable.py: 39 warnings tests/test_cli.py: 55 warnings tests/test_common.py: 166 warnings tests/test_configuration.py: 4 warnings tests/test_confirmable.py: 31 warnings tests/test_context_processors.py: 4 warnings tests/test_csrf.py: 38 warnings tests/test_datastore.py: 39 warnings tests/test_hashing.py: 18 warnings tests/test_misc.py: 80 warnings tests/test_passwordless.py: 10 warnings tests/test_recoverable.py: 37 warnings tests/test_registerable.py: 28 warnings tests/test_response.py: 22 warnings tests/test_trackable.py: 6 warnings /usr/lib/python3.11/site-packages/flask_sqlalchemy/__init__.py:304: DeprecationWarning: '_app_ctx_stack' is deprecated and will be removed in Flask 2.3. Use 'g' to store data, or 'app_ctx' to access the current context. queries = _app_ctx_stack.top.sqlalchemy_queries = [] tests/test_changeable.py: 38 warnings tests/test_cli.py: 24 warnings tests/test_common.py: 170 warnings tests/test_configuration.py: 4 warnings tests/test_confirmable.py: 40 warnings tests/test_context_processors.py: 4 warnings tests/test_csrf.py: 38 warnings tests/test_datastore.py: 90 warnings tests/test_hashing.py: 18 warnings tests/test_misc.py: 104 warnings tests/test_passwordless.py: 10 warnings tests/test_recoverable.py: 46 warnings tests/test_registerable.py: 34 warnings tests/test_response.py: 22 warnings tests/test_trackable.py: 6 warnings /usr/lib/python3.11/site-packages/flask/scaffold.py:50: DeprecationWarning: 'before_first_request' is deprecated and will be removed in Flask 2.3. Run setup code while creating the application instead. return f(self, *args, **kwargs) tests/test_changeable.py: 19 warnings tests/test_cli.py: 12 warnings tests/test_common.py: 85 warnings tests/test_configuration.py: 2 warnings tests/test_confirmable.py: 20 warnings tests/test_context_processors.py: 2 warnings tests/test_csrf.py: 19 warnings tests/test_datastore.py: 45 warnings tests/test_hashing.py: 9 warnings tests/test_misc.py: 49 warnings tests/test_passwordless.py: 5 warnings tests/test_recoverable.py: 23 warnings tests/test_registerable.py: 17 warnings tests/test_response.py: 11 warnings tests/test_trackable.py: 3 warnings /builddir/build/BUILD/Flask-Security-Too-4.1.5/flask_security/views.py:1050: DeprecationWarning: 'bp.json_encoder' is deprecated and will be removed in Flask 2.3. Customize 'app.json_provider_class' or 'app.json' instead. bp.json_encoder = json_encoder tests/test_changeable.py: 26 warnings tests/test_common.py: 107 warnings tests/test_configuration.py: 3 warnings tests/test_confirmable.py: 24 warnings tests/test_context_processors.py: 4 warnings tests/test_csrf.py: 78 warnings tests/test_hashing.py: 1 warning tests/test_misc.py: 58 warnings tests/test_passwordless.py: 7 warnings tests/test_recoverable.py: 48 warnings tests/test_registerable.py: 27 warnings tests/test_response.py: 28 warnings tests/test_trackable.py: 3 warnings /usr/lib/python3.11/site-packages/flask/json/provider.py:188: DeprecationWarning: Setting 'json_encoder' on the app or a blueprint is deprecated and will be removed in Flask 2.3. Customize 'app.json' instead. warnings.warn( tests/test_changeable.py: 26 warnings tests/test_common.py: 107 warnings tests/test_configuration.py: 3 warnings tests/test_confirmable.py: 24 warnings tests/test_context_processors.py: 4 warnings tests/test_csrf.py: 78 warnings tests/test_hashing.py: 1 warning tests/test_misc.py: 58 warnings tests/test_passwordless.py: 7 warnings tests/test_recoverable.py: 48 warnings tests/test_registerable.py: 27 warnings tests/test_response.py: 28 warnings tests/test_trackable.py: 3 warnings /usr/lib/python3.11/site-packages/flask/json/provider.py:230: DeprecationWarning: 'JSONEncoder' is deprecated and will be removed in Flask 2.3. Use 'Flask.json' to provide an alternate JSON implementation instead. return json.dumps(obj, **kwargs) tests/test_common.py::test_roles_accepted[c2] /builddir/build/BUILD/Flask-Security-Too-4.1.5/tests/conftest.py:384: MovedIn20Warning: Deprecated API features detected! These feature(s) are not compatible with SQLAlchemy 2.0. To prevent incompatible upgrades prior to updating applications, ensure requirements files are pinned to "sqlalchemy<2.0". Set environment variable SQLALCHEMY_WARN_20=1 to show all deprecation warnings. Set environment variable SQLALCHEMY_SILENCE_UBER_WARNING=1 to silence this message. (Background on SQLAlchemy 2.0 at: https://sqlalche.me/e/b8d9) Base = declarative_base() tests/test_datastore.py::test_find_user[sqlalchemy] tests/test_datastore.py::test_find_user[sqlalchemy] tests/test_datastore.py::test_create_user_with_roles[sqlalchemy] tests/test_datastore.py::test_create_user_with_roles[sqlalchemy] /usr/lib/python3.11/site-packages/flask_sqlalchemy/__init__.py:344: DeprecationWarning: '_app_ctx_stack' is deprecated and will be removed in Flask 2.3. Use 'g' to store data, or 'app_ctx' to access the current context. return getattr(_app_ctx_stack.top, 'sqlalchemy_queries', []) tests/test_entities.py::test_fsqla_fields /usr/lib64/python3.11/inspect.py:573: SAWarning: Unmanaged access of declarative attribute roles from non-mapped class FsUserMixin value = getter(object, key) tests/test_hashing.py::test_verify_password_bcrypt_rounds_too_low /usr/lib/python3.11/site-packages/passlib/utils/handlers.py:774: DeprecationWarning: passing settings to bcrypt.hash() is deprecated, and won't be supported in Passlib 2.0; use 'bcrypt.using(**settings).hash(secret)' instead warn_hash_settings_deprecation(cls, settings) tests/test_misc.py::test_set_unauthorized_handler /builddir/build/BUILD/Flask-Security-Too-4.1.5/flask_security/core.py:1600: DeprecationWarning: 'unauthorized_handler' has been replaced with 'unauthz_handler' and 'unauthn_handler' warnings.warn( -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ SKIPPED [1] tests/test_common.py:342: could not import 'flask_mongoengine': No module named 'flask_mongoengine' SKIPPED [1] tests/test_common.py:356: could not import 'flask_mongoengine': No module named 'flask_mongoengine' SKIPPED [1] tests/test_common.py:369: could not import 'flask_mongoengine': No module named 'flask_mongoengine' SKIPPED [1] tests/test_common.py:388: could not import 'flask_mongoengine': No module named 'flask_mongoengine' SKIPPED [1] tests/test_confirmable.py:29: could not import 'flask_mongoengine': No module named 'flask_mongoengine' SKIPPED [1] tests/test_confirmable.py:175: could not import 'flask_mongoengine': No module named 'flask_mongoengine' SKIPPED [1] tests/test_datastore.py:94: could not import 'flask_mongoengine': No module named 'flask_mongoengine' SKIPPED [1] tests/test_datastore.py:94: could not import 'pony': No module named 'pony' SKIPPED [1] tests/test_datastore.py:111: could not import 'flask_mongoengine': No module named 'flask_mongoengine' SKIPPED [1] tests/test_datastore.py:111: could not import 'pony': No module named 'pony' SKIPPED [1] tests/test_datastore.py:121: could not import 'flask_mongoengine': No module named 'flask_mongoengine' SKIPPED [1] tests/test_datastore.py:121: could not import 'pony': No module named 'pony' SKIPPED [1] tests/test_datastore.py:132: could not import 'flask_mongoengine': No module named 'flask_mongoengine' SKIPPED [1] tests/test_datastore.py:132: could not import 'pony': No module named 'pony' SKIPPED [1] tests/test_datastore.py:148: could not import 'flask_mongoengine': No module named 'flask_mongoengine' SKIPPED [1] tests/test_datastore.py:148: could not import 'pony': No module named 'pony' SKIPPED [1] tests/test_datastore.py:167: could not import 'flask_mongoengine': No module named 'flask_mongoengine' SKIPPED [1] tests/test_datastore.py:167: could not import 'pony': No module named 'pony' SKIPPED [1] tests/test_datastore.py:178: could not import 'flask_mongoengine': No module named 'flask_mongoengine' SKIPPED [1] tests/test_datastore.py:178: could not import 'pony': No module named 'pony' SKIPPED [1] tests/test_datastore.py:186: could not import 'flask_mongoengine': No module named 'flask_mongoengine' SKIPPED [1] tests/test_datastore.py:186: could not import 'pony': No module named 'pony' SKIPPED [1] tests/test_datastore.py:194: could not import 'flask_mongoengine': No module named 'flask_mongoengine' SKIPPED [1] tests/test_datastore.py:194: could not import 'pony': No module named 'pony' SKIPPED [1] tests/test_datastore.py:215: could not import 'flask_mongoengine': No module named 'flask_mongoengine' SKIPPED [1] tests/test_datastore.py:215: could not import 'pony': No module named 'pony' SKIPPED [1] tests/test_datastore.py:236: could not import 'flask_mongoengine': No module named 'flask_mongoengine' SKIPPED [1] tests/test_datastore.py:236: could not import 'pony': No module named 'pony' SKIPPED [1] tests/test_datastore.py:252: could not import 'flask_mongoengine': No module named 'flask_mongoengine' SKIPPED [1] tests/test_datastore.py:252: could not import 'pony': No module named 'pony' SKIPPED [1] tests/test_datastore.py:268: could not import 'flask_mongoengine': No module named 'flask_mongoengine' SKIPPED [1] tests/test_datastore.py:268: could not import 'pony': No module named 'pony' SKIPPED [1] tests/test_datastore.py:299: could not import 'flask_mongoengine': No module named 'flask_mongoengine' SKIPPED [1] tests/test_datastore.py:299: could not import 'pony': No module named 'pony' SKIPPED [1] tests/test_datastore.py:311: could not import 'flask_mongoengine': No module named 'flask_mongoengine' SKIPPED [1] tests/test_datastore.py:311: could not import 'pony': No module named 'pony' SKIPPED [1] tests/test_datastore.py:355: could not import 'flask_mongoengine': No module named 'flask_mongoengine' SKIPPED [1] tests/test_datastore.py:355: could not import 'pony': No module named 'pony' SKIPPED [1] tests/test_datastore.py:392: This test only works on postgres SKIPPED [1] tests/test_hashing.py:161: unconditional skip SKIPPED [1] tests/test_hashing.py:176: unconditional skip SKIPPED [1] tests/test_misc.py:703: unconditional skip SKIPPED [1] tests/test_recoverable.py:28: could not import 'flask_mongoengine': No module named 'flask_mongoengine' SKIPPED [1] tests/test_recoverable.py:122: could not import 'flask_mongoengine': No module named 'flask_mongoengine' SKIPPED [1] tests/test_registerable.py:28: could not import 'flask_mongoengine': No module named 'flask_mongoengine' = 196 failed, 146 passed, 45 skipped, 84 deselected, 18720 warnings in 752.22s (0:12:32) = error: Bad exit status from /var/tmp/rpm-tmp.1OeeUJ (%check) RPM build errors: Bad exit status from /var/tmp/rpm-tmp.1OeeUJ (%check) Child return code was: 1 EXCEPTION: [Error('Command failed: \n # bash --login -c /usr/bin/rpmbuild -ba --noprep --noclean --target noarch --nodeps /builddir/build/SPECS/python-flask-security-too.spec\n', 1)] Traceback (most recent call last): File "/usr/lib/python3.11/site-packages/mockbuild/trace_decorator.py", line 93, in trace result = func(*args, **kw) ^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/mockbuild/util.py", line 598, in do_with_status raise exception.Error("Command failed: \n # %s\n%s" % (command, output), child.returncode) mockbuild.exception.Error: Command failed: # bash --login -c /usr/bin/rpmbuild -ba --noprep --noclean --target noarch --nodeps /builddir/build/SPECS/python-flask-security-too.spec