0s autopkgtest [18:59:59]: starting date and time: 2025-01-03 18:59:59+0000 0s autopkgtest [18:59:59]: git checkout: 325255d2 Merge branch 'pin-any-arch' into 'ubuntu/production' 0s autopkgtest [18:59:59]: host juju-7f2275-prod-proposed-migration-environment-20; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.br9_1i76/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:python3-defaults --apt-upgrade python-oauthlib --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 '--env=ADT_TEST_TRIGGERS=python3-defaults/3.13.1-1~exp2' -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-20@bos03-arm64-4.secgroup --name adt-plucky-arm64-python-oauthlib-20250103-185958-juju-7f2275-prod-proposed-migration-environment-20-6d06f850-8a15-48c6-a08b-39b029df495a --image adt/ubuntu-plucky-arm64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-20 --net-id=net_prod-proposed-migration -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com,radosgw.ps5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 205s autopkgtest [19:03:24]: testbed dpkg architecture: arm64 206s autopkgtest [19:03:25]: testbed apt version: 2.9.18 206s autopkgtest [19:03:25]: @@@@@@@@@@@@@@@@@@@@ test bed setup 206s autopkgtest [19:03:25]: testbed release detected to be: None 207s autopkgtest [19:03:26]: updating testbed package index (apt update) 207s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 207s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 207s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 207s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 208s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [9708 B] 208s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [73.5 kB] 208s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [777 kB] 208s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [11.5 kB] 208s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [99.9 kB] 208s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 Packages [57.8 kB] 208s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [840 kB] 208s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [12.2 kB] 208s Fetched 1955 kB in 1s (2120 kB/s) 209s Reading package lists... 210s Reading package lists... 210s Building dependency tree... 210s Reading state information... 210s Calculating upgrade... 211s The following packages will be upgraded: 211s base-passwd bash-completion binutils binutils-aarch64-linux-gnu 211s binutils-common libbinutils libctf-nobfd0 libctf0 libgprofng0 libsframe1 211s 10 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 211s Need to get 5715 kB of archives. 211s After this operation, 143 kB of additional disk space will be used. 211s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 base-passwd arm64 3.6.6 [53.6 kB] 211s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 bash-completion all 1:2.16.0-1 [214 kB] 211s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 libgprofng0 arm64 2.43.50.20241230-1ubuntu1 [781 kB] 212s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 libctf0 arm64 2.43.50.20241230-1ubuntu1 [99.0 kB] 212s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 libctf-nobfd0 arm64 2.43.50.20241230-1ubuntu1 [102 kB] 212s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 binutils-aarch64-linux-gnu arm64 2.43.50.20241230-1ubuntu1 [3421 kB] 212s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 libbinutils arm64 2.43.50.20241230-1ubuntu1 [782 kB] 212s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 binutils arm64 2.43.50.20241230-1ubuntu1 [3254 B] 212s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 binutils-common arm64 2.43.50.20241230-1ubuntu1 [245 kB] 212s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 libsframe1 arm64 2.43.50.20241230-1ubuntu1 [14.3 kB] 212s Preconfiguring packages ... 212s Fetched 5715 kB in 1s (7291 kB/s) 213s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 80060 files and directories currently installed.) 213s Preparing to unpack .../base-passwd_3.6.6_arm64.deb ... 213s Unpacking base-passwd (3.6.6) over (3.6.5) ... 213s Setting up base-passwd (3.6.6) ... 213s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 80060 files and directories currently installed.) 213s Preparing to unpack .../0-bash-completion_1%3a2.16.0-1_all.deb ... 213s Unpacking bash-completion (1:2.16.0-1) over (1:2.14.0-2) ... 213s Preparing to unpack .../1-libgprofng0_2.43.50.20241230-1ubuntu1_arm64.deb ... 213s Unpacking libgprofng0:arm64 (2.43.50.20241230-1ubuntu1) over (2.43.50.20241221-1ubuntu1) ... 213s Preparing to unpack .../2-libctf0_2.43.50.20241230-1ubuntu1_arm64.deb ... 213s Unpacking libctf0:arm64 (2.43.50.20241230-1ubuntu1) over (2.43.50.20241221-1ubuntu1) ... 213s Preparing to unpack .../3-libctf-nobfd0_2.43.50.20241230-1ubuntu1_arm64.deb ... 213s Unpacking libctf-nobfd0:arm64 (2.43.50.20241230-1ubuntu1) over (2.43.50.20241221-1ubuntu1) ... 213s Preparing to unpack .../4-binutils-aarch64-linux-gnu_2.43.50.20241230-1ubuntu1_arm64.deb ... 213s Unpacking binutils-aarch64-linux-gnu (2.43.50.20241230-1ubuntu1) over (2.43.50.20241221-1ubuntu1) ... 214s Preparing to unpack .../5-libbinutils_2.43.50.20241230-1ubuntu1_arm64.deb ... 214s Unpacking libbinutils:arm64 (2.43.50.20241230-1ubuntu1) over (2.43.50.20241221-1ubuntu1) ... 214s Preparing to unpack .../6-binutils_2.43.50.20241230-1ubuntu1_arm64.deb ... 214s Unpacking binutils (2.43.50.20241230-1ubuntu1) over (2.43.50.20241221-1ubuntu1) ... 214s Preparing to unpack .../7-binutils-common_2.43.50.20241230-1ubuntu1_arm64.deb ... 214s Unpacking binutils-common:arm64 (2.43.50.20241230-1ubuntu1) over (2.43.50.20241221-1ubuntu1) ... 214s Preparing to unpack .../8-libsframe1_2.43.50.20241230-1ubuntu1_arm64.deb ... 214s Unpacking libsframe1:arm64 (2.43.50.20241230-1ubuntu1) over (2.43.50.20241221-1ubuntu1) ... 214s Setting up binutils-common:arm64 (2.43.50.20241230-1ubuntu1) ... 214s Setting up libctf-nobfd0:arm64 (2.43.50.20241230-1ubuntu1) ... 214s Setting up libsframe1:arm64 (2.43.50.20241230-1ubuntu1) ... 214s Setting up bash-completion (1:2.16.0-1) ... 214s Setting up libbinutils:arm64 (2.43.50.20241230-1ubuntu1) ... 214s Setting up libctf0:arm64 (2.43.50.20241230-1ubuntu1) ... 214s Setting up libgprofng0:arm64 (2.43.50.20241230-1ubuntu1) ... 214s Setting up binutils-aarch64-linux-gnu (2.43.50.20241230-1ubuntu1) ... 214s Setting up binutils (2.43.50.20241230-1ubuntu1) ... 214s Processing triggers for libc-bin (2.40-4ubuntu1) ... 214s Processing triggers for man-db (2.13.0-1) ... 215s Reading package lists... 216s Building dependency tree... 216s Reading state information... 217s 0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded. 217s autopkgtest [19:03:36]: upgrading testbed (apt dist-upgrade and autopurge) 217s Reading package lists... 217s Building dependency tree... 217s Reading state information... 218s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 218s Starting 2 pkgProblemResolver with broken count: 0 218s Done 219s Entering ResolveByKeep 219s 219s The following packages were automatically installed and are no longer required: 219s python3.12 python3.12-minimal 219s Use 'sudo apt autoremove' to remove them. 219s The following NEW packages will be installed: 219s libpython3.13-minimal libpython3.13-stdlib python3.13 python3.13-minimal 219s The following packages will be upgraded: 219s libpython3-stdlib python3 python3-minimal 220s 3 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. 220s Need to get 5992 kB of archives. 220s After this operation, 24.3 MB of additional disk space will be used. 220s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 libpython3.13-minimal arm64 3.13.1-2 [879 kB] 220s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.13-minimal arm64 3.13.1-2 [2262 kB] 220s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3-minimal arm64 3.13.1-1~exp2 [27.6 kB] 220s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3 arm64 3.13.1-1~exp2 [23.9 kB] 220s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 libpython3.13-stdlib arm64 3.13.1-2 [2061 kB] 220s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.13 arm64 3.13.1-2 [729 kB] 220s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 libpython3-stdlib arm64 3.13.1-1~exp2 [10.2 kB] 221s Fetched 5992 kB in 1s (6960 kB/s) 221s Selecting previously unselected package libpython3.13-minimal:arm64. 221s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 80185 files and directories currently installed.) 221s Preparing to unpack .../libpython3.13-minimal_3.13.1-2_arm64.deb ... 221s Unpacking libpython3.13-minimal:arm64 (3.13.1-2) ... 221s Selecting previously unselected package python3.13-minimal. 221s Preparing to unpack .../python3.13-minimal_3.13.1-2_arm64.deb ... 221s Unpacking python3.13-minimal (3.13.1-2) ... 221s Setting up libpython3.13-minimal:arm64 (3.13.1-2) ... 221s Setting up python3.13-minimal (3.13.1-2) ... 222s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 80505 files and directories currently installed.) 222s Preparing to unpack .../python3-minimal_3.13.1-1~exp2_arm64.deb ... 222s Unpacking python3-minimal (3.13.1-1~exp2) over (3.12.8-1) ... 222s Setting up python3-minimal (3.13.1-1~exp2) ... 222s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 80505 files and directories currently installed.) 222s Preparing to unpack .../python3_3.13.1-1~exp2_arm64.deb ... 222s Unpacking python3 (3.13.1-1~exp2) over (3.12.8-1) ... 222s Selecting previously unselected package libpython3.13-stdlib:arm64. 222s Preparing to unpack .../libpython3.13-stdlib_3.13.1-2_arm64.deb ... 222s Unpacking libpython3.13-stdlib:arm64 (3.13.1-2) ... 222s Selecting previously unselected package python3.13. 222s Preparing to unpack .../python3.13_3.13.1-2_arm64.deb ... 222s Unpacking python3.13 (3.13.1-2) ... 223s Preparing to unpack .../libpython3-stdlib_3.13.1-1~exp2_arm64.deb ... 223s Unpacking libpython3-stdlib:arm64 (3.13.1-1~exp2) over (3.12.8-1) ... 223s Setting up libpython3.13-stdlib:arm64 (3.13.1-2) ... 223s Setting up libpython3-stdlib:arm64 (3.13.1-1~exp2) ... 223s Setting up python3.13 (3.13.1-2) ... 224s Setting up python3 (3.13.1-1~exp2) ... 224s /usr/bin/py3clean:101: DeprecationWarning: glob.glob1 is deprecated and will be removed in Python 3.15. Use glob.glob and pass a directory to its root_dir argument instead. 224s for fn in glob1(directory, "%s.*" % fname): 224s Processing triggers for man-db (2.13.0-1) ... 224s Processing triggers for systemd (257-2ubuntu1) ... 225s Reading package lists... 225s Building dependency tree... 225s Reading state information... 226s Starting pkgProblemResolver with broken count: 0 226s Starting 2 pkgProblemResolver with broken count: 0 226s Done 227s The following packages will be REMOVED: 227s python3.12* python3.12-minimal* 227s 0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded. 227s After this operation, 8710 kB disk space will be freed. 227s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 80922 files and directories currently installed.) 227s Removing python3.12 (3.12.8-3) ... 227s Removing python3.12-minimal (3.12.8-3) ... 227s /usr/bin/py3clean:125: DeprecationWarning: glob.glob1 is deprecated and will be removed in Python 3.15. Use glob.glob and pass a directory to its root_dir argument instead. 227s for fn in glob1(directory, "%s.%s.py[co]" % (fname, magic_tag)): 228s Processing triggers for man-db (2.13.0-1) ... 228s Processing triggers for systemd (257-2ubuntu1) ... 228s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 80894 files and directories currently installed.) 228s Purging configuration files for python3.12-minimal (3.12.8-3) ... 231s autopkgtest [19:03:50]: testbed running kernel: Linux 6.11.0-8-generic #8-Ubuntu SMP PREEMPT_DYNAMIC Mon Sep 16 14:19:41 UTC 2024 232s autopkgtest [19:03:51]: @@@@@@@@@@@@@@@@@@@@ apt-source python-oauthlib 234s Get:1 http://ftpmaster.internal/ubuntu plucky/main python-oauthlib 3.2.2-2 (dsc) [2353 B] 234s Get:2 http://ftpmaster.internal/ubuntu plucky/main python-oauthlib 3.2.2-2 (tar) [177 kB] 234s Get:3 http://ftpmaster.internal/ubuntu plucky/main python-oauthlib 3.2.2-2 (diff) [5556 B] 234s gpgv: Signature made Wed Oct 9 11:41:19 2024 UTC 234s gpgv: using RSA key AC0A4FF12611B6FCCF01C111393587D97D86500B 234s gpgv: Can't check signature: No public key 234s dpkg-source: warning: cannot verify inline signature for ./python-oauthlib_3.2.2-2.dsc: no acceptable signature found 234s autopkgtest [19:03:53]: testing package python-oauthlib version 3.2.2-2 234s autopkgtest [19:03:53]: build not needed 235s autopkgtest [19:03:54]: test python3-oauthlib: preparing testbed 235s Reading package lists... 236s Building dependency tree... 236s Reading state information... 236s Starting pkgProblemResolver with broken count: 0 236s Starting 2 pkgProblemResolver with broken count: 0 236s Done 237s The following NEW packages will be installed: 237s python3-all python3-exceptiongroup python3-iniconfig python3-packaging 237s python3-pluggy python3-pytest python3.12 python3.12-minimal 237s 0 upgraded, 8 newly installed, 0 to remove and 0 not upgraded. 237s Need to get 3252 kB of archives. 237s After this operation, 10.4 MB of additional disk space will be used. 237s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.12-minimal arm64 3.12.8-3 [2236 kB] 238s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.12 arm64 3.12.8-3 [667 kB] 238s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3-all arm64 3.13.1-1~exp2 [894 B] 238s Get:4 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-exceptiongroup all 1.2.2-1 [17.8 kB] 238s Get:5 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-iniconfig all 1.1.1-2 [6024 B] 238s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-packaging all 24.2-1 [51.5 kB] 238s Get:7 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pluggy all 1.5.0-1 [21.0 kB] 238s Get:8 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pytest all 8.3.3-1 [251 kB] 238s Fetched 3252 kB in 1s (4551 kB/s) 238s Selecting previously unselected package python3.12-minimal. 238s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 80894 files and directories currently installed.) 238s Preparing to unpack .../0-python3.12-minimal_3.12.8-3_arm64.deb ... 238s Unpacking python3.12-minimal (3.12.8-3) ... 238s Selecting previously unselected package python3.12. 238s Preparing to unpack .../1-python3.12_3.12.8-3_arm64.deb ... 238s Unpacking python3.12 (3.12.8-3) ... 238s Selecting previously unselected package python3-all. 238s Preparing to unpack .../2-python3-all_3.13.1-1~exp2_arm64.deb ... 238s Unpacking python3-all (3.13.1-1~exp2) ... 238s Selecting previously unselected package python3-exceptiongroup. 238s Preparing to unpack .../3-python3-exceptiongroup_1.2.2-1_all.deb ... 238s Unpacking python3-exceptiongroup (1.2.2-1) ... 238s Selecting previously unselected package python3-iniconfig. 238s Preparing to unpack .../4-python3-iniconfig_1.1.1-2_all.deb ... 238s Unpacking python3-iniconfig (1.1.1-2) ... 238s Selecting previously unselected package python3-packaging. 238s Preparing to unpack .../5-python3-packaging_24.2-1_all.deb ... 238s Unpacking python3-packaging (24.2-1) ... 238s Selecting previously unselected package python3-pluggy. 238s Preparing to unpack .../6-python3-pluggy_1.5.0-1_all.deb ... 238s Unpacking python3-pluggy (1.5.0-1) ... 239s Selecting previously unselected package python3-pytest. 239s Preparing to unpack .../7-python3-pytest_8.3.3-1_all.deb ... 239s Unpacking python3-pytest (8.3.3-1) ... 239s Setting up python3-iniconfig (1.1.1-2) ... 239s Setting up python3.12-minimal (3.12.8-3) ... 240s Setting up python3.12 (3.12.8-3) ... 242s Setting up python3-all (3.13.1-1~exp2) ... 242s Setting up python3-packaging (24.2-1) ... 242s Setting up python3-pluggy (1.5.0-1) ... 242s Setting up python3-exceptiongroup (1.2.2-1) ... 242s Setting up python3-pytest (8.3.3-1) ... 243s Processing triggers for man-db (2.13.0-1) ... 243s Processing triggers for systemd (257-2ubuntu1) ... 244s autopkgtest [19:04:03]: test python3-oauthlib: [----------------------- 245s ============================= test session starts ============================== 245s platform linux -- Python 3.12.8, pytest-8.3.3, pluggy-1.5.0 -- /usr/bin/python3.12 245s cachedir: .pytest_cache 245s rootdir: /tmp/autopkgtest.6ZHb7W/autopkgtest_tmp 245s plugins: typeguard-4.4.1 246s collecting ... collected 654 items 246s 246s tests/oauth1/rfc5849/endpoints/test_access_token.py::AccessTokenEndpointTest::test_check_request_token PASSED [ 0%] 246s tests/oauth1/rfc5849/endpoints/test_access_token.py::AccessTokenEndpointTest::test_check_verifier PASSED [ 0%] 246s tests/oauth1/rfc5849/endpoints/test_access_token.py::AccessTokenEndpointTest::test_valid_request PASSED [ 0%] 246s tests/oauth1/rfc5849/endpoints/test_access_token.py::AccessTokenEndpointTest::test_validate_client_key PASSED [ 0%] 246s tests/oauth1/rfc5849/endpoints/test_access_token.py::AccessTokenEndpointTest::test_validate_request_token PASSED [ 0%] 246s tests/oauth1/rfc5849/endpoints/test_access_token.py::AccessTokenEndpointTest::test_validate_signature PASSED [ 0%] 246s tests/oauth1/rfc5849/endpoints/test_access_token.py::AccessTokenEndpointTest::test_validate_verifier PASSED [ 1%] 246s tests/oauth1/rfc5849/endpoints/test_authorization.py::AuthorizationEndpointTest::test_create_authorization_response PASSED [ 1%] 246s tests/oauth1/rfc5849/endpoints/test_authorization.py::AuthorizationEndpointTest::test_create_authorization_response_oob PASSED [ 1%] 246s tests/oauth1/rfc5849/endpoints/test_authorization.py::AuthorizationEndpointTest::test_get_realms_and_credentials PASSED [ 1%] 246s tests/oauth1/rfc5849/endpoints/test_authorization.py::AuthorizationEndpointTest::test_verify_realms PASSED [ 1%] 246s tests/oauth1/rfc5849/endpoints/test_authorization.py::AuthorizationEndpointTest::test_verify_token PASSED [ 1%] 246s tests/oauth1/rfc5849/endpoints/test_base.py::BaseEndpointTest::test_case_insensitive_headers PASSED [ 1%] 246s tests/oauth1/rfc5849/endpoints/test_base.py::BaseEndpointTest::test_client_key_check PASSED [ 2%] 246s tests/oauth1/rfc5849/endpoints/test_base.py::BaseEndpointTest::test_duplicate_params PASSED [ 2%] 246s tests/oauth1/rfc5849/endpoints/test_base.py::BaseEndpointTest::test_enforce_ssl PASSED [ 2%] 246s tests/oauth1/rfc5849/endpoints/test_base.py::BaseEndpointTest::test_expired_timestamp PASSED [ 2%] 246s tests/oauth1/rfc5849/endpoints/test_base.py::BaseEndpointTest::test_invalid_version PASSED [ 2%] 246s tests/oauth1/rfc5849/endpoints/test_base.py::BaseEndpointTest::test_mandated_params PASSED [ 2%] 246s tests/oauth1/rfc5849/endpoints/test_base.py::BaseEndpointTest::test_missing_parameters PASSED [ 3%] 246s tests/oauth1/rfc5849/endpoints/test_base.py::BaseEndpointTest::test_multiple_source_params PASSED [ 3%] 246s tests/oauth1/rfc5849/endpoints/test_base.py::BaseEndpointTest::test_noncecheck PASSED [ 3%] 246s tests/oauth1/rfc5849/endpoints/test_base.py::BaseEndpointTest::test_oauth_timestamp PASSED [ 3%] 246s tests/oauth1/rfc5849/endpoints/test_base.py::BaseEndpointTest::test_oauth_version PASSED [ 3%] 246s tests/oauth1/rfc5849/endpoints/test_base.py::BaseEndpointTest::test_signature_method_validation PASSED [ 3%] 246s tests/oauth1/rfc5849/endpoints/test_base.py::BaseEndpointTest::test_signature_methods PASSED [ 3%] 246s tests/oauth1/rfc5849/endpoints/test_base.py::BaseEndpointTest::test_ssl_enforcement PASSED [ 4%] 246s tests/oauth1/rfc5849/endpoints/test_base.py::SignatureVerificationTest::test_hmac_signature PASSED [ 4%] 246s tests/oauth1/rfc5849/endpoints/test_base.py::SignatureVerificationTest::test_plaintext_signature PASSED [ 4%] 246s tests/oauth1/rfc5849/endpoints/test_base.py::SignatureVerificationTest::test_rsa_signature PASSED [ 4%] 246s tests/oauth1/rfc5849/endpoints/test_base.py::SignatureVerificationTest::test_signature_too_short PASSED [ 4%] 246s tests/oauth1/rfc5849/endpoints/test_request_token.py::RequestTokenEndpointTest::test_check_realms PASSED [ 4%] 246s tests/oauth1/rfc5849/endpoints/test_request_token.py::RequestTokenEndpointTest::test_check_redirect_uri PASSED [ 5%] 246s tests/oauth1/rfc5849/endpoints/test_request_token.py::RequestTokenEndpointTest::test_uri_provided_realm PASSED [ 5%] 246s tests/oauth1/rfc5849/endpoints/test_request_token.py::RequestTokenEndpointTest::test_valid_request PASSED [ 5%] 246s tests/oauth1/rfc5849/endpoints/test_request_token.py::RequestTokenEndpointTest::test_validate_client_key PASSED [ 5%] 246s tests/oauth1/rfc5849/endpoints/test_request_token.py::RequestTokenEndpointTest::test_validate_realms PASSED [ 5%] 246s tests/oauth1/rfc5849/endpoints/test_request_token.py::RequestTokenEndpointTest::test_validate_redirect_uri PASSED [ 5%] 246s tests/oauth1/rfc5849/endpoints/test_request_token.py::RequestTokenEndpointTest::test_validate_signature PASSED [ 5%] 246s tests/oauth1/rfc5849/endpoints/test_resource.py::ResourceEndpointTest::test_check_access_token PASSED [ 6%] 246s tests/oauth1/rfc5849/endpoints/test_resource.py::ResourceEndpointTest::test_missing_parameters PASSED [ 6%] 246s tests/oauth1/rfc5849/endpoints/test_resource.py::ResourceEndpointTest::test_valid_request PASSED [ 6%] 246s tests/oauth1/rfc5849/endpoints/test_resource.py::ResourceEndpointTest::test_validate_access_token PASSED [ 6%] 246s tests/oauth1/rfc5849/endpoints/test_resource.py::ResourceEndpointTest::test_validate_client_key PASSED [ 6%] 246s tests/oauth1/rfc5849/endpoints/test_resource.py::ResourceEndpointTest::test_validate_realms PASSED [ 6%] 246s tests/oauth1/rfc5849/endpoints/test_resource.py::ResourceEndpointTest::test_validate_signature PASSED [ 7%] 246s tests/oauth1/rfc5849/endpoints/test_signature_only.py::SignatureOnlyEndpointTest::test_missing_parameters PASSED [ 7%] 246s tests/oauth1/rfc5849/endpoints/test_signature_only.py::SignatureOnlyEndpointTest::test_valid_request PASSED [ 7%] 246s tests/oauth1/rfc5849/endpoints/test_signature_only.py::SignatureOnlyEndpointTest::test_validate_client_key PASSED [ 7%] 246s tests/oauth1/rfc5849/endpoints/test_signature_only.py::SignatureOnlyEndpointTest::test_validate_signature PASSED [ 7%] 246s tests/oauth1/rfc5849/test_client.py::ClientRealmTests::test_client_no_realm PASSED [ 7%] 246s tests/oauth1/rfc5849/test_client.py::ClientRealmTests::test_client_realm_sign_with_additional_realm PASSED [ 7%] 246s tests/oauth1/rfc5849/test_client.py::ClientRealmTests::test_client_realm_sign_with_default_realm PASSED [ 8%] 246s tests/oauth1/rfc5849/test_client.py::ClientConstructorTests::test_convert_to_unicode_resource_owner PASSED [ 8%] 246s tests/oauth1/rfc5849/test_client.py::ClientConstructorTests::test_decoding PASSED [ 8%] 246s tests/oauth1/rfc5849/test_client.py::ClientConstructorTests::test_give_explicit_nonce PASSED [ 8%] 246s tests/oauth1/rfc5849/test_client.py::ClientConstructorTests::test_give_explicit_timestamp PASSED [ 8%] 246s tests/oauth1/rfc5849/test_client.py::ClientConstructorTests::test_hmac_sha1 PASSED [ 8%] 246s tests/oauth1/rfc5849/test_client.py::ClientConstructorTests::test_hmac_sha256 PASSED [ 9%] 246s tests/oauth1/rfc5849/test_client.py::ClientConstructorTests::test_rsa PASSED [ 9%] 246s tests/oauth1/rfc5849/test_client.py::SignatureMethodTest::test_hmac_sha1_method PASSED [ 9%] 246s tests/oauth1/rfc5849/test_client.py::SignatureMethodTest::test_hmac_sha256_method PASSED [ 9%] 246s tests/oauth1/rfc5849/test_client.py::SignatureMethodTest::test_invalid_method PASSED [ 9%] 246s tests/oauth1/rfc5849/test_client.py::SignatureMethodTest::test_plaintext_method PASSED [ 9%] 246s tests/oauth1/rfc5849/test_client.py::SignatureMethodTest::test_register_method PASSED [ 9%] 246s tests/oauth1/rfc5849/test_client.py::SignatureMethodTest::test_rsa_method PASSED [ 10%] 246s tests/oauth1/rfc5849/test_client.py::SignatureMethodTest::test_rsa_no_key PASSED [ 10%] 246s tests/oauth1/rfc5849/test_client.py::SignatureTypeTest::test_invalid_signature_type PASSED [ 10%] 246s tests/oauth1/rfc5849/test_client.py::SignatureTypeTest::test_params_in_body PASSED [ 10%] 246s tests/oauth1/rfc5849/test_client.py::SignatureTypeTest::test_params_in_query PASSED [ 10%] 246s tests/oauth1/rfc5849/test_client.py::SigningTest::test_case_insensitive_headers PASSED [ 10%] 246s tests/oauth1/rfc5849/test_client.py::SigningTest::test_sign_body PASSED [ 11%] 246s tests/oauth1/rfc5849/test_client.py::SigningTest::test_sign_get_with_body PASSED [ 11%] 246s tests/oauth1/rfc5849/test_client.py::SigningTest::test_sign_no_body PASSED [ 11%] 246s tests/oauth1/rfc5849/test_client.py::SigningTest::test_sign_unicode PASSED [ 11%] 246s tests/oauth1/rfc5849/test_parameters.py::ParameterTests::test_append_params PASSED [ 11%] 246s tests/oauth1/rfc5849/test_parameters.py::ParameterTests::test_prepare_form_encoded_body PASSED [ 11%] 246s tests/oauth1/rfc5849/test_parameters.py::ParameterTests::test_prepare_headers PASSED [ 11%] 246s tests/oauth1/rfc5849/test_parameters.py::ParameterTests::test_prepare_headers_ignore_data PASSED [ 12%] 246s tests/oauth1/rfc5849/test_parameters.py::ParameterTests::test_prepare_request_uri_query PASSED [ 12%] 246s tests/oauth1/rfc5849/test_request_validator.py::RequestValidatorTests::test_check_length PASSED [ 12%] 246s tests/oauth1/rfc5849/test_request_validator.py::RequestValidatorTests::test_check_realms PASSED [ 12%] 246s tests/oauth1/rfc5849/test_request_validator.py::RequestValidatorTests::test_not_implemented PASSED [ 12%] 246s tests/oauth1/rfc5849/test_signatures.py::SignatureTests::test_base_string_uri PASSED [ 12%] 246s tests/oauth1/rfc5849/test_signatures.py::SignatureTests::test_collect_parameters PASSED [ 12%] 246s tests/oauth1/rfc5849/test_signatures.py::SignatureTests::test_hmac_false_positives PASSED [ 13%] 246s tests/oauth1/rfc5849/test_signatures.py::SignatureTests::test_normalize_parameters PASSED [ 13%] 246s tests/oauth1/rfc5849/test_signatures.py::SignatureTests::test_plaintext_false_positives PASSED [ 13%] 246s tests/oauth1/rfc5849/test_signatures.py::SignatureTests::test_rsa_bad_keys PASSED [ 13%] 246s tests/oauth1/rfc5849/test_signatures.py::SignatureTests::test_rsa_false_positives PASSED [ 13%] 246s tests/oauth1/rfc5849/test_signatures.py::SignatureTests::test_rsa_jwt_algorithm_cache PASSED [ 13%] 246s tests/oauth1/rfc5849/test_signatures.py::SignatureTests::test_sign_hmac_sha1_with_client PASSED [ 14%] 246s tests/oauth1/rfc5849/test_signatures.py::SignatureTests::test_sign_hmac_sha256_with_client PASSED [ 14%] 246s tests/oauth1/rfc5849/test_signatures.py::SignatureTests::test_sign_hmac_sha512_with_client PASSED [ 14%] 246s tests/oauth1/rfc5849/test_signatures.py::SignatureTests::test_sign_plaintext_with_client PASSED [ 14%] 246s tests/oauth1/rfc5849/test_signatures.py::SignatureTests::test_sign_rsa_sha1_with_client PASSED [ 14%] 246s tests/oauth1/rfc5849/test_signatures.py::SignatureTests::test_sign_rsa_sha256_with_client PASSED [ 14%] 246s tests/oauth1/rfc5849/test_signatures.py::SignatureTests::test_sign_rsa_sha512_with_client PASSED [ 14%] 246s tests/oauth1/rfc5849/test_signatures.py::SignatureTests::test_signature_base_string PASSED [ 15%] 246s tests/oauth1/rfc5849/test_utils.py::UtilsTests::test_escape PASSED [ 15%] 246s tests/oauth1/rfc5849/test_utils.py::UtilsTests::test_filter_oauth_params PASSED [ 15%] 246s tests/oauth1/rfc5849/test_utils.py::UtilsTests::test_filter_params PASSED [ 15%] 246s tests/oauth1/rfc5849/test_utils.py::UtilsTests::test_parse_authorization_header PASSED [ 15%] 246s tests/oauth1/rfc5849/test_utils.py::UtilsTests::test_unescape PASSED [ 15%] 246s tests/oauth2/rfc6749/clients/test_backend_application.py::BackendApplicationClientTest::test_parse_token_response PASSED [ 16%] 246s tests/oauth2/rfc6749/clients/test_backend_application.py::BackendApplicationClientTest::test_request_body PASSED [ 16%] 246s tests/oauth2/rfc6749/clients/test_base.py::ClientTest::test_add_bearer_token PASSED [ 16%] 246s tests/oauth2/rfc6749/clients/test_base.py::ClientTest::test_add_mac_token PASSED [ 16%] 246s tests/oauth2/rfc6749/clients/test_base.py::ClientTest::test_create_code_challenge_plain PASSED [ 16%] 246s tests/oauth2/rfc6749/clients/test_base.py::ClientTest::test_create_code_challenge_s256 PASSED [ 16%] 246s tests/oauth2/rfc6749/clients/test_base.py::ClientTest::test_create_code_verifier_max_length PASSED [ 16%] 246s tests/oauth2/rfc6749/clients/test_base.py::ClientTest::test_create_code_verifier_min_length PASSED [ 17%] 246s tests/oauth2/rfc6749/clients/test_base.py::ClientTest::test_parse_token_response_invalid_expires_at PASSED [ 17%] 246s tests/oauth2/rfc6749/clients/test_base.py::ClientTest::test_prepare_authorization_request PASSED [ 17%] 246s tests/oauth2/rfc6749/clients/test_base.py::ClientTest::test_prepare_refresh_token_request PASSED [ 17%] 246s tests/oauth2/rfc6749/clients/test_base.py::ClientTest::test_prepare_token_request PASSED [ 17%] 246s tests/oauth2/rfc6749/clients/test_base.py::ClientTest::test_revocation_request PASSED [ 17%] 246s tests/oauth2/rfc6749/clients/test_legacy_application.py::LegacyApplicationClientTest::test_parse_token_response PASSED [ 18%] 246s tests/oauth2/rfc6749/clients/test_legacy_application.py::LegacyApplicationClientTest::test_prepare_request_body PASSED [ 18%] 246s tests/oauth2/rfc6749/clients/test_legacy_application.py::LegacyApplicationClientTest::test_request_body PASSED [ 18%] 246s tests/oauth2/rfc6749/clients/test_mobile_application.py::MobileApplicationClientTest::test_implicit_token_uri PASSED [ 18%] 246s tests/oauth2/rfc6749/clients/test_mobile_application.py::MobileApplicationClientTest::test_parse_token_response PASSED [ 18%] 246s tests/oauth2/rfc6749/clients/test_mobile_application.py::MobileApplicationClientTest::test_populate_attributes PASSED [ 18%] 246s tests/oauth2/rfc6749/clients/test_service_application.py::ServiceApplicationClientTest::test_parse_token_response PASSED [ 18%] 247s tests/oauth2/rfc6749/clients/test_service_application.py::ServiceApplicationClientTest::test_request_body PASSED [ 19%] 247s tests/oauth2/rfc6749/clients/test_service_application.py::ServiceApplicationClientTest::test_request_body_no_initial_private_key PASSED [ 19%] 247s tests/oauth2/rfc6749/clients/test_web_application.py::WebApplicationClientTest::test_auth_grant_uri PASSED [ 19%] 247s tests/oauth2/rfc6749/clients/test_web_application.py::WebApplicationClientTest::test_parse_grant_uri_response PASSED [ 19%] 247s tests/oauth2/rfc6749/clients/test_web_application.py::WebApplicationClientTest::test_parse_token_response PASSED [ 19%] 247s tests/oauth2/rfc6749/clients/test_web_application.py::WebApplicationClientTest::test_populate_attributes PASSED [ 19%] 247s tests/oauth2/rfc6749/clients/test_web_application.py::WebApplicationClientTest::test_prepare_authorization_requeset PASSED [ 20%] 247s tests/oauth2/rfc6749/clients/test_web_application.py::WebApplicationClientTest::test_prepare_request_body PASSED [ 20%] 247s tests/oauth2/rfc6749/clients/test_web_application.py::WebApplicationClientTest::test_request_body PASSED [ 20%] 247s tests/oauth2/rfc6749/endpoints/test_base_endpoint.py::BaseEndpointTest::test_default_config PASSED [ 20%] 247s tests/oauth2/rfc6749/endpoints/test_base_endpoint.py::BaseEndpointTest::test_error_catching PASSED [ 20%] 247s tests/oauth2/rfc6749/endpoints/test_base_endpoint.py::BaseEndpointTest::test_unavailability PASSED [ 20%] 247s tests/oauth2/rfc6749/endpoints/test_base_endpoint.py::BaseEndpointTest::test_wrapper PASSED [ 20%] 247s tests/oauth2/rfc6749/endpoints/test_client_authentication.py::ClientAuthenticationTest::test_basicauth_backend PASSED [ 21%] 247s tests/oauth2/rfc6749/endpoints/test_client_authentication.py::ClientAuthenticationTest::test_basicauth_introspect PASSED [ 21%] 247s tests/oauth2/rfc6749/endpoints/test_client_authentication.py::ClientAuthenticationTest::test_basicauth_legacy PASSED [ 21%] 247s tests/oauth2/rfc6749/endpoints/test_client_authentication.py::ClientAuthenticationTest::test_basicauth_revoke PASSED [ 21%] 247s tests/oauth2/rfc6749/endpoints/test_client_authentication.py::ClientAuthenticationTest::test_basicauth_web PASSED [ 21%] 247s tests/oauth2/rfc6749/endpoints/test_client_authentication.py::ClientAuthenticationTest::test_client_id_authentication PASSED [ 21%] 247s tests/oauth2/rfc6749/endpoints/test_client_authentication.py::ClientAuthenticationTest::test_custom_authentication PASSED [ 22%] 247s tests/oauth2/rfc6749/endpoints/test_credentials_preservation.py::PreservationTest::test_default_uri PASSED [ 22%] 247s tests/oauth2/rfc6749/endpoints/test_credentials_preservation.py::PreservationTest::test_default_uri_in_token PASSED [ 22%] 247s tests/oauth2/rfc6749/endpoints/test_credentials_preservation.py::PreservationTest::test_invalid_redirect_uri PASSED [ 22%] 247s tests/oauth2/rfc6749/endpoints/test_credentials_preservation.py::PreservationTest::test_redirect_uri_preservation PASSED [ 22%] 247s tests/oauth2/rfc6749/endpoints/test_credentials_preservation.py::PreservationTest::test_state_preservation PASSED [ 22%] 247s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_access_denied PASSED [ 22%] 247s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_access_denied_no_default_redirecturi PASSED [ 23%] 247s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_empty_parameter PASSED [ 23%] 247s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_invalid_client PASSED [ 23%] 247s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_invalid_client_id PASSED [ 23%] 247s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_invalid_default_redirect_uri PASSED [ 23%] 247s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_invalid_grant PASSED [ 23%] 247s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_invalid_post_request PASSED [ 24%] 247s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_invalid_redirect_uri PASSED [ 24%] 247s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_invalid_request PASSED [ 24%] 247s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_invalid_request_duplicate_params PASSED [ 24%] 247s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_invalid_request_method PASSED [ 24%] 247s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_invalid_request_missing_response_type PASSED [ 24%] 247s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_invalid_scope PASSED [ 24%] 247s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_mismatching_redirect_uri PASSED [ 25%] 247s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_missing_client_id PASSED [ 25%] 247s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_missing_redirect_uri PASSED [ 25%] 247s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_server_error PASSED [ 25%] 247s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_temporarily_unavailable PASSED [ 25%] 247s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_unauthorized_client PASSED [ 25%] 247s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_unsupported_grant_type PASSED [ 25%] 247s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_unsupported_response_type PASSED [ 26%] 247s tests/oauth2/rfc6749/endpoints/test_extra_credentials.py::ExtraCredentialsTest::test_post_authorization_request PASSED [ 26%] 247s tests/oauth2/rfc6749/endpoints/test_extra_credentials.py::ExtraCredentialsTest::test_token_request PASSED [ 26%] 247s tests/oauth2/rfc6749/endpoints/test_introspect_endpoint.py::IntrospectEndpointTest::test_introspect_bad_post_request PASSED [ 26%] 247s tests/oauth2/rfc6749/endpoints/test_introspect_endpoint.py::IntrospectEndpointTest::test_introspect_invalid_request_method PASSED [ 26%] 247s tests/oauth2/rfc6749/endpoints/test_introspect_endpoint.py::IntrospectEndpointTest::test_introspect_token PASSED [ 26%] 247s tests/oauth2/rfc6749/endpoints/test_introspect_endpoint.py::IntrospectEndpointTest::test_introspect_token_claims PASSED [ 27%] 247s tests/oauth2/rfc6749/endpoints/test_introspect_endpoint.py::IntrospectEndpointTest::test_introspect_token_claims_spoof_active PASSED [ 27%] 247s tests/oauth2/rfc6749/endpoints/test_introspect_endpoint.py::IntrospectEndpointTest::test_introspect_token_client_authentication_failed PASSED [ 27%] 247s tests/oauth2/rfc6749/endpoints/test_introspect_endpoint.py::IntrospectEndpointTest::test_introspect_token_false PASSED [ 27%] 247s tests/oauth2/rfc6749/endpoints/test_introspect_endpoint.py::IntrospectEndpointTest::test_introspect_token_nohint PASSED [ 27%] 247s tests/oauth2/rfc6749/endpoints/test_introspect_endpoint.py::IntrospectEndpointTest::test_introspect_token_public_client_authentication PASSED [ 27%] 247s tests/oauth2/rfc6749/endpoints/test_introspect_endpoint.py::IntrospectEndpointTest::test_introspect_token_public_client_authentication_failed PASSED [ 27%] 247s tests/oauth2/rfc6749/endpoints/test_introspect_endpoint.py::IntrospectEndpointTest::test_introspect_unsupported_token PASSED [ 28%] 247s tests/oauth2/rfc6749/endpoints/test_metadata.py::MetadataEndpointTest::test_create_metadata_response PASSED [ 28%] 247s tests/oauth2/rfc6749/endpoints/test_metadata.py::MetadataEndpointTest::test_mandatory_fields PASSED [ 28%] 247s tests/oauth2/rfc6749/endpoints/test_metadata.py::MetadataEndpointTest::test_metadata_validate_issuer PASSED [ 28%] 247s tests/oauth2/rfc6749/endpoints/test_metadata.py::MetadataEndpointTest::test_openid_oauth2_preconfigured PASSED [ 28%] 247s tests/oauth2/rfc6749/endpoints/test_metadata.py::MetadataEndpointTest::test_server_metadata PASSED [ 28%] 247s tests/oauth2/rfc6749/endpoints/test_metadata.py::MetadataEndpointTest::test_token_endpoint PASSED [ 29%] 247s tests/oauth2/rfc6749/endpoints/test_metadata.py::MetadataEndpointTest::test_token_endpoint_overridden PASSED [ 29%] 247s tests/oauth2/rfc6749/endpoints/test_resource_owner_association.py::ResourceOwnerAssociationTest::test_backend_application PASSED [ 29%] 247s tests/oauth2/rfc6749/endpoints/test_resource_owner_association.py::ResourceOwnerAssociationTest::test_legacy_application PASSED [ 29%] 247s tests/oauth2/rfc6749/endpoints/test_resource_owner_association.py::ResourceOwnerAssociationTest::test_mobile_application PASSED [ 29%] 247s tests/oauth2/rfc6749/endpoints/test_resource_owner_association.py::ResourceOwnerAssociationTest::test_web_application PASSED [ 29%] 247s tests/oauth2/rfc6749/endpoints/test_revocation_endpoint.py::RevocationEndpointTest::test_revoke_bad_post_request PASSED [ 29%] 247s tests/oauth2/rfc6749/endpoints/test_revocation_endpoint.py::RevocationEndpointTest::test_revoke_invalid_request_method PASSED [ 30%] 247s tests/oauth2/rfc6749/endpoints/test_revocation_endpoint.py::RevocationEndpointTest::test_revoke_token PASSED [ 30%] 247s tests/oauth2/rfc6749/endpoints/test_revocation_endpoint.py::RevocationEndpointTest::test_revoke_token_client_authentication_failed PASSED [ 30%] 247s tests/oauth2/rfc6749/endpoints/test_revocation_endpoint.py::RevocationEndpointTest::test_revoke_token_public_client_authentication PASSED [ 30%] 247s tests/oauth2/rfc6749/endpoints/test_revocation_endpoint.py::RevocationEndpointTest::test_revoke_token_public_client_authentication_failed PASSED [ 30%] 247s tests/oauth2/rfc6749/endpoints/test_revocation_endpoint.py::RevocationEndpointTest::test_revoke_unsupported_token PASSED [ 30%] 247s tests/oauth2/rfc6749/endpoints/test_revocation_endpoint.py::RevocationEndpointTest::test_revoke_with_callback PASSED [ 31%] 247s tests/oauth2/rfc6749/endpoints/test_scope_handling.py::TestScopeHandling::test_invalid_scope PASSED [ 31%] 247s tests/oauth2/rfc6749/endpoints/test_scope_handling.py::TestScopeHandling::test_scope_changed PASSED [ 31%] 247s tests/oauth2/rfc6749/endpoints/test_scope_handling.py::TestScopeHandling::test_scope_extraction PASSED [ 31%] 247s tests/oauth2/rfc6749/endpoints/test_scope_handling.py::TestScopeHandling::test_scope_preservation PASSED [ 31%] 247s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_authenticate_client PASSED [ 31%] 247s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_authenticate_client_id PASSED [ 31%] 247s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_authentication_required PASSED [ 32%] 247s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_client_id_missing PASSED [ 32%] 247s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_code_modifier_called PASSED [ 32%] 247s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_correct_code_challenge_method_plain PASSED [ 32%] 247s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_correct_code_challenge_method_s256 PASSED [ 32%] 247s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_create_authorization_grant PASSED [ 32%] 247s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_create_authorization_grant_no_scopes PASSED [ 33%] 247s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_create_authorization_grant_state PASSED [ 33%] 247s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_create_authorization_response PASSED [ 33%] 247s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_create_cors_headers PASSED [ 33%] 247s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_create_cors_headers_insecure_origin PASSED [ 33%] 247s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_create_cors_headers_invalid_origin PASSED [ 33%] 247s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_create_cors_headers_no_origin PASSED [ 33%] 247s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_create_token_response PASSED [ 34%] 247s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_create_token_response_without_refresh_token PASSED [ 34%] 247s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_custom_auth_validators PASSED [ 34%] 247s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_custom_token_validators PASSED [ 34%] 247s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_hybrid_token_save PASSED [ 34%] 247s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_invalid_grant PASSED [ 34%] 247s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_invalid_grant_type PASSED [ 35%] 247s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_invalid_redirect_uri PASSED [ 35%] 247s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_invalid_request PASSED [ 35%] 247s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_invalid_request_duplicates PASSED [ 35%] 247s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_challenge_missing PASSED [ 35%] 247s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_default_method PASSED [ 35%] 247s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_optional_verifier_missing_challenge_valid PASSED [ 35%] 247s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_optional_verifier_valid_challenge_missing PASSED [ 36%] 247s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_required_verifier_invalid_challenge_valid_method_valid PASSED [ 36%] 247s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_required_verifier_missing_challenge_missing PASSED [ 36%] 247s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_required_verifier_missing_challenge_valid PASSED [ 36%] 247s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_required_verifier_valid_challenge_missing PASSED [ 36%] 247s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_required_verifier_valid_challenge_valid_method_valid PASSED [ 36%] 247s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_required_verifier_valid_challenge_valid_method_wrong PASSED [ 37%] 247s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_verifier_missing PASSED [ 37%] 247s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_verifier_valid_challenge_valid_method_missing PASSED [ 37%] 247s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_wrong_method PASSED [ 37%] 247s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_wrong_code_challenge_method_plain PASSED [ 37%] 247s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_wrong_code_challenge_method_s256 PASSED [ 37%] 247s tests/oauth2/rfc6749/grant_types/test_client_credentials.py::ClientCredentialsGrantTest::test_create_token_response PASSED [ 37%] 247s tests/oauth2/rfc6749/grant_types/test_client_credentials.py::ClientCredentialsGrantTest::test_custom_auth_validators_unsupported PASSED [ 38%] 247s tests/oauth2/rfc6749/grant_types/test_client_credentials.py::ClientCredentialsGrantTest::test_custom_token_validators PASSED [ 38%] 247s tests/oauth2/rfc6749/grant_types/test_client_credentials.py::ClientCredentialsGrantTest::test_error_response PASSED [ 38%] 247s tests/oauth2/rfc6749/grant_types/test_client_credentials.py::ClientCredentialsGrantTest::test_validate_token_response PASSED [ 38%] 247s tests/oauth2/rfc6749/grant_types/test_implicit.py::ImplicitGrantTest::test_create_token_response PASSED [ 38%] 247s tests/oauth2/rfc6749/grant_types/test_implicit.py::ImplicitGrantTest::test_custom_validators PASSED [ 38%] 247s tests/oauth2/rfc6749/grant_types/test_implicit.py::ImplicitGrantTest::test_error_response PASSED [ 38%] 247s tests/oauth2/rfc6749/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_authenticate_client_id PASSED [ 39%] 247s tests/oauth2/rfc6749/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_authentication_required PASSED [ 39%] 247s tests/oauth2/rfc6749/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_create_cors_headers PASSED [ 39%] 247s tests/oauth2/rfc6749/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_create_cors_headers_insecure_origin PASSED [ 39%] 247s tests/oauth2/rfc6749/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_create_cors_headers_invalid_origin PASSED [ 39%] 247s tests/oauth2/rfc6749/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_create_cors_headers_no_origin PASSED [ 39%] 247s tests/oauth2/rfc6749/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_create_token_inherit_scope PASSED [ 40%] 247s tests/oauth2/rfc6749/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_create_token_response PASSED [ 40%] 247s tests/oauth2/rfc6749/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_create_token_within_original_scope PASSED [ 40%] 247s tests/oauth2/rfc6749/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_custom_auth_validators_unsupported PASSED [ 40%] 247s tests/oauth2/rfc6749/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_custom_token_validators PASSED [ 40%] 247s tests/oauth2/rfc6749/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_invalid_client PASSED [ 40%] 247s tests/oauth2/rfc6749/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_invalid_grant_type PASSED [ 40%] 247s tests/oauth2/rfc6749/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_invalid_refresh_token PASSED [ 41%] 247s tests/oauth2/rfc6749/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_invalid_scope PASSED [ 41%] 247s tests/oauth2/rfc6749/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_invalid_scope_original_scopes_empty PASSED [ 41%] 247s tests/oauth2/rfc6749/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_invalid_token PASSED [ 41%] 247s tests/oauth2/rfc6749/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_valid_token_request PASSED [ 41%] 247s tests/oauth2/rfc6749/grant_types/test_resource_owner_password.py::ResourceOwnerPasswordCredentialsGrantTest::test_client_id_missing PASSED [ 41%] 247s tests/oauth2/rfc6749/grant_types/test_resource_owner_password.py::ResourceOwnerPasswordCredentialsGrantTest::test_create_token_response PASSED [ 42%] 247s tests/oauth2/rfc6749/grant_types/test_resource_owner_password.py::ResourceOwnerPasswordCredentialsGrantTest::test_create_token_response_without_refresh_token PASSED [ 42%] 247s tests/oauth2/rfc6749/grant_types/test_resource_owner_password.py::ResourceOwnerPasswordCredentialsGrantTest::test_custom_auth_validators_unsupported PASSED [ 42%] 247s tests/oauth2/rfc6749/grant_types/test_resource_owner_password.py::ResourceOwnerPasswordCredentialsGrantTest::test_custom_token_validators PASSED [ 42%] 247s tests/oauth2/rfc6749/grant_types/test_resource_owner_password.py::ResourceOwnerPasswordCredentialsGrantTest::test_error_response PASSED [ 42%] 247s tests/oauth2/rfc6749/grant_types/test_resource_owner_password.py::ResourceOwnerPasswordCredentialsGrantTest::test_invalid_grant_type PASSED [ 42%] 247s tests/oauth2/rfc6749/grant_types/test_resource_owner_password.py::ResourceOwnerPasswordCredentialsGrantTest::test_invalid_request_duplicates PASSED [ 42%] 247s tests/oauth2/rfc6749/grant_types/test_resource_owner_password.py::ResourceOwnerPasswordCredentialsGrantTest::test_invalid_request_missing_params PASSED [ 43%] 247s tests/oauth2/rfc6749/grant_types/test_resource_owner_password.py::ResourceOwnerPasswordCredentialsGrantTest::test_invalid_user PASSED [ 43%] 247s tests/oauth2/rfc6749/grant_types/test_resource_owner_password.py::ResourceOwnerPasswordCredentialsGrantTest::test_scopes PASSED [ 43%] 247s tests/oauth2/rfc6749/grant_types/test_resource_owner_password.py::ResourceOwnerPasswordCredentialsGrantTest::test_valid_token_request PASSED [ 43%] 247s tests/oauth2/rfc6749/test_parameters.py::ParameterTests::test_custom_json_error PASSED [ 43%] 247s tests/oauth2/rfc6749/test_parameters.py::ParameterTests::test_grant_response PASSED [ 43%] 247s tests/oauth2/rfc6749/test_parameters.py::ParameterTests::test_implicit_token_response PASSED [ 44%] 247s tests/oauth2/rfc6749/test_parameters.py::ParameterTests::test_json_token_notype PASSED [ 44%] 247s tests/oauth2/rfc6749/test_parameters.py::ParameterTests::test_json_token_response PASSED [ 44%] 247s tests/oauth2/rfc6749/test_parameters.py::ParameterTests::test_prepare_grant_uri PASSED [ 44%] 247s tests/oauth2/rfc6749/test_parameters.py::ParameterTests::test_prepare_token_request PASSED [ 44%] 247s tests/oauth2/rfc6749/test_parameters.py::ParameterTests::test_url_encoded_token_response PASSED [ 44%] 247s tests/oauth2/rfc6749/test_request_validator.py::RequestValidatorTest::test_method_contracts PASSED [ 44%] 247s tests/oauth2/rfc6749/test_server.py::AuthorizationEndpointTest::test_authorization_grant PASSED [ 45%] 247s tests/oauth2/rfc6749/test_server.py::AuthorizationEndpointTest::test_implicit_grant PASSED [ 45%] 247s tests/oauth2/rfc6749/test_server.py::AuthorizationEndpointTest::test_invalid_type PASSED [ 45%] 247s tests/oauth2/rfc6749/test_server.py::AuthorizationEndpointTest::test_missing_type PASSED [ 45%] 247s tests/oauth2/rfc6749/test_server.py::AuthorizationEndpointTest::test_none_grant PASSED [ 45%] 247s tests/oauth2/rfc6749/test_server.py::TokenEndpointTest::test_authorization_grant PASSED [ 45%] 247s tests/oauth2/rfc6749/test_server.py::TokenEndpointTest::test_client_grant PASSED [ 46%] 247s tests/oauth2/rfc6749/test_server.py::TokenEndpointTest::test_invalid_type PASSED [ 46%] 247s tests/oauth2/rfc6749/test_server.py::TokenEndpointTest::test_missing_type PASSED [ 46%] 247s tests/oauth2/rfc6749/test_server.py::TokenEndpointTest::test_password_grant PASSED [ 46%] 248s tests/oauth2/rfc6749/test_server.py::SignedTokenEndpointTest::test_authorization_grant PASSED [ 46%] 248s tests/oauth2/rfc6749/test_server.py::SignedTokenEndpointTest::test_client_grant PASSED [ 46%] 248s tests/oauth2/rfc6749/test_server.py::SignedTokenEndpointTest::test_invalid_type PASSED [ 46%] 248s tests/oauth2/rfc6749/test_server.py::SignedTokenEndpointTest::test_missing_type PASSED [ 47%] 248s tests/oauth2/rfc6749/test_server.py::SignedTokenEndpointTest::test_password_grant PASSED [ 47%] 248s tests/oauth2/rfc6749/test_server.py::SignedTokenEndpointTest::test_scopes_and_user_id_stored_in_access_token PASSED [ 47%] 248s tests/oauth2/rfc6749/test_server.py::ResourceEndpointTest::test_defaults PASSED [ 47%] 248s tests/oauth2/rfc6749/test_tokens.py::TokenTest::test_estimate_type PASSED [ 47%] 248s tests/oauth2/rfc6749/test_tokens.py::TokenTest::test_estimate_type_with_fake_header_returns_type_0 PASSED [ 47%] 248s tests/oauth2/rfc6749/test_tokens.py::TokenTest::test_fake_bearer_is_not_validated PASSED [ 48%] 248s tests/oauth2/rfc6749/test_tokens.py::TokenTest::test_header_with_multispaces_is_validated PASSED [ 48%] 248s tests/oauth2/rfc6749/test_tokens.py::TokenTest::test_lowercase_bearer_is_validated PASSED [ 48%] 248s tests/oauth2/rfc6749/test_tokens.py::TokenTest::test_prepare_bearer_request PASSED [ 48%] 248s tests/oauth2/rfc6749/test_tokens.py::TokenTest::test_prepare_mac_header PASSED [ 48%] 249s tests/oauth2/rfc6749/test_tokens.py::TokenTest::test_valid_bearer_is_validated PASSED [ 48%] 249s tests/oauth2/rfc6749/test_utils.py::UtilsTests::test_escape PASSED [ 48%] 249s tests/oauth2/rfc6749/test_utils.py::UtilsTests::test_generate_age PASSED [ 49%] 249s tests/oauth2/rfc6749/test_utils.py::UtilsTests::test_host_from_uri PASSED [ 49%] 249s tests/oauth2/rfc6749/test_utils.py::UtilsTests::test_is_secure_transport PASSED [ 49%] 249s tests/oauth2/rfc6749/test_utils.py::UtilsTests::test_list_to_scope PASSED [ 49%] 249s tests/oauth2/rfc6749/test_utils.py::UtilsTests::test_params_from_uri PASSED [ 49%] 249s tests/oauth2/rfc6749/test_utils.py::UtilsTests::test_scope_to_list PASSED [ 49%] 249s tests/oauth2/rfc8628/clients/test_device.py::DeviceClientTest::test_request_body PASSED [ 50%] 249s tests/oauth2/rfc8628/clients/test_device.py::DeviceClientTest::test_request_uri PASSED [ 50%] 249s tests/openid/connect/core/endpoints/test_claims_handling.py::TestClaimsHandling::test_claims_stored_on_code_creation PASSED [ 50%] 249s tests/openid/connect/core/endpoints/test_claims_handling.py::TestClaimsHandling::test_invalid_claims PASSED [ 50%] 249s tests/openid/connect/core/endpoints/test_openid_connect_params_handling.py::OpenIDConnectEndpointTest::test_authorization_endpoint_handles_prompt PASSED [ 50%] 249s tests/openid/connect/core/endpoints/test_openid_connect_params_handling.py::OpenIDConnectEndpointTest::test_oidc_params_preservation PASSED [ 50%] 249s tests/openid/connect/core/endpoints/test_openid_connect_params_handling.py::OpenIDConnectEndpointTest::test_prompt_none_exclusiveness PASSED [ 50%] 249s tests/openid/connect/core/endpoints/test_userinfo_endpoint.py::UserInfoEndpointTest::test_userinfo_json_response PASSED [ 51%] 249s tests/openid/connect/core/endpoints/test_userinfo_endpoint.py::UserInfoEndpointTest::test_userinfo_jwt_response PASSED [ 51%] 249s tests/openid/connect/core/endpoints/test_userinfo_endpoint.py::UserInfoEndpointTest::test_userinfo_no_auth PASSED [ 51%] 249s tests/openid/connect/core/endpoints/test_userinfo_endpoint.py::UserInfoEndpointTest::test_userinfo_token_expired PASSED [ 51%] 249s tests/openid/connect/core/endpoints/test_userinfo_endpoint.py::UserInfoEndpointTest::test_userinfo_token_no_openid_scope PASSED [ 51%] 249s tests/openid/connect/core/endpoints/test_userinfo_endpoint.py::UserInfoEndpointTest::test_userinfo_wrong_auth PASSED [ 51%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_authenticate_client PASSED [ 51%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_authenticate_client_id PASSED [ 52%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_authentication_required PASSED [ 52%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_client_id_missing PASSED [ 52%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_code_modifier_called PASSED [ 52%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_correct_code_challenge_method_plain PASSED [ 52%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_correct_code_challenge_method_s256 PASSED [ 52%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_create_authorization_grant PASSED [ 53%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_create_authorization_grant_no_scopes PASSED [ 53%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_create_authorization_grant_state PASSED [ 53%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_create_authorization_response PASSED [ 53%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_create_cors_headers PASSED [ 53%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_create_cors_headers_insecure_origin PASSED [ 53%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_create_cors_headers_invalid_origin PASSED [ 53%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_create_cors_headers_no_origin PASSED [ 54%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_create_token_response PASSED [ 54%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_create_token_response_without_refresh_token PASSED [ 54%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_custom_auth_validators PASSED [ 54%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_custom_token_validators PASSED [ 54%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_hybrid_token_save PASSED [ 54%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_invalid_grant PASSED [ 55%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_invalid_grant_type PASSED [ 55%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_invalid_redirect_uri PASSED [ 55%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_invalid_request PASSED [ 55%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_invalid_request_duplicates PASSED [ 55%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_challenge_missing PASSED [ 55%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_default_method PASSED [ 55%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_optional_verifier_missing_challenge_valid PASSED [ 56%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_optional_verifier_valid_challenge_missing PASSED [ 56%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_required_verifier_invalid_challenge_valid_method_valid PASSED [ 56%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_required_verifier_missing_challenge_missing PASSED [ 56%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_required_verifier_missing_challenge_valid PASSED [ 56%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_required_verifier_valid_challenge_missing PASSED [ 56%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_required_verifier_valid_challenge_valid_method_valid PASSED [ 57%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_required_verifier_valid_challenge_valid_method_wrong PASSED [ 57%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_verifier_missing PASSED [ 57%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_verifier_valid_challenge_valid_method_missing PASSED [ 57%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_wrong_method PASSED [ 57%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_wrong_code_challenge_method_plain PASSED [ 57%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_wrong_code_challenge_method_s256 PASSED [ 57%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_authenticate_client PASSED [ 58%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_authenticate_client_id PASSED [ 58%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_authentication_required PASSED [ 58%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_client_id_missing PASSED [ 58%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_code_modifier_called PASSED [ 58%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_correct_code_challenge_method_plain PASSED [ 58%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_correct_code_challenge_method_s256 PASSED [ 59%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_create_authorization_grant PASSED [ 59%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_create_authorization_grant_no_scopes PASSED [ 59%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_create_authorization_grant_state PASSED [ 59%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_create_authorization_response PASSED [ 59%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_create_cors_headers PASSED [ 59%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_create_cors_headers_insecure_origin PASSED [ 59%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_create_cors_headers_invalid_origin PASSED [ 60%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_create_cors_headers_no_origin PASSED [ 60%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_create_token_response PASSED [ 60%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_create_token_response_without_refresh_token PASSED [ 60%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_custom_auth_validators PASSED [ 60%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_custom_token_validators PASSED [ 60%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_hybrid_token_save PASSED [ 61%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_invalid_grant PASSED [ 61%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_invalid_grant_type PASSED [ 61%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_invalid_redirect_uri PASSED [ 61%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_invalid_request PASSED [ 61%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_invalid_request_duplicates PASSED [ 61%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_pkce_challenge_missing PASSED [ 61%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_pkce_default_method PASSED [ 62%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_pkce_optional_verifier_missing_challenge_valid PASSED [ 62%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_pkce_optional_verifier_valid_challenge_missing PASSED [ 62%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_pkce_required_verifier_invalid_challenge_valid_method_valid PASSED [ 62%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_pkce_required_verifier_missing_challenge_missing PASSED [ 62%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_pkce_required_verifier_missing_challenge_valid PASSED [ 62%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_pkce_required_verifier_valid_challenge_missing PASSED [ 62%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_pkce_required_verifier_valid_challenge_valid_method_valid PASSED [ 63%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_pkce_required_verifier_valid_challenge_valid_method_wrong PASSED [ 63%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_pkce_verifier_missing PASSED [ 63%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_pkce_verifier_valid_challenge_valid_method_missing PASSED [ 63%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_pkce_wrong_method PASSED [ 63%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_wrong_code_challenge_method_plain PASSED [ 63%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_wrong_code_challenge_method_s256 PASSED [ 64%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeTest::test_authorization PASSED [ 64%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeTest::test_create_token_response PASSED [ 64%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeTest::test_no_prompt_authorization PASSED [ 64%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeTest::test_none_multi_prompt PASSED [ 64%] 249s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeTest::test_optional_nonce PASSED [ 64%] 249s tests/openid/connect/core/grant_types/test_base.py::IDTokenTest::test_finalize_id_token PASSED [ 64%] 249s tests/openid/connect/core/grant_types/test_base.py::IDTokenTest::test_finalize_id_token_with_at_hash PASSED [ 65%] 249s tests/openid/connect/core/grant_types/test_base.py::IDTokenTest::test_finalize_id_token_with_c_and_at_hash PASSED [ 65%] 249s tests/openid/connect/core/grant_types/test_base.py::IDTokenTest::test_finalize_id_token_with_c_hash PASSED [ 65%] 249s tests/openid/connect/core/grant_types/test_base.py::IDTokenTest::test_finalize_id_token_with_nonce PASSED [ 65%] 249s tests/openid/connect/core/grant_types/test_base.py::IDTokenTest::test_get_id_token PASSED [ 65%] 249s tests/openid/connect/core/grant_types/test_base.py::IDTokenTest::test_get_id_token_no_openid PASSED [ 65%] 249s tests/openid/connect/core/grant_types/test_base.py::IDTokenTest::test_id_token_hash PASSED [ 66%] 249s tests/openid/connect/core/grant_types/test_dispatchers.py::ImplicitTokenGrantDispatcherTest::test_create_authorization_response_oauth PASSED [ 66%] 249s tests/openid/connect/core/grant_types/test_dispatchers.py::ImplicitTokenGrantDispatcherTest::test_create_authorization_response_openid PASSED [ 66%] 249s tests/openid/connect/core/grant_types/test_dispatchers.py::ImplicitTokenGrantDispatcherTest::test_validate_authorization_request_oauth PASSED [ 66%] 249s tests/openid/connect/core/grant_types/test_dispatchers.py::ImplicitTokenGrantDispatcherTest::test_validate_authorization_request_openid PASSED [ 66%] 249s tests/openid/connect/core/grant_types/test_dispatchers.py::AuthTokenGrantDispatcherOpenIdTest::test_create_token_response_openid PASSED [ 66%] 249s tests/openid/connect/core/grant_types/test_dispatchers.py::AuthTokenGrantDispatcherOpenIdWithoutCodeTest::test_create_token_response_openid_without_code PASSED [ 66%] 249s tests/openid/connect/core/grant_types/test_dispatchers.py::AuthTokenGrantDispatcherOAuthTest::test_create_token_response_oauth PASSED [ 67%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_authenticate_client PASSED [ 67%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_authenticate_client_id PASSED [ 67%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_authentication_required PASSED [ 67%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_client_id_missing PASSED [ 67%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_code_modifier_called PASSED [ 67%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_correct_code_challenge_method_plain PASSED [ 68%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_correct_code_challenge_method_s256 PASSED [ 68%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_create_authorization_grant PASSED [ 68%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_create_authorization_grant_no_scopes PASSED [ 68%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_create_authorization_grant_state PASSED [ 68%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_create_authorization_response PASSED [ 68%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_create_cors_headers PASSED [ 68%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_create_cors_headers_insecure_origin PASSED [ 69%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_create_cors_headers_invalid_origin PASSED [ 69%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_create_cors_headers_no_origin PASSED [ 69%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_create_token_response PASSED [ 69%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_create_token_response_without_refresh_token PASSED [ 69%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_custom_auth_validators PASSED [ 69%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_custom_token_validators PASSED [ 70%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_hybrid_token_save PASSED [ 70%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_invalid_grant PASSED [ 70%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_invalid_grant_type PASSED [ 70%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_invalid_redirect_uri PASSED [ 70%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_invalid_request PASSED [ 70%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_invalid_request_duplicates PASSED [ 70%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_pkce_challenge_missing PASSED [ 71%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_pkce_default_method PASSED [ 71%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_pkce_optional_verifier_missing_challenge_valid PASSED [ 71%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_pkce_optional_verifier_valid_challenge_missing PASSED [ 71%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_pkce_required_verifier_invalid_challenge_valid_method_valid PASSED [ 71%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_pkce_required_verifier_missing_challenge_missing PASSED [ 71%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_pkce_required_verifier_missing_challenge_valid PASSED [ 72%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_pkce_required_verifier_valid_challenge_missing PASSED [ 72%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_pkce_required_verifier_valid_challenge_valid_method_valid PASSED [ 72%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_pkce_required_verifier_valid_challenge_valid_method_wrong PASSED [ 72%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_pkce_verifier_missing PASSED [ 72%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_pkce_verifier_valid_challenge_valid_method_missing PASSED [ 72%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_pkce_wrong_method PASSED [ 72%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_wrong_code_challenge_method_plain PASSED [ 73%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_wrong_code_challenge_method_s256 PASSED [ 73%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDAuthCodeTest::test_authorization PASSED [ 73%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDAuthCodeTest::test_create_token_response PASSED [ 73%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDAuthCodeTest::test_no_prompt_authorization PASSED [ 73%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDAuthCodeTest::test_none_multi_prompt PASSED [ 73%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDAuthCodeTest::test_optional_nonce PASSED [ 74%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_authenticate_client PASSED [ 74%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_authenticate_client_id PASSED [ 74%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_authentication_required PASSED [ 74%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_client_id_missing PASSED [ 74%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_code_modifier_called PASSED [ 74%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_correct_code_challenge_method_plain PASSED [ 74%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_correct_code_challenge_method_s256 PASSED [ 75%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_create_authorization_grant PASSED [ 75%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_create_authorization_grant_no_scopes PASSED [ 75%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_create_authorization_grant_state PASSED [ 75%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_create_authorization_response PASSED [ 75%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_create_cors_headers PASSED [ 75%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_create_cors_headers_insecure_origin PASSED [ 75%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_create_cors_headers_invalid_origin PASSED [ 76%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_create_cors_headers_no_origin PASSED [ 76%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_create_token_response PASSED [ 76%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_create_token_response_without_refresh_token PASSED [ 76%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_custom_auth_validators PASSED [ 76%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_custom_token_validators PASSED [ 76%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_hybrid_token_save PASSED [ 77%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_invalid_grant PASSED [ 77%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_invalid_grant_type PASSED [ 77%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_invalid_redirect_uri PASSED [ 77%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_invalid_request PASSED [ 77%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_invalid_request_duplicates PASSED [ 77%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_pkce_challenge_missing PASSED [ 77%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_pkce_default_method PASSED [ 78%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_pkce_optional_verifier_missing_challenge_valid PASSED [ 78%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_pkce_optional_verifier_valid_challenge_missing PASSED [ 78%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_pkce_required_verifier_invalid_challenge_valid_method_valid PASSED [ 78%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_pkce_required_verifier_missing_challenge_missing PASSED [ 78%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_pkce_required_verifier_missing_challenge_valid PASSED [ 78%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_pkce_required_verifier_valid_challenge_missing PASSED [ 79%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_pkce_required_verifier_valid_challenge_valid_method_valid PASSED [ 79%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_pkce_required_verifier_valid_challenge_valid_method_wrong PASSED [ 79%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_pkce_verifier_missing PASSED [ 79%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_pkce_verifier_valid_challenge_valid_method_missing PASSED [ 79%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_pkce_wrong_method PASSED [ 79%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_wrong_code_challenge_method_plain PASSED [ 79%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_wrong_code_challenge_method_s256 PASSED [ 80%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridCodeTokenTest::test_authorization PASSED [ 80%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridCodeTokenTest::test_create_token_response PASSED [ 80%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridCodeTokenTest::test_no_prompt_authorization PASSED [ 80%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridCodeTokenTest::test_none_multi_prompt PASSED [ 80%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridCodeTokenTest::test_optional_nonce PASSED [ 80%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridCodeIdTokenTest::test_authorization PASSED [ 81%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridCodeIdTokenTest::test_create_token_response PASSED [ 81%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridCodeIdTokenTest::test_id_token_contains_nonce PASSED [ 81%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridCodeIdTokenTest::test_no_prompt_authorization PASSED [ 81%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridCodeIdTokenTest::test_none_multi_prompt PASSED [ 81%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridCodeIdTokenTest::test_optional_nonce PASSED [ 81%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridCodeIdTokenTest::test_required_nonce PASSED [ 81%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridCodeIdTokenTokenTest::test_authorization PASSED [ 82%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridCodeIdTokenTokenTest::test_create_token_response PASSED [ 82%] 249s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridCodeIdTokenTokenTest::test_no_prompt_authorization PASSED [ 82%] 250s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridCodeIdTokenTokenTest::test_none_multi_prompt PASSED [ 82%] 250s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridCodeIdTokenTokenTest::test_optional_nonce PASSED [ 82%] 250s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridCodeIdTokenTokenTest::test_required_nonce PASSED [ 82%] 250s tests/openid/connect/core/grant_types/test_implicit.py::ImplicitGrantTest::test_create_token_response PASSED [ 83%] 250s tests/openid/connect/core/grant_types/test_implicit.py::ImplicitGrantTest::test_custom_validators PASSED [ 83%] 250s tests/openid/connect/core/grant_types/test_implicit.py::ImplicitGrantTest::test_error_response PASSED [ 83%] 250s tests/openid/connect/core/grant_types/test_implicit.py::OpenIDImplicitInterferenceTest::test_create_token_response PASSED [ 83%] 250s tests/openid/connect/core/grant_types/test_implicit.py::OpenIDImplicitInterferenceTest::test_custom_validators PASSED [ 83%] 250s tests/openid/connect/core/grant_types/test_implicit.py::OpenIDImplicitInterferenceTest::test_error_response PASSED [ 83%] 250s tests/openid/connect/core/grant_types/test_implicit.py::OpenIDImplicitTest::test_authorization PASSED [ 83%] 250s tests/openid/connect/core/grant_types/test_implicit.py::OpenIDImplicitTest::test_no_prompt_authorization PASSED [ 84%] 250s tests/openid/connect/core/grant_types/test_implicit.py::OpenIDImplicitTest::test_none_multi_prompt PASSED [ 84%] 250s tests/openid/connect/core/grant_types/test_implicit.py::OpenIDImplicitTest::test_required_nonce PASSED [ 84%] 250s tests/openid/connect/core/grant_types/test_implicit.py::OpenIDImplicitNoAccessTokenTest::test_authorization PASSED [ 84%] 250s tests/openid/connect/core/grant_types/test_implicit.py::OpenIDImplicitNoAccessTokenTest::test_no_prompt_authorization PASSED [ 84%] 250s tests/openid/connect/core/grant_types/test_implicit.py::OpenIDImplicitNoAccessTokenTest::test_none_multi_prompt PASSED [ 84%] 250s tests/openid/connect/core/grant_types/test_implicit.py::OpenIDImplicitNoAccessTokenTest::test_required_nonce PASSED [ 85%] 250s tests/openid/connect/core/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_authenticate_client_id PASSED [ 85%] 250s tests/openid/connect/core/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_authentication_required PASSED [ 85%] 250s tests/openid/connect/core/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_create_cors_headers PASSED [ 85%] 250s tests/openid/connect/core/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_create_cors_headers_insecure_origin PASSED [ 85%] 250s tests/openid/connect/core/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_create_cors_headers_invalid_origin PASSED [ 85%] 250s tests/openid/connect/core/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_create_cors_headers_no_origin PASSED [ 85%] 250s tests/openid/connect/core/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_create_token_inherit_scope PASSED [ 86%] 250s tests/openid/connect/core/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_create_token_response PASSED [ 86%] 250s tests/openid/connect/core/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_create_token_within_original_scope PASSED [ 86%] 250s tests/openid/connect/core/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_custom_auth_validators_unsupported PASSED [ 86%] 250s tests/openid/connect/core/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_custom_token_validators PASSED [ 86%] 250s tests/openid/connect/core/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_invalid_client PASSED [ 86%] 250s tests/openid/connect/core/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_invalid_grant_type PASSED [ 87%] 250s tests/openid/connect/core/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_invalid_refresh_token PASSED [ 87%] 250s tests/openid/connect/core/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_invalid_scope PASSED [ 87%] 250s tests/openid/connect/core/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_invalid_scope_original_scopes_empty PASSED [ 87%] 250s tests/openid/connect/core/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_invalid_token PASSED [ 87%] 250s tests/openid/connect/core/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_valid_token_request PASSED [ 87%] 250s tests/openid/connect/core/grant_types/test_refresh_token.py::OpenIDRefreshTokenInterferenceTest::test_authenticate_client_id PASSED [ 87%] 250s tests/openid/connect/core/grant_types/test_refresh_token.py::OpenIDRefreshTokenInterferenceTest::test_authentication_required PASSED [ 88%] 250s tests/openid/connect/core/grant_types/test_refresh_token.py::OpenIDRefreshTokenInterferenceTest::test_create_cors_headers PASSED [ 88%] 250s tests/openid/connect/core/grant_types/test_refresh_token.py::OpenIDRefreshTokenInterferenceTest::test_create_cors_headers_insecure_origin PASSED [ 88%] 250s tests/openid/connect/core/grant_types/test_refresh_token.py::OpenIDRefreshTokenInterferenceTest::test_create_cors_headers_invalid_origin PASSED [ 88%] 250s tests/openid/connect/core/grant_types/test_refresh_token.py::OpenIDRefreshTokenInterferenceTest::test_create_cors_headers_no_origin PASSED [ 88%] 250s tests/openid/connect/core/grant_types/test_refresh_token.py::OpenIDRefreshTokenInterferenceTest::test_create_token_inherit_scope PASSED [ 88%] 250s tests/openid/connect/core/grant_types/test_refresh_token.py::OpenIDRefreshTokenInterferenceTest::test_create_token_response PASSED [ 88%] 250s tests/openid/connect/core/grant_types/test_refresh_token.py::OpenIDRefreshTokenInterferenceTest::test_create_token_within_original_scope PASSED [ 89%] 250s tests/openid/connect/core/grant_types/test_refresh_token.py::OpenIDRefreshTokenInterferenceTest::test_custom_auth_validators_unsupported PASSED [ 89%] 250s tests/openid/connect/core/grant_types/test_refresh_token.py::OpenIDRefreshTokenInterferenceTest::test_custom_token_validators PASSED [ 89%] 250s tests/openid/connect/core/grant_types/test_refresh_token.py::OpenIDRefreshTokenInterferenceTest::test_invalid_client PASSED [ 89%] 250s tests/openid/connect/core/grant_types/test_refresh_token.py::OpenIDRefreshTokenInterferenceTest::test_invalid_grant_type PASSED [ 89%] 250s tests/openid/connect/core/grant_types/test_refresh_token.py::OpenIDRefreshTokenInterferenceTest::test_invalid_refresh_token PASSED [ 89%] 250s tests/openid/connect/core/grant_types/test_refresh_token.py::OpenIDRefreshTokenInterferenceTest::test_invalid_scope PASSED [ 90%] 250s tests/openid/connect/core/grant_types/test_refresh_token.py::OpenIDRefreshTokenInterferenceTest::test_invalid_scope_original_scopes_empty PASSED [ 90%] 250s tests/openid/connect/core/grant_types/test_refresh_token.py::OpenIDRefreshTokenInterferenceTest::test_invalid_token PASSED [ 90%] 250s tests/openid/connect/core/grant_types/test_refresh_token.py::OpenIDRefreshTokenInterferenceTest::test_valid_token_request PASSED [ 90%] 250s tests/openid/connect/core/grant_types/test_refresh_token.py::OpenIDRefreshTokenTest::test_refresh_id_token PASSED [ 90%] 250s tests/openid/connect/core/grant_types/test_refresh_token.py::OpenIDRefreshTokenTest::test_refresh_id_token_false PASSED [ 90%] 250s tests/openid/connect/core/grant_types/test_refresh_token.py::OpenIDRefreshTokenTest::test_refresh_token_without_openid_scope PASSED [ 90%] 250s tests/openid/connect/core/test_request_validator.py::RequestValidatorTest::test_method_contracts PASSED [ 91%] 250s tests/openid/connect/core/test_server.py::AuthorizationEndpointTest::test_authorization_grant PASSED [ 91%] 250s tests/openid/connect/core/test_server.py::AuthorizationEndpointTest::test_implicit_grant PASSED [ 91%] 250s tests/openid/connect/core/test_server.py::AuthorizationEndpointTest::test_invalid_type PASSED [ 91%] 250s tests/openid/connect/core/test_server.py::AuthorizationEndpointTest::test_missing_type PASSED [ 91%] 250s tests/openid/connect/core/test_server.py::AuthorizationEndpointTest::test_none_grant PASSED [ 91%] 250s tests/openid/connect/core/test_server.py::TokenEndpointTest::test_authorization_grant PASSED [ 92%] 250s tests/openid/connect/core/test_server.py::TokenEndpointTest::test_invalid_type PASSED [ 92%] 250s tests/openid/connect/core/test_server.py::TokenEndpointTest::test_missing_type PASSED [ 92%] 250s tests/openid/connect/core/test_tokens.py::JWTTokenTestCase::test_create_token_callable_expires_in PASSED [ 92%] 250s tests/openid/connect/core/test_tokens.py::JWTTokenTestCase::test_create_token_calls_get_id_token PASSED [ 92%] 250s tests/openid/connect/core/test_tokens.py::JWTTokenTestCase::test_create_token_non_callable_expires_in PASSED [ 92%] 250s tests/openid/connect/core/test_tokens.py::JWTTokenTestCase::test_estimate_type PASSED [ 92%] 250s tests/openid/connect/core/test_tokens.py::JWTTokenTestCase::test_validate_request_token_from_headers PASSED [ 93%] 250s tests/openid/connect/core/test_tokens.py::JWTTokenTestCase::test_validate_request_token_from_headers_basic PASSED [ 93%] 250s tests/openid/connect/core/test_tokens.py::JWTTokenTestCase::test_validate_token_from_request PASSED [ 93%] 250s tests/test_common.py::EncodingTest::test_urldecode PASSED [ 93%] 250s tests/test_common.py::ParameterTest::test_add_params_to_uri PASSED [ 93%] 250s tests/test_common.py::ParameterTest::test_extract_invalid PASSED [ 93%] 250s tests/test_common.py::ParameterTest::test_extract_non_formencoded_string PASSED [ 94%] 250s tests/test_common.py::ParameterTest::test_extract_params_blank_string PASSED [ 94%] 250s tests/test_common.py::ParameterTest::test_extract_params_dict PASSED [ 94%] 250s tests/test_common.py::ParameterTest::test_extract_params_empty_list PASSED [ 94%] 250s tests/test_common.py::ParameterTest::test_extract_params_formencoded PASSED [ 94%] 250s tests/test_common.py::ParameterTest::test_extract_params_twotuple PASSED [ 94%] 250s tests/test_common.py::GeneratorTest::test_generate_client_id PASSED [ 94%] 250s tests/test_common.py::GeneratorTest::test_generate_nonce PASSED [ 95%] 250s tests/test_common.py::GeneratorTest::test_generate_timestamp PASSED [ 95%] 250s tests/test_common.py::GeneratorTest::test_generate_token PASSED [ 95%] 250s tests/test_common.py::RequestTest::test_dict_body PASSED [ 95%] 250s tests/test_common.py::RequestTest::test_empty_dict_body PASSED [ 95%] 250s tests/test_common.py::RequestTest::test_empty_list_body PASSED [ 95%] 250s tests/test_common.py::RequestTest::test_empty_string_body PASSED [ 96%] 250s tests/test_common.py::RequestTest::test_getattr_existing_attribute PASSED [ 96%] 250s tests/test_common.py::RequestTest::test_getattr_raise_attribute_error PASSED [ 96%] 250s tests/test_common.py::RequestTest::test_getattr_return_default PASSED [ 96%] 250s tests/test_common.py::RequestTest::test_headers_params PASSED [ 96%] 250s tests/test_common.py::RequestTest::test_list_body PASSED [ 96%] 250s tests/test_common.py::RequestTest::test_non_formencoded_string_body PASSED [ 96%] 250s tests/test_common.py::RequestTest::test_non_unicode_params PASSED [ 97%] 250s tests/test_common.py::RequestTest::test_none_body PASSED [ 97%] 250s tests/test_common.py::RequestTest::test_param_free_sequence_body PASSED [ 97%] 250s tests/test_common.py::RequestTest::test_password_body PASSED [ 97%] 250s tests/test_common.py::RequestTest::test_sanitized_request_non_debug_mode PASSED [ 97%] 250s tests/test_common.py::RequestTest::test_sanitizing_authorization_header PASSED [ 97%] 250s tests/test_common.py::RequestTest::test_token_body PASSED [ 98%] 250s tests/test_common.py::CaseInsensitiveDictTest::test_basic PASSED [ 98%] 250s tests/test_common.py::CaseInsensitiveDictTest::test_update PASSED [ 98%] 250s tests/test_uri_validate.py::UriValidateTest::test_combined_forbidden PASSED [ 98%] 250s tests/test_uri_validate.py::UriValidateTest::test_custom_scheme PASSED [ 98%] 250s tests/test_uri_validate.py::UriValidateTest::test_failures PASSED [ 98%] 250s tests/test_uri_validate.py::UriValidateTest::test_fragment_forbidden PASSED [ 98%] 250s tests/test_uri_validate.py::UriValidateTest::test_ipv4 PASSED [ 99%] 250s tests/test_uri_validate.py::UriValidateTest::test_ipv6_bracket PASSED [ 99%] 250s tests/test_uri_validate.py::UriValidateTest::test_ipv6_dual SKIPPED [ 99%] 250s tests/test_uri_validate.py::UriValidateTest::test_ipv6_edge_cases SKIPPED [ 99%] 250s tests/test_uri_validate.py::UriValidateTest::test_is_absolute_uri PASSED [ 99%] 250s tests/test_uri_validate.py::UriValidateTest::test_query PASSED [ 99%] 250s tests/test_uri_validate.py::UriValidateTest::test_recursive_regex PASSED [100%] 250s 250s =============================== warnings summary =============================== 250s tests/oauth2/rfc6749/clients/test_web_application.py::WebApplicationClientTest::test_prepare_request_body 250s /usr/lib/python3/dist-packages/oauthlib/oauth2/rfc6749/clients/web_application.py:163: DeprecationWarning: `client_id` has been deprecated in favor of `include_client_id`, a boolean value which will include the already configured `self.client_id`. 250s warnings.warn("`client_id` has been deprecated in favor of " 250s 250s tests/oauth2/rfc6749/test_server.py::SignedTokenEndpointTest::test_authorization_grant 250s tests/oauth2/rfc6749/test_server.py::SignedTokenEndpointTest::test_client_grant 250s tests/oauth2/rfc6749/test_server.py::SignedTokenEndpointTest::test_password_grant 250s tests/oauth2/rfc6749/test_server.py::SignedTokenEndpointTest::test_scopes_and_user_id_stored_in_access_token 250s /usr/lib/python3/dist-packages/oauthlib/common.py:203: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). 250s now = datetime.datetime.utcnow() 250s 250s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 250s =========================== short test summary info ============================ 250s SKIPPED [1] tests/test_uri_validate.py:58: ipv6 dual ipv4 not supported 250s SKIPPED [1] tests/test_uri_validate.py:47: ipv6 edge-cases not supported 250s ================== 652 passed, 2 skipped, 5 warnings in 5.16s ================== 251s ============================= test session starts ============================== 251s platform linux -- Python 3.13.1, pytest-8.3.3, pluggy-1.5.0 -- /usr/bin/python3.13 251s cachedir: .pytest_cache 251s rootdir: /tmp/autopkgtest.6ZHb7W/autopkgtest_tmp 251s plugins: typeguard-4.4.1 251s collecting ... collected 654 items 251s 251s tests/oauth1/rfc5849/endpoints/test_access_token.py::AccessTokenEndpointTest::test_check_request_token PASSED [ 0%] 251s tests/oauth1/rfc5849/endpoints/test_access_token.py::AccessTokenEndpointTest::test_check_verifier PASSED [ 0%] 251s tests/oauth1/rfc5849/endpoints/test_access_token.py::AccessTokenEndpointTest::test_valid_request PASSED [ 0%] 251s tests/oauth1/rfc5849/endpoints/test_access_token.py::AccessTokenEndpointTest::test_validate_client_key PASSED [ 0%] 251s tests/oauth1/rfc5849/endpoints/test_access_token.py::AccessTokenEndpointTest::test_validate_request_token PASSED [ 0%] 251s tests/oauth1/rfc5849/endpoints/test_access_token.py::AccessTokenEndpointTest::test_validate_signature PASSED [ 0%] 251s tests/oauth1/rfc5849/endpoints/test_access_token.py::AccessTokenEndpointTest::test_validate_verifier PASSED [ 1%] 251s tests/oauth1/rfc5849/endpoints/test_authorization.py::AuthorizationEndpointTest::test_create_authorization_response PASSED [ 1%] 251s tests/oauth1/rfc5849/endpoints/test_authorization.py::AuthorizationEndpointTest::test_create_authorization_response_oob PASSED [ 1%] 251s tests/oauth1/rfc5849/endpoints/test_authorization.py::AuthorizationEndpointTest::test_get_realms_and_credentials PASSED [ 1%] 251s tests/oauth1/rfc5849/endpoints/test_authorization.py::AuthorizationEndpointTest::test_verify_realms PASSED [ 1%] 251s tests/oauth1/rfc5849/endpoints/test_authorization.py::AuthorizationEndpointTest::test_verify_token PASSED [ 1%] 251s tests/oauth1/rfc5849/endpoints/test_base.py::BaseEndpointTest::test_case_insensitive_headers PASSED [ 1%] 251s tests/oauth1/rfc5849/endpoints/test_base.py::BaseEndpointTest::test_client_key_check PASSED [ 2%] 251s tests/oauth1/rfc5849/endpoints/test_base.py::BaseEndpointTest::test_duplicate_params PASSED [ 2%] 251s tests/oauth1/rfc5849/endpoints/test_base.py::BaseEndpointTest::test_enforce_ssl PASSED [ 2%] 251s tests/oauth1/rfc5849/endpoints/test_base.py::BaseEndpointTest::test_expired_timestamp PASSED [ 2%] 251s tests/oauth1/rfc5849/endpoints/test_base.py::BaseEndpointTest::test_invalid_version PASSED [ 2%] 251s tests/oauth1/rfc5849/endpoints/test_base.py::BaseEndpointTest::test_mandated_params PASSED [ 2%] 251s tests/oauth1/rfc5849/endpoints/test_base.py::BaseEndpointTest::test_missing_parameters PASSED [ 3%] 251s tests/oauth1/rfc5849/endpoints/test_base.py::BaseEndpointTest::test_multiple_source_params PASSED [ 3%] 251s tests/oauth1/rfc5849/endpoints/test_base.py::BaseEndpointTest::test_noncecheck PASSED [ 3%] 251s tests/oauth1/rfc5849/endpoints/test_base.py::BaseEndpointTest::test_oauth_timestamp PASSED [ 3%] 251s tests/oauth1/rfc5849/endpoints/test_base.py::BaseEndpointTest::test_oauth_version PASSED [ 3%] 251s tests/oauth1/rfc5849/endpoints/test_base.py::BaseEndpointTest::test_signature_method_validation PASSED [ 3%] 251s tests/oauth1/rfc5849/endpoints/test_base.py::BaseEndpointTest::test_signature_methods PASSED [ 3%] 251s tests/oauth1/rfc5849/endpoints/test_base.py::BaseEndpointTest::test_ssl_enforcement PASSED [ 4%] 251s tests/oauth1/rfc5849/endpoints/test_base.py::SignatureVerificationTest::test_hmac_signature PASSED [ 4%] 251s tests/oauth1/rfc5849/endpoints/test_base.py::SignatureVerificationTest::test_plaintext_signature PASSED [ 4%] 251s tests/oauth1/rfc5849/endpoints/test_base.py::SignatureVerificationTest::test_rsa_signature PASSED [ 4%] 251s tests/oauth1/rfc5849/endpoints/test_base.py::SignatureVerificationTest::test_signature_too_short PASSED [ 4%] 251s tests/oauth1/rfc5849/endpoints/test_request_token.py::RequestTokenEndpointTest::test_check_realms PASSED [ 4%] 251s tests/oauth1/rfc5849/endpoints/test_request_token.py::RequestTokenEndpointTest::test_check_redirect_uri PASSED [ 5%] 251s tests/oauth1/rfc5849/endpoints/test_request_token.py::RequestTokenEndpointTest::test_uri_provided_realm PASSED [ 5%] 251s tests/oauth1/rfc5849/endpoints/test_request_token.py::RequestTokenEndpointTest::test_valid_request PASSED [ 5%] 251s tests/oauth1/rfc5849/endpoints/test_request_token.py::RequestTokenEndpointTest::test_validate_client_key PASSED [ 5%] 251s tests/oauth1/rfc5849/endpoints/test_request_token.py::RequestTokenEndpointTest::test_validate_realms PASSED [ 5%] 251s tests/oauth1/rfc5849/endpoints/test_request_token.py::RequestTokenEndpointTest::test_validate_redirect_uri PASSED [ 5%] 251s tests/oauth1/rfc5849/endpoints/test_request_token.py::RequestTokenEndpointTest::test_validate_signature PASSED [ 5%] 251s tests/oauth1/rfc5849/endpoints/test_resource.py::ResourceEndpointTest::test_check_access_token PASSED [ 6%] 251s tests/oauth1/rfc5849/endpoints/test_resource.py::ResourceEndpointTest::test_missing_parameters PASSED [ 6%] 251s tests/oauth1/rfc5849/endpoints/test_resource.py::ResourceEndpointTest::test_valid_request PASSED [ 6%] 251s tests/oauth1/rfc5849/endpoints/test_resource.py::ResourceEndpointTest::test_validate_access_token PASSED [ 6%] 251s tests/oauth1/rfc5849/endpoints/test_resource.py::ResourceEndpointTest::test_validate_client_key PASSED [ 6%] 251s tests/oauth1/rfc5849/endpoints/test_resource.py::ResourceEndpointTest::test_validate_realms PASSED [ 6%] 251s tests/oauth1/rfc5849/endpoints/test_resource.py::ResourceEndpointTest::test_validate_signature PASSED [ 7%] 251s tests/oauth1/rfc5849/endpoints/test_signature_only.py::SignatureOnlyEndpointTest::test_missing_parameters PASSED [ 7%] 251s tests/oauth1/rfc5849/endpoints/test_signature_only.py::SignatureOnlyEndpointTest::test_valid_request PASSED [ 7%] 251s tests/oauth1/rfc5849/endpoints/test_signature_only.py::SignatureOnlyEndpointTest::test_validate_client_key PASSED [ 7%] 251s tests/oauth1/rfc5849/endpoints/test_signature_only.py::SignatureOnlyEndpointTest::test_validate_signature PASSED [ 7%] 251s tests/oauth1/rfc5849/test_client.py::ClientRealmTests::test_client_no_realm PASSED [ 7%] 251s tests/oauth1/rfc5849/test_client.py::ClientRealmTests::test_client_realm_sign_with_additional_realm PASSED [ 7%] 251s tests/oauth1/rfc5849/test_client.py::ClientRealmTests::test_client_realm_sign_with_default_realm PASSED [ 8%] 251s tests/oauth1/rfc5849/test_client.py::ClientConstructorTests::test_convert_to_unicode_resource_owner PASSED [ 8%] 251s tests/oauth1/rfc5849/test_client.py::ClientConstructorTests::test_decoding PASSED [ 8%] 251s tests/oauth1/rfc5849/test_client.py::ClientConstructorTests::test_give_explicit_nonce PASSED [ 8%] 251s tests/oauth1/rfc5849/test_client.py::ClientConstructorTests::test_give_explicit_timestamp PASSED [ 8%] 251s tests/oauth1/rfc5849/test_client.py::ClientConstructorTests::test_hmac_sha1 PASSED [ 8%] 251s tests/oauth1/rfc5849/test_client.py::ClientConstructorTests::test_hmac_sha256 PASSED [ 9%] 251s tests/oauth1/rfc5849/test_client.py::ClientConstructorTests::test_rsa PASSED [ 9%] 251s tests/oauth1/rfc5849/test_client.py::SignatureMethodTest::test_hmac_sha1_method PASSED [ 9%] 251s tests/oauth1/rfc5849/test_client.py::SignatureMethodTest::test_hmac_sha256_method PASSED [ 9%] 251s tests/oauth1/rfc5849/test_client.py::SignatureMethodTest::test_invalid_method PASSED [ 9%] 251s tests/oauth1/rfc5849/test_client.py::SignatureMethodTest::test_plaintext_method PASSED [ 9%] 251s tests/oauth1/rfc5849/test_client.py::SignatureMethodTest::test_register_method PASSED [ 9%] 251s tests/oauth1/rfc5849/test_client.py::SignatureMethodTest::test_rsa_method PASSED [ 10%] 251s tests/oauth1/rfc5849/test_client.py::SignatureMethodTest::test_rsa_no_key PASSED [ 10%] 251s tests/oauth1/rfc5849/test_client.py::SignatureTypeTest::test_invalid_signature_type PASSED [ 10%] 251s tests/oauth1/rfc5849/test_client.py::SignatureTypeTest::test_params_in_body PASSED [ 10%] 251s tests/oauth1/rfc5849/test_client.py::SignatureTypeTest::test_params_in_query PASSED [ 10%] 251s tests/oauth1/rfc5849/test_client.py::SigningTest::test_case_insensitive_headers PASSED [ 10%] 251s tests/oauth1/rfc5849/test_client.py::SigningTest::test_sign_body PASSED [ 11%] 251s tests/oauth1/rfc5849/test_client.py::SigningTest::test_sign_get_with_body PASSED [ 11%] 251s tests/oauth1/rfc5849/test_client.py::SigningTest::test_sign_no_body PASSED [ 11%] 251s tests/oauth1/rfc5849/test_client.py::SigningTest::test_sign_unicode PASSED [ 11%] 251s tests/oauth1/rfc5849/test_parameters.py::ParameterTests::test_append_params PASSED [ 11%] 251s tests/oauth1/rfc5849/test_parameters.py::ParameterTests::test_prepare_form_encoded_body PASSED [ 11%] 251s tests/oauth1/rfc5849/test_parameters.py::ParameterTests::test_prepare_headers PASSED [ 11%] 251s tests/oauth1/rfc5849/test_parameters.py::ParameterTests::test_prepare_headers_ignore_data PASSED [ 12%] 251s tests/oauth1/rfc5849/test_parameters.py::ParameterTests::test_prepare_request_uri_query PASSED [ 12%] 251s tests/oauth1/rfc5849/test_request_validator.py::RequestValidatorTests::test_check_length PASSED [ 12%] 251s tests/oauth1/rfc5849/test_request_validator.py::RequestValidatorTests::test_check_realms PASSED [ 12%] 251s tests/oauth1/rfc5849/test_request_validator.py::RequestValidatorTests::test_not_implemented PASSED [ 12%] 251s tests/oauth1/rfc5849/test_signatures.py::SignatureTests::test_base_string_uri PASSED [ 12%] 251s tests/oauth1/rfc5849/test_signatures.py::SignatureTests::test_collect_parameters PASSED [ 12%] 251s tests/oauth1/rfc5849/test_signatures.py::SignatureTests::test_hmac_false_positives PASSED [ 13%] 251s tests/oauth1/rfc5849/test_signatures.py::SignatureTests::test_normalize_parameters PASSED [ 13%] 251s tests/oauth1/rfc5849/test_signatures.py::SignatureTests::test_plaintext_false_positives PASSED [ 13%] 251s tests/oauth1/rfc5849/test_signatures.py::SignatureTests::test_rsa_bad_keys PASSED [ 13%] 252s tests/oauth1/rfc5849/test_signatures.py::SignatureTests::test_rsa_false_positives PASSED [ 13%] 252s tests/oauth1/rfc5849/test_signatures.py::SignatureTests::test_rsa_jwt_algorithm_cache PASSED [ 13%] 252s tests/oauth1/rfc5849/test_signatures.py::SignatureTests::test_sign_hmac_sha1_with_client PASSED [ 14%] 252s tests/oauth1/rfc5849/test_signatures.py::SignatureTests::test_sign_hmac_sha256_with_client PASSED [ 14%] 252s tests/oauth1/rfc5849/test_signatures.py::SignatureTests::test_sign_hmac_sha512_with_client PASSED [ 14%] 252s tests/oauth1/rfc5849/test_signatures.py::SignatureTests::test_sign_plaintext_with_client PASSED [ 14%] 252s tests/oauth1/rfc5849/test_signatures.py::SignatureTests::test_sign_rsa_sha1_with_client PASSED [ 14%] 252s tests/oauth1/rfc5849/test_signatures.py::SignatureTests::test_sign_rsa_sha256_with_client PASSED [ 14%] 252s tests/oauth1/rfc5849/test_signatures.py::SignatureTests::test_sign_rsa_sha512_with_client PASSED [ 14%] 252s tests/oauth1/rfc5849/test_signatures.py::SignatureTests::test_signature_base_string PASSED [ 15%] 252s tests/oauth1/rfc5849/test_utils.py::UtilsTests::test_escape PASSED [ 15%] 252s tests/oauth1/rfc5849/test_utils.py::UtilsTests::test_filter_oauth_params PASSED [ 15%] 252s tests/oauth1/rfc5849/test_utils.py::UtilsTests::test_filter_params PASSED [ 15%] 252s tests/oauth1/rfc5849/test_utils.py::UtilsTests::test_parse_authorization_header PASSED [ 15%] 252s tests/oauth1/rfc5849/test_utils.py::UtilsTests::test_unescape PASSED [ 15%] 252s tests/oauth2/rfc6749/clients/test_backend_application.py::BackendApplicationClientTest::test_parse_token_response PASSED [ 16%] 252s tests/oauth2/rfc6749/clients/test_backend_application.py::BackendApplicationClientTest::test_request_body PASSED [ 16%] 252s tests/oauth2/rfc6749/clients/test_base.py::ClientTest::test_add_bearer_token PASSED [ 16%] 252s tests/oauth2/rfc6749/clients/test_base.py::ClientTest::test_add_mac_token PASSED [ 16%] 252s tests/oauth2/rfc6749/clients/test_base.py::ClientTest::test_create_code_challenge_plain PASSED [ 16%] 252s tests/oauth2/rfc6749/clients/test_base.py::ClientTest::test_create_code_challenge_s256 PASSED [ 16%] 252s tests/oauth2/rfc6749/clients/test_base.py::ClientTest::test_create_code_verifier_max_length PASSED [ 16%] 252s tests/oauth2/rfc6749/clients/test_base.py::ClientTest::test_create_code_verifier_min_length PASSED [ 17%] 252s tests/oauth2/rfc6749/clients/test_base.py::ClientTest::test_parse_token_response_invalid_expires_at PASSED [ 17%] 252s tests/oauth2/rfc6749/clients/test_base.py::ClientTest::test_prepare_authorization_request PASSED [ 17%] 252s tests/oauth2/rfc6749/clients/test_base.py::ClientTest::test_prepare_refresh_token_request PASSED [ 17%] 252s tests/oauth2/rfc6749/clients/test_base.py::ClientTest::test_prepare_token_request PASSED [ 17%] 252s tests/oauth2/rfc6749/clients/test_base.py::ClientTest::test_revocation_request PASSED [ 17%] 252s tests/oauth2/rfc6749/clients/test_legacy_application.py::LegacyApplicationClientTest::test_parse_token_response PASSED [ 18%] 252s tests/oauth2/rfc6749/clients/test_legacy_application.py::LegacyApplicationClientTest::test_prepare_request_body PASSED [ 18%] 252s tests/oauth2/rfc6749/clients/test_legacy_application.py::LegacyApplicationClientTest::test_request_body PASSED [ 18%] 252s tests/oauth2/rfc6749/clients/test_mobile_application.py::MobileApplicationClientTest::test_implicit_token_uri PASSED [ 18%] 252s tests/oauth2/rfc6749/clients/test_mobile_application.py::MobileApplicationClientTest::test_parse_token_response PASSED [ 18%] 252s tests/oauth2/rfc6749/clients/test_mobile_application.py::MobileApplicationClientTest::test_populate_attributes PASSED [ 18%] 252s tests/oauth2/rfc6749/clients/test_service_application.py::ServiceApplicationClientTest::test_parse_token_response PASSED [ 18%] 252s tests/oauth2/rfc6749/clients/test_service_application.py::ServiceApplicationClientTest::test_request_body PASSED [ 19%] 252s tests/oauth2/rfc6749/clients/test_service_application.py::ServiceApplicationClientTest::test_request_body_no_initial_private_key PASSED [ 19%] 252s tests/oauth2/rfc6749/clients/test_web_application.py::WebApplicationClientTest::test_auth_grant_uri PASSED [ 19%] 252s tests/oauth2/rfc6749/clients/test_web_application.py::WebApplicationClientTest::test_parse_grant_uri_response PASSED [ 19%] 252s tests/oauth2/rfc6749/clients/test_web_application.py::WebApplicationClientTest::test_parse_token_response PASSED [ 19%] 252s tests/oauth2/rfc6749/clients/test_web_application.py::WebApplicationClientTest::test_populate_attributes PASSED [ 19%] 252s tests/oauth2/rfc6749/clients/test_web_application.py::WebApplicationClientTest::test_prepare_authorization_requeset PASSED [ 20%] 252s tests/oauth2/rfc6749/clients/test_web_application.py::WebApplicationClientTest::test_prepare_request_body PASSED [ 20%] 252s tests/oauth2/rfc6749/clients/test_web_application.py::WebApplicationClientTest::test_request_body PASSED [ 20%] 252s tests/oauth2/rfc6749/endpoints/test_base_endpoint.py::BaseEndpointTest::test_default_config PASSED [ 20%] 252s tests/oauth2/rfc6749/endpoints/test_base_endpoint.py::BaseEndpointTest::test_error_catching PASSED [ 20%] 252s tests/oauth2/rfc6749/endpoints/test_base_endpoint.py::BaseEndpointTest::test_unavailability PASSED [ 20%] 252s tests/oauth2/rfc6749/endpoints/test_base_endpoint.py::BaseEndpointTest::test_wrapper PASSED [ 20%] 252s tests/oauth2/rfc6749/endpoints/test_client_authentication.py::ClientAuthenticationTest::test_basicauth_backend PASSED [ 21%] 252s tests/oauth2/rfc6749/endpoints/test_client_authentication.py::ClientAuthenticationTest::test_basicauth_introspect PASSED [ 21%] 252s tests/oauth2/rfc6749/endpoints/test_client_authentication.py::ClientAuthenticationTest::test_basicauth_legacy PASSED [ 21%] 252s tests/oauth2/rfc6749/endpoints/test_client_authentication.py::ClientAuthenticationTest::test_basicauth_revoke PASSED [ 21%] 252s tests/oauth2/rfc6749/endpoints/test_client_authentication.py::ClientAuthenticationTest::test_basicauth_web PASSED [ 21%] 252s tests/oauth2/rfc6749/endpoints/test_client_authentication.py::ClientAuthenticationTest::test_client_id_authentication PASSED [ 21%] 252s tests/oauth2/rfc6749/endpoints/test_client_authentication.py::ClientAuthenticationTest::test_custom_authentication PASSED [ 22%] 252s tests/oauth2/rfc6749/endpoints/test_credentials_preservation.py::PreservationTest::test_default_uri PASSED [ 22%] 252s tests/oauth2/rfc6749/endpoints/test_credentials_preservation.py::PreservationTest::test_default_uri_in_token PASSED [ 22%] 252s tests/oauth2/rfc6749/endpoints/test_credentials_preservation.py::PreservationTest::test_invalid_redirect_uri PASSED [ 22%] 252s tests/oauth2/rfc6749/endpoints/test_credentials_preservation.py::PreservationTest::test_redirect_uri_preservation PASSED [ 22%] 252s tests/oauth2/rfc6749/endpoints/test_credentials_preservation.py::PreservationTest::test_state_preservation PASSED [ 22%] 252s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_access_denied PASSED [ 22%] 252s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_access_denied_no_default_redirecturi PASSED [ 23%] 252s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_empty_parameter PASSED [ 23%] 252s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_invalid_client PASSED [ 23%] 252s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_invalid_client_id PASSED [ 23%] 252s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_invalid_default_redirect_uri PASSED [ 23%] 252s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_invalid_grant PASSED [ 23%] 252s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_invalid_post_request PASSED [ 24%] 252s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_invalid_redirect_uri PASSED [ 24%] 252s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_invalid_request PASSED [ 24%] 252s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_invalid_request_duplicate_params PASSED [ 24%] 252s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_invalid_request_method PASSED [ 24%] 252s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_invalid_request_missing_response_type PASSED [ 24%] 252s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_invalid_scope PASSED [ 24%] 252s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_mismatching_redirect_uri PASSED [ 25%] 252s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_missing_client_id PASSED [ 25%] 252s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_missing_redirect_uri PASSED [ 25%] 252s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_server_error PASSED [ 25%] 252s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_temporarily_unavailable PASSED [ 25%] 252s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_unauthorized_client PASSED [ 25%] 252s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_unsupported_grant_type PASSED [ 25%] 252s tests/oauth2/rfc6749/endpoints/test_error_responses.py::ErrorResponseTest::test_unsupported_response_type PASSED [ 26%] 252s tests/oauth2/rfc6749/endpoints/test_extra_credentials.py::ExtraCredentialsTest::test_post_authorization_request PASSED [ 26%] 252s tests/oauth2/rfc6749/endpoints/test_extra_credentials.py::ExtraCredentialsTest::test_token_request PASSED [ 26%] 252s tests/oauth2/rfc6749/endpoints/test_introspect_endpoint.py::IntrospectEndpointTest::test_introspect_bad_post_request PASSED [ 26%] 252s tests/oauth2/rfc6749/endpoints/test_introspect_endpoint.py::IntrospectEndpointTest::test_introspect_invalid_request_method PASSED [ 26%] 252s tests/oauth2/rfc6749/endpoints/test_introspect_endpoint.py::IntrospectEndpointTest::test_introspect_token PASSED [ 26%] 252s tests/oauth2/rfc6749/endpoints/test_introspect_endpoint.py::IntrospectEndpointTest::test_introspect_token_claims PASSED [ 27%] 252s tests/oauth2/rfc6749/endpoints/test_introspect_endpoint.py::IntrospectEndpointTest::test_introspect_token_claims_spoof_active PASSED [ 27%] 252s tests/oauth2/rfc6749/endpoints/test_introspect_endpoint.py::IntrospectEndpointTest::test_introspect_token_client_authentication_failed PASSED [ 27%] 252s tests/oauth2/rfc6749/endpoints/test_introspect_endpoint.py::IntrospectEndpointTest::test_introspect_token_false PASSED [ 27%] 252s tests/oauth2/rfc6749/endpoints/test_introspect_endpoint.py::IntrospectEndpointTest::test_introspect_token_nohint PASSED [ 27%] 252s tests/oauth2/rfc6749/endpoints/test_introspect_endpoint.py::IntrospectEndpointTest::test_introspect_token_public_client_authentication PASSED [ 27%] 252s tests/oauth2/rfc6749/endpoints/test_introspect_endpoint.py::IntrospectEndpointTest::test_introspect_token_public_client_authentication_failed PASSED [ 27%] 252s tests/oauth2/rfc6749/endpoints/test_introspect_endpoint.py::IntrospectEndpointTest::test_introspect_unsupported_token PASSED [ 28%] 252s tests/oauth2/rfc6749/endpoints/test_metadata.py::MetadataEndpointTest::test_create_metadata_response PASSED [ 28%] 252s tests/oauth2/rfc6749/endpoints/test_metadata.py::MetadataEndpointTest::test_mandatory_fields PASSED [ 28%] 252s tests/oauth2/rfc6749/endpoints/test_metadata.py::MetadataEndpointTest::test_metadata_validate_issuer PASSED [ 28%] 252s tests/oauth2/rfc6749/endpoints/test_metadata.py::MetadataEndpointTest::test_openid_oauth2_preconfigured PASSED [ 28%] 252s tests/oauth2/rfc6749/endpoints/test_metadata.py::MetadataEndpointTest::test_server_metadata PASSED [ 28%] 252s tests/oauth2/rfc6749/endpoints/test_metadata.py::MetadataEndpointTest::test_token_endpoint PASSED [ 29%] 252s tests/oauth2/rfc6749/endpoints/test_metadata.py::MetadataEndpointTest::test_token_endpoint_overridden PASSED [ 29%] 252s tests/oauth2/rfc6749/endpoints/test_resource_owner_association.py::ResourceOwnerAssociationTest::test_backend_application PASSED [ 29%] 252s tests/oauth2/rfc6749/endpoints/test_resource_owner_association.py::ResourceOwnerAssociationTest::test_legacy_application PASSED [ 29%] 252s tests/oauth2/rfc6749/endpoints/test_resource_owner_association.py::ResourceOwnerAssociationTest::test_mobile_application PASSED [ 29%] 252s tests/oauth2/rfc6749/endpoints/test_resource_owner_association.py::ResourceOwnerAssociationTest::test_web_application PASSED [ 29%] 252s tests/oauth2/rfc6749/endpoints/test_revocation_endpoint.py::RevocationEndpointTest::test_revoke_bad_post_request PASSED [ 29%] 252s tests/oauth2/rfc6749/endpoints/test_revocation_endpoint.py::RevocationEndpointTest::test_revoke_invalid_request_method PASSED [ 30%] 252s tests/oauth2/rfc6749/endpoints/test_revocation_endpoint.py::RevocationEndpointTest::test_revoke_token PASSED [ 30%] 252s tests/oauth2/rfc6749/endpoints/test_revocation_endpoint.py::RevocationEndpointTest::test_revoke_token_client_authentication_failed PASSED [ 30%] 252s tests/oauth2/rfc6749/endpoints/test_revocation_endpoint.py::RevocationEndpointTest::test_revoke_token_public_client_authentication PASSED [ 30%] 252s tests/oauth2/rfc6749/endpoints/test_revocation_endpoint.py::RevocationEndpointTest::test_revoke_token_public_client_authentication_failed PASSED [ 30%] 252s tests/oauth2/rfc6749/endpoints/test_revocation_endpoint.py::RevocationEndpointTest::test_revoke_unsupported_token PASSED [ 30%] 252s tests/oauth2/rfc6749/endpoints/test_revocation_endpoint.py::RevocationEndpointTest::test_revoke_with_callback PASSED [ 31%] 252s tests/oauth2/rfc6749/endpoints/test_scope_handling.py::TestScopeHandling::test_invalid_scope PASSED [ 31%] 252s tests/oauth2/rfc6749/endpoints/test_scope_handling.py::TestScopeHandling::test_scope_changed PASSED [ 31%] 252s tests/oauth2/rfc6749/endpoints/test_scope_handling.py::TestScopeHandling::test_scope_extraction PASSED [ 31%] 252s tests/oauth2/rfc6749/endpoints/test_scope_handling.py::TestScopeHandling::test_scope_preservation PASSED [ 31%] 252s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_authenticate_client PASSED [ 31%] 252s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_authenticate_client_id PASSED [ 31%] 252s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_authentication_required PASSED [ 32%] 252s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_client_id_missing PASSED [ 32%] 252s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_code_modifier_called PASSED [ 32%] 252s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_correct_code_challenge_method_plain PASSED [ 32%] 252s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_correct_code_challenge_method_s256 PASSED [ 32%] 252s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_create_authorization_grant PASSED [ 32%] 252s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_create_authorization_grant_no_scopes PASSED [ 33%] 252s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_create_authorization_grant_state PASSED [ 33%] 252s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_create_authorization_response PASSED [ 33%] 252s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_create_cors_headers PASSED [ 33%] 252s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_create_cors_headers_insecure_origin PASSED [ 33%] 252s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_create_cors_headers_invalid_origin PASSED [ 33%] 252s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_create_cors_headers_no_origin PASSED [ 33%] 252s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_create_token_response PASSED [ 34%] 252s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_create_token_response_without_refresh_token PASSED [ 34%] 252s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_custom_auth_validators PASSED [ 34%] 252s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_custom_token_validators PASSED [ 34%] 252s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_hybrid_token_save PASSED [ 34%] 252s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_invalid_grant PASSED [ 34%] 252s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_invalid_grant_type PASSED [ 35%] 252s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_invalid_redirect_uri PASSED [ 35%] 252s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_invalid_request PASSED [ 35%] 252s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_invalid_request_duplicates PASSED [ 35%] 252s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_challenge_missing PASSED [ 35%] 252s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_default_method PASSED [ 35%] 252s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_optional_verifier_missing_challenge_valid PASSED [ 35%] 252s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_optional_verifier_valid_challenge_missing PASSED [ 36%] 252s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_required_verifier_invalid_challenge_valid_method_valid PASSED [ 36%] 252s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_required_verifier_missing_challenge_missing PASSED [ 36%] 252s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_required_verifier_missing_challenge_valid PASSED [ 36%] 252s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_required_verifier_valid_challenge_missing PASSED [ 36%] 252s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_required_verifier_valid_challenge_valid_method_valid PASSED [ 36%] 252s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_required_verifier_valid_challenge_valid_method_wrong PASSED [ 37%] 252s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_verifier_missing PASSED [ 37%] 252s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_verifier_valid_challenge_valid_method_missing PASSED [ 37%] 252s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_wrong_method PASSED [ 37%] 252s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_wrong_code_challenge_method_plain PASSED [ 37%] 252s tests/oauth2/rfc6749/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_wrong_code_challenge_method_s256 PASSED [ 37%] 252s tests/oauth2/rfc6749/grant_types/test_client_credentials.py::ClientCredentialsGrantTest::test_create_token_response PASSED [ 37%] 252s tests/oauth2/rfc6749/grant_types/test_client_credentials.py::ClientCredentialsGrantTest::test_custom_auth_validators_unsupported PASSED [ 38%] 252s tests/oauth2/rfc6749/grant_types/test_client_credentials.py::ClientCredentialsGrantTest::test_custom_token_validators PASSED [ 38%] 252s tests/oauth2/rfc6749/grant_types/test_client_credentials.py::ClientCredentialsGrantTest::test_error_response PASSED [ 38%] 252s tests/oauth2/rfc6749/grant_types/test_client_credentials.py::ClientCredentialsGrantTest::test_validate_token_response PASSED [ 38%] 252s tests/oauth2/rfc6749/grant_types/test_implicit.py::ImplicitGrantTest::test_create_token_response PASSED [ 38%] 252s tests/oauth2/rfc6749/grant_types/test_implicit.py::ImplicitGrantTest::test_custom_validators PASSED [ 38%] 252s tests/oauth2/rfc6749/grant_types/test_implicit.py::ImplicitGrantTest::test_error_response PASSED [ 38%] 252s tests/oauth2/rfc6749/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_authenticate_client_id PASSED [ 39%] 252s tests/oauth2/rfc6749/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_authentication_required PASSED [ 39%] 252s tests/oauth2/rfc6749/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_create_cors_headers PASSED [ 39%] 253s tests/oauth2/rfc6749/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_create_cors_headers_insecure_origin PASSED [ 39%] 253s tests/oauth2/rfc6749/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_create_cors_headers_invalid_origin PASSED [ 39%] 253s tests/oauth2/rfc6749/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_create_cors_headers_no_origin PASSED [ 39%] 253s tests/oauth2/rfc6749/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_create_token_inherit_scope PASSED [ 40%] 253s tests/oauth2/rfc6749/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_create_token_response PASSED [ 40%] 253s tests/oauth2/rfc6749/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_create_token_within_original_scope PASSED [ 40%] 253s tests/oauth2/rfc6749/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_custom_auth_validators_unsupported PASSED [ 40%] 253s tests/oauth2/rfc6749/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_custom_token_validators PASSED [ 40%] 253s tests/oauth2/rfc6749/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_invalid_client PASSED [ 40%] 253s tests/oauth2/rfc6749/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_invalid_grant_type PASSED [ 40%] 253s tests/oauth2/rfc6749/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_invalid_refresh_token PASSED [ 41%] 253s tests/oauth2/rfc6749/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_invalid_scope PASSED [ 41%] 253s tests/oauth2/rfc6749/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_invalid_scope_original_scopes_empty PASSED [ 41%] 253s tests/oauth2/rfc6749/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_invalid_token PASSED [ 41%] 253s tests/oauth2/rfc6749/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_valid_token_request PASSED [ 41%] 253s tests/oauth2/rfc6749/grant_types/test_resource_owner_password.py::ResourceOwnerPasswordCredentialsGrantTest::test_client_id_missing PASSED [ 41%] 253s tests/oauth2/rfc6749/grant_types/test_resource_owner_password.py::ResourceOwnerPasswordCredentialsGrantTest::test_create_token_response PASSED [ 42%] 253s tests/oauth2/rfc6749/grant_types/test_resource_owner_password.py::ResourceOwnerPasswordCredentialsGrantTest::test_create_token_response_without_refresh_token PASSED [ 42%] 253s tests/oauth2/rfc6749/grant_types/test_resource_owner_password.py::ResourceOwnerPasswordCredentialsGrantTest::test_custom_auth_validators_unsupported PASSED [ 42%] 253s tests/oauth2/rfc6749/grant_types/test_resource_owner_password.py::ResourceOwnerPasswordCredentialsGrantTest::test_custom_token_validators PASSED [ 42%] 253s tests/oauth2/rfc6749/grant_types/test_resource_owner_password.py::ResourceOwnerPasswordCredentialsGrantTest::test_error_response PASSED [ 42%] 253s tests/oauth2/rfc6749/grant_types/test_resource_owner_password.py::ResourceOwnerPasswordCredentialsGrantTest::test_invalid_grant_type PASSED [ 42%] 253s tests/oauth2/rfc6749/grant_types/test_resource_owner_password.py::ResourceOwnerPasswordCredentialsGrantTest::test_invalid_request_duplicates PASSED [ 42%] 253s tests/oauth2/rfc6749/grant_types/test_resource_owner_password.py::ResourceOwnerPasswordCredentialsGrantTest::test_invalid_request_missing_params PASSED [ 43%] 253s tests/oauth2/rfc6749/grant_types/test_resource_owner_password.py::ResourceOwnerPasswordCredentialsGrantTest::test_invalid_user PASSED [ 43%] 253s tests/oauth2/rfc6749/grant_types/test_resource_owner_password.py::ResourceOwnerPasswordCredentialsGrantTest::test_scopes PASSED [ 43%] 253s tests/oauth2/rfc6749/grant_types/test_resource_owner_password.py::ResourceOwnerPasswordCredentialsGrantTest::test_valid_token_request PASSED [ 43%] 253s tests/oauth2/rfc6749/test_parameters.py::ParameterTests::test_custom_json_error PASSED [ 43%] 253s tests/oauth2/rfc6749/test_parameters.py::ParameterTests::test_grant_response PASSED [ 43%] 253s tests/oauth2/rfc6749/test_parameters.py::ParameterTests::test_implicit_token_response PASSED [ 44%] 253s tests/oauth2/rfc6749/test_parameters.py::ParameterTests::test_json_token_notype PASSED [ 44%] 253s tests/oauth2/rfc6749/test_parameters.py::ParameterTests::test_json_token_response PASSED [ 44%] 253s tests/oauth2/rfc6749/test_parameters.py::ParameterTests::test_prepare_grant_uri PASSED [ 44%] 253s tests/oauth2/rfc6749/test_parameters.py::ParameterTests::test_prepare_token_request PASSED [ 44%] 253s tests/oauth2/rfc6749/test_parameters.py::ParameterTests::test_url_encoded_token_response PASSED [ 44%] 253s tests/oauth2/rfc6749/test_request_validator.py::RequestValidatorTest::test_method_contracts PASSED [ 44%] 253s tests/oauth2/rfc6749/test_server.py::AuthorizationEndpointTest::test_authorization_grant PASSED [ 45%] 253s tests/oauth2/rfc6749/test_server.py::AuthorizationEndpointTest::test_implicit_grant PASSED [ 45%] 253s tests/oauth2/rfc6749/test_server.py::AuthorizationEndpointTest::test_invalid_type PASSED [ 45%] 253s tests/oauth2/rfc6749/test_server.py::AuthorizationEndpointTest::test_missing_type PASSED [ 45%] 253s tests/oauth2/rfc6749/test_server.py::AuthorizationEndpointTest::test_none_grant PASSED [ 45%] 253s tests/oauth2/rfc6749/test_server.py::TokenEndpointTest::test_authorization_grant PASSED [ 45%] 253s tests/oauth2/rfc6749/test_server.py::TokenEndpointTest::test_client_grant PASSED [ 46%] 253s tests/oauth2/rfc6749/test_server.py::TokenEndpointTest::test_invalid_type PASSED [ 46%] 253s tests/oauth2/rfc6749/test_server.py::TokenEndpointTest::test_missing_type PASSED [ 46%] 253s tests/oauth2/rfc6749/test_server.py::TokenEndpointTest::test_password_grant PASSED [ 46%] 253s tests/oauth2/rfc6749/test_server.py::SignedTokenEndpointTest::test_authorization_grant PASSED [ 46%] 253s tests/oauth2/rfc6749/test_server.py::SignedTokenEndpointTest::test_client_grant PASSED [ 46%] 253s tests/oauth2/rfc6749/test_server.py::SignedTokenEndpointTest::test_invalid_type PASSED [ 46%] 253s tests/oauth2/rfc6749/test_server.py::SignedTokenEndpointTest::test_missing_type PASSED [ 47%] 254s tests/oauth2/rfc6749/test_server.py::SignedTokenEndpointTest::test_password_grant PASSED [ 47%] 254s tests/oauth2/rfc6749/test_server.py::SignedTokenEndpointTest::test_scopes_and_user_id_stored_in_access_token PASSED [ 47%] 254s tests/oauth2/rfc6749/test_server.py::ResourceEndpointTest::test_defaults PASSED [ 47%] 254s tests/oauth2/rfc6749/test_tokens.py::TokenTest::test_estimate_type PASSED [ 47%] 254s tests/oauth2/rfc6749/test_tokens.py::TokenTest::test_estimate_type_with_fake_header_returns_type_0 PASSED [ 47%] 254s tests/oauth2/rfc6749/test_tokens.py::TokenTest::test_fake_bearer_is_not_validated PASSED [ 48%] 254s tests/oauth2/rfc6749/test_tokens.py::TokenTest::test_header_with_multispaces_is_validated PASSED [ 48%] 254s tests/oauth2/rfc6749/test_tokens.py::TokenTest::test_lowercase_bearer_is_validated PASSED [ 48%] 254s tests/oauth2/rfc6749/test_tokens.py::TokenTest::test_prepare_bearer_request PASSED [ 48%] 254s tests/oauth2/rfc6749/test_tokens.py::TokenTest::test_prepare_mac_header PASSED [ 48%] 254s tests/oauth2/rfc6749/test_tokens.py::TokenTest::test_valid_bearer_is_validated PASSED [ 48%] 254s tests/oauth2/rfc6749/test_utils.py::UtilsTests::test_escape PASSED [ 48%] 254s tests/oauth2/rfc6749/test_utils.py::UtilsTests::test_generate_age PASSED [ 49%] 254s tests/oauth2/rfc6749/test_utils.py::UtilsTests::test_host_from_uri PASSED [ 49%] 254s tests/oauth2/rfc6749/test_utils.py::UtilsTests::test_is_secure_transport PASSED [ 49%] 254s tests/oauth2/rfc6749/test_utils.py::UtilsTests::test_list_to_scope PASSED [ 49%] 254s tests/oauth2/rfc6749/test_utils.py::UtilsTests::test_params_from_uri PASSED [ 49%] 254s tests/oauth2/rfc6749/test_utils.py::UtilsTests::test_scope_to_list PASSED [ 49%] 254s tests/oauth2/rfc8628/clients/test_device.py::DeviceClientTest::test_request_body PASSED [ 50%] 254s tests/oauth2/rfc8628/clients/test_device.py::DeviceClientTest::test_request_uri PASSED [ 50%] 254s tests/openid/connect/core/endpoints/test_claims_handling.py::TestClaimsHandling::test_claims_stored_on_code_creation PASSED [ 50%] 254s tests/openid/connect/core/endpoints/test_claims_handling.py::TestClaimsHandling::test_invalid_claims PASSED [ 50%] 254s tests/openid/connect/core/endpoints/test_openid_connect_params_handling.py::OpenIDConnectEndpointTest::test_authorization_endpoint_handles_prompt PASSED [ 50%] 254s tests/openid/connect/core/endpoints/test_openid_connect_params_handling.py::OpenIDConnectEndpointTest::test_oidc_params_preservation PASSED [ 50%] 254s tests/openid/connect/core/endpoints/test_openid_connect_params_handling.py::OpenIDConnectEndpointTest::test_prompt_none_exclusiveness PASSED [ 50%] 254s tests/openid/connect/core/endpoints/test_userinfo_endpoint.py::UserInfoEndpointTest::test_userinfo_json_response PASSED [ 51%] 254s tests/openid/connect/core/endpoints/test_userinfo_endpoint.py::UserInfoEndpointTest::test_userinfo_jwt_response PASSED [ 51%] 254s tests/openid/connect/core/endpoints/test_userinfo_endpoint.py::UserInfoEndpointTest::test_userinfo_no_auth PASSED [ 51%] 254s tests/openid/connect/core/endpoints/test_userinfo_endpoint.py::UserInfoEndpointTest::test_userinfo_token_expired PASSED [ 51%] 254s tests/openid/connect/core/endpoints/test_userinfo_endpoint.py::UserInfoEndpointTest::test_userinfo_token_no_openid_scope PASSED [ 51%] 254s tests/openid/connect/core/endpoints/test_userinfo_endpoint.py::UserInfoEndpointTest::test_userinfo_wrong_auth PASSED [ 51%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_authenticate_client PASSED [ 51%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_authenticate_client_id PASSED [ 52%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_authentication_required PASSED [ 52%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_client_id_missing PASSED [ 52%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_code_modifier_called PASSED [ 52%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_correct_code_challenge_method_plain PASSED [ 52%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_correct_code_challenge_method_s256 PASSED [ 52%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_create_authorization_grant PASSED [ 53%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_create_authorization_grant_no_scopes PASSED [ 53%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_create_authorization_grant_state PASSED [ 53%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_create_authorization_response PASSED [ 53%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_create_cors_headers PASSED [ 53%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_create_cors_headers_insecure_origin PASSED [ 53%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_create_cors_headers_invalid_origin PASSED [ 53%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_create_cors_headers_no_origin PASSED [ 54%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_create_token_response PASSED [ 54%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_create_token_response_without_refresh_token PASSED [ 54%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_custom_auth_validators PASSED [ 54%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_custom_token_validators PASSED [ 54%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_hybrid_token_save PASSED [ 54%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_invalid_grant PASSED [ 55%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_invalid_grant_type PASSED [ 55%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_invalid_redirect_uri PASSED [ 55%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_invalid_request PASSED [ 55%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_invalid_request_duplicates PASSED [ 55%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_challenge_missing PASSED [ 55%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_default_method PASSED [ 55%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_optional_verifier_missing_challenge_valid PASSED [ 56%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_optional_verifier_valid_challenge_missing PASSED [ 56%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_required_verifier_invalid_challenge_valid_method_valid PASSED [ 56%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_required_verifier_missing_challenge_missing PASSED [ 56%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_required_verifier_missing_challenge_valid PASSED [ 56%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_required_verifier_valid_challenge_missing PASSED [ 56%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_required_verifier_valid_challenge_valid_method_valid PASSED [ 57%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_required_verifier_valid_challenge_valid_method_wrong PASSED [ 57%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_verifier_missing PASSED [ 57%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_verifier_valid_challenge_valid_method_missing PASSED [ 57%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_pkce_wrong_method PASSED [ 57%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_wrong_code_challenge_method_plain PASSED [ 57%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::AuthorizationCodeGrantTest::test_wrong_code_challenge_method_s256 PASSED [ 57%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_authenticate_client PASSED [ 58%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_authenticate_client_id PASSED [ 58%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_authentication_required PASSED [ 58%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_client_id_missing PASSED [ 58%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_code_modifier_called PASSED [ 58%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_correct_code_challenge_method_plain PASSED [ 58%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_correct_code_challenge_method_s256 PASSED [ 59%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_create_authorization_grant PASSED [ 59%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_create_authorization_grant_no_scopes PASSED [ 59%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_create_authorization_grant_state PASSED [ 59%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_create_authorization_response PASSED [ 59%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_create_cors_headers PASSED [ 59%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_create_cors_headers_insecure_origin PASSED [ 59%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_create_cors_headers_invalid_origin PASSED [ 60%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_create_cors_headers_no_origin PASSED [ 60%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_create_token_response PASSED [ 60%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_create_token_response_without_refresh_token PASSED [ 60%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_custom_auth_validators PASSED [ 60%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_custom_token_validators PASSED [ 60%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_hybrid_token_save PASSED [ 61%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_invalid_grant PASSED [ 61%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_invalid_grant_type PASSED [ 61%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_invalid_redirect_uri PASSED [ 61%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_invalid_request PASSED [ 61%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_invalid_request_duplicates PASSED [ 61%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_pkce_challenge_missing PASSED [ 61%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_pkce_default_method PASSED [ 62%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_pkce_optional_verifier_missing_challenge_valid PASSED [ 62%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_pkce_optional_verifier_valid_challenge_missing PASSED [ 62%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_pkce_required_verifier_invalid_challenge_valid_method_valid PASSED [ 62%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_pkce_required_verifier_missing_challenge_missing PASSED [ 62%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_pkce_required_verifier_missing_challenge_valid PASSED [ 62%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_pkce_required_verifier_valid_challenge_missing PASSED [ 62%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_pkce_required_verifier_valid_challenge_valid_method_valid PASSED [ 63%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_pkce_required_verifier_valid_challenge_valid_method_wrong PASSED [ 63%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_pkce_verifier_missing PASSED [ 63%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_pkce_verifier_valid_challenge_valid_method_missing PASSED [ 63%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_pkce_wrong_method PASSED [ 63%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_wrong_code_challenge_method_plain PASSED [ 63%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeInterferenceTest::test_wrong_code_challenge_method_s256 PASSED [ 64%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeTest::test_authorization PASSED [ 64%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeTest::test_create_token_response PASSED [ 64%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeTest::test_no_prompt_authorization PASSED [ 64%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeTest::test_none_multi_prompt PASSED [ 64%] 254s tests/openid/connect/core/grant_types/test_authorization_code.py::OpenIDAuthCodeTest::test_optional_nonce PASSED [ 64%] 254s tests/openid/connect/core/grant_types/test_base.py::IDTokenTest::test_finalize_id_token PASSED [ 64%] 254s tests/openid/connect/core/grant_types/test_base.py::IDTokenTest::test_finalize_id_token_with_at_hash PASSED [ 65%] 254s tests/openid/connect/core/grant_types/test_base.py::IDTokenTest::test_finalize_id_token_with_c_and_at_hash PASSED [ 65%] 254s tests/openid/connect/core/grant_types/test_base.py::IDTokenTest::test_finalize_id_token_with_c_hash PASSED [ 65%] 254s tests/openid/connect/core/grant_types/test_base.py::IDTokenTest::test_finalize_id_token_with_nonce PASSED [ 65%] 254s tests/openid/connect/core/grant_types/test_base.py::IDTokenTest::test_get_id_token PASSED [ 65%] 254s tests/openid/connect/core/grant_types/test_base.py::IDTokenTest::test_get_id_token_no_openid PASSED [ 65%] 254s tests/openid/connect/core/grant_types/test_base.py::IDTokenTest::test_id_token_hash PASSED [ 66%] 254s tests/openid/connect/core/grant_types/test_dispatchers.py::ImplicitTokenGrantDispatcherTest::test_create_authorization_response_oauth PASSED [ 66%] 254s tests/openid/connect/core/grant_types/test_dispatchers.py::ImplicitTokenGrantDispatcherTest::test_create_authorization_response_openid PASSED [ 66%] 254s tests/openid/connect/core/grant_types/test_dispatchers.py::ImplicitTokenGrantDispatcherTest::test_validate_authorization_request_oauth PASSED [ 66%] 254s tests/openid/connect/core/grant_types/test_dispatchers.py::ImplicitTokenGrantDispatcherTest::test_validate_authorization_request_openid PASSED [ 66%] 254s tests/openid/connect/core/grant_types/test_dispatchers.py::AuthTokenGrantDispatcherOpenIdTest::test_create_token_response_openid PASSED [ 66%] 254s tests/openid/connect/core/grant_types/test_dispatchers.py::AuthTokenGrantDispatcherOpenIdWithoutCodeTest::test_create_token_response_openid_without_code PASSED [ 66%] 254s tests/openid/connect/core/grant_types/test_dispatchers.py::AuthTokenGrantDispatcherOAuthTest::test_create_token_response_oauth PASSED [ 67%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_authenticate_client PASSED [ 67%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_authenticate_client_id PASSED [ 67%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_authentication_required PASSED [ 67%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_client_id_missing PASSED [ 67%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_code_modifier_called PASSED [ 67%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_correct_code_challenge_method_plain PASSED [ 68%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_correct_code_challenge_method_s256 PASSED [ 68%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_create_authorization_grant PASSED [ 68%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_create_authorization_grant_no_scopes PASSED [ 68%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_create_authorization_grant_state PASSED [ 68%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_create_authorization_response PASSED [ 68%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_create_cors_headers PASSED [ 68%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_create_cors_headers_insecure_origin PASSED [ 69%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_create_cors_headers_invalid_origin PASSED [ 69%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_create_cors_headers_no_origin PASSED [ 69%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_create_token_response PASSED [ 69%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_create_token_response_without_refresh_token PASSED [ 69%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_custom_auth_validators PASSED [ 69%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_custom_token_validators PASSED [ 70%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_hybrid_token_save PASSED [ 70%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_invalid_grant PASSED [ 70%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_invalid_grant_type PASSED [ 70%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_invalid_redirect_uri PASSED [ 70%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_invalid_request PASSED [ 70%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_invalid_request_duplicates PASSED [ 70%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_pkce_challenge_missing PASSED [ 71%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_pkce_default_method PASSED [ 71%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_pkce_optional_verifier_missing_challenge_valid PASSED [ 71%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_pkce_optional_verifier_valid_challenge_missing PASSED [ 71%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_pkce_required_verifier_invalid_challenge_valid_method_valid PASSED [ 71%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_pkce_required_verifier_missing_challenge_missing PASSED [ 71%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_pkce_required_verifier_missing_challenge_valid PASSED [ 72%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_pkce_required_verifier_valid_challenge_missing PASSED [ 72%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_pkce_required_verifier_valid_challenge_valid_method_valid PASSED [ 72%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_pkce_required_verifier_valid_challenge_valid_method_wrong PASSED [ 72%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_pkce_verifier_missing PASSED [ 72%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_pkce_verifier_valid_challenge_valid_method_missing PASSED [ 72%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_pkce_wrong_method PASSED [ 72%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_wrong_code_challenge_method_plain PASSED [ 73%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::AuthorizationCodeGrantTest::test_wrong_code_challenge_method_s256 PASSED [ 73%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDAuthCodeTest::test_authorization PASSED [ 73%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDAuthCodeTest::test_create_token_response PASSED [ 73%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDAuthCodeTest::test_no_prompt_authorization PASSED [ 73%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDAuthCodeTest::test_none_multi_prompt PASSED [ 73%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDAuthCodeTest::test_optional_nonce PASSED [ 74%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_authenticate_client PASSED [ 74%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_authenticate_client_id PASSED [ 74%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_authentication_required PASSED [ 74%] 254s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_client_id_missing PASSED [ 74%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_code_modifier_called PASSED [ 74%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_correct_code_challenge_method_plain PASSED [ 74%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_correct_code_challenge_method_s256 PASSED [ 75%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_create_authorization_grant PASSED [ 75%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_create_authorization_grant_no_scopes PASSED [ 75%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_create_authorization_grant_state PASSED [ 75%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_create_authorization_response PASSED [ 75%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_create_cors_headers PASSED [ 75%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_create_cors_headers_insecure_origin PASSED [ 75%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_create_cors_headers_invalid_origin PASSED [ 76%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_create_cors_headers_no_origin PASSED [ 76%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_create_token_response PASSED [ 76%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_create_token_response_without_refresh_token PASSED [ 76%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_custom_auth_validators PASSED [ 76%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_custom_token_validators PASSED [ 76%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_hybrid_token_save PASSED [ 77%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_invalid_grant PASSED [ 77%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_invalid_grant_type PASSED [ 77%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_invalid_redirect_uri PASSED [ 77%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_invalid_request PASSED [ 77%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_invalid_request_duplicates PASSED [ 77%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_pkce_challenge_missing PASSED [ 77%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_pkce_default_method PASSED [ 78%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_pkce_optional_verifier_missing_challenge_valid PASSED [ 78%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_pkce_optional_verifier_valid_challenge_missing PASSED [ 78%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_pkce_required_verifier_invalid_challenge_valid_method_valid PASSED [ 78%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_pkce_required_verifier_missing_challenge_missing PASSED [ 78%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_pkce_required_verifier_missing_challenge_valid PASSED [ 78%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_pkce_required_verifier_valid_challenge_missing PASSED [ 79%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_pkce_required_verifier_valid_challenge_valid_method_valid PASSED [ 79%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_pkce_required_verifier_valid_challenge_valid_method_wrong PASSED [ 79%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_pkce_verifier_missing PASSED [ 79%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_pkce_verifier_valid_challenge_valid_method_missing PASSED [ 79%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_pkce_wrong_method PASSED [ 79%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_wrong_code_challenge_method_plain PASSED [ 79%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridInterferenceTest::test_wrong_code_challenge_method_s256 PASSED [ 80%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridCodeTokenTest::test_authorization PASSED [ 80%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridCodeTokenTest::test_create_token_response PASSED [ 80%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridCodeTokenTest::test_no_prompt_authorization PASSED [ 80%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridCodeTokenTest::test_none_multi_prompt PASSED [ 80%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridCodeTokenTest::test_optional_nonce PASSED [ 80%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridCodeIdTokenTest::test_authorization PASSED [ 81%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridCodeIdTokenTest::test_create_token_response PASSED [ 81%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridCodeIdTokenTest::test_id_token_contains_nonce PASSED [ 81%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridCodeIdTokenTest::test_no_prompt_authorization PASSED [ 81%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridCodeIdTokenTest::test_none_multi_prompt PASSED [ 81%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridCodeIdTokenTest::test_optional_nonce PASSED [ 81%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridCodeIdTokenTest::test_required_nonce PASSED [ 81%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridCodeIdTokenTokenTest::test_authorization PASSED [ 82%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridCodeIdTokenTokenTest::test_create_token_response PASSED [ 82%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridCodeIdTokenTokenTest::test_no_prompt_authorization PASSED [ 82%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridCodeIdTokenTokenTest::test_none_multi_prompt PASSED [ 82%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridCodeIdTokenTokenTest::test_optional_nonce PASSED [ 82%] 255s tests/openid/connect/core/grant_types/test_hybrid.py::OpenIDHybridCodeIdTokenTokenTest::test_required_nonce PASSED [ 82%] 255s tests/openid/connect/core/grant_types/test_implicit.py::ImplicitGrantTest::test_create_token_response PASSED [ 83%] 255s tests/openid/connect/core/grant_types/test_implicit.py::ImplicitGrantTest::test_custom_validators PASSED [ 83%] 255s tests/openid/connect/core/grant_types/test_implicit.py::ImplicitGrantTest::test_error_response PASSED [ 83%] 255s tests/openid/connect/core/grant_types/test_implicit.py::OpenIDImplicitInterferenceTest::test_create_token_response PASSED [ 83%] 255s tests/openid/connect/core/grant_types/test_implicit.py::OpenIDImplicitInterferenceTest::test_custom_validators PASSED [ 83%] 255s tests/openid/connect/core/grant_types/test_implicit.py::OpenIDImplicitInterferenceTest::test_error_response PASSED [ 83%] 255s tests/openid/connect/core/grant_types/test_implicit.py::OpenIDImplicitTest::test_authorization PASSED [ 83%] 255s tests/openid/connect/core/grant_types/test_implicit.py::OpenIDImplicitTest::test_no_prompt_authorization PASSED [ 84%] 255s tests/openid/connect/core/grant_types/test_implicit.py::OpenIDImplicitTest::test_none_multi_prompt PASSED [ 84%] 255s tests/openid/connect/core/grant_types/test_implicit.py::OpenIDImplicitTest::test_required_nonce PASSED [ 84%] 255s tests/openid/connect/core/grant_types/test_implicit.py::OpenIDImplicitNoAccessTokenTest::test_authorization PASSED [ 84%] 255s tests/openid/connect/core/grant_types/test_implicit.py::OpenIDImplicitNoAccessTokenTest::test_no_prompt_authorization PASSED [ 84%] 255s tests/openid/connect/core/grant_types/test_implicit.py::OpenIDImplicitNoAccessTokenTest::test_none_multi_prompt PASSED [ 84%] 255s tests/openid/connect/core/grant_types/test_implicit.py::OpenIDImplicitNoAccessTokenTest::test_required_nonce PASSED [ 85%] 255s tests/openid/connect/core/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_authenticate_client_id PASSED [ 85%] 255s tests/openid/connect/core/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_authentication_required PASSED [ 85%] 255s tests/openid/connect/core/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_create_cors_headers PASSED [ 85%] 255s tests/openid/connect/core/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_create_cors_headers_insecure_origin PASSED [ 85%] 255s tests/openid/connect/core/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_create_cors_headers_invalid_origin PASSED [ 85%] 255s tests/openid/connect/core/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_create_cors_headers_no_origin PASSED [ 85%] 255s tests/openid/connect/core/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_create_token_inherit_scope PASSED [ 86%] 255s tests/openid/connect/core/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_create_token_response PASSED [ 86%] 255s tests/openid/connect/core/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_create_token_within_original_scope PASSED [ 86%] 255s tests/openid/connect/core/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_custom_auth_validators_unsupported PASSED [ 86%] 255s tests/openid/connect/core/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_custom_token_validators PASSED [ 86%] 255s tests/openid/connect/core/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_invalid_client PASSED [ 86%] 255s tests/openid/connect/core/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_invalid_grant_type PASSED [ 87%] 255s tests/openid/connect/core/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_invalid_refresh_token PASSED [ 87%] 255s tests/openid/connect/core/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_invalid_scope PASSED [ 87%] 255s tests/openid/connect/core/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_invalid_scope_original_scopes_empty PASSED [ 87%] 255s tests/openid/connect/core/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_invalid_token PASSED [ 87%] 255s tests/openid/connect/core/grant_types/test_refresh_token.py::RefreshTokenGrantTest::test_valid_token_request PASSED [ 87%] 255s tests/openid/connect/core/grant_types/test_refresh_token.py::OpenIDRefreshTokenInterferenceTest::test_authenticate_client_id PASSED [ 87%] 255s tests/openid/connect/core/grant_types/test_refresh_token.py::OpenIDRefreshTokenInterferenceTest::test_authentication_required PASSED [ 88%] 255s tests/openid/connect/core/grant_types/test_refresh_token.py::OpenIDRefreshTokenInterferenceTest::test_create_cors_headers PASSED [ 88%] 255s tests/openid/connect/core/grant_types/test_refresh_token.py::OpenIDRefreshTokenInterferenceTest::test_create_cors_headers_insecure_origin PASSED [ 88%] 255s tests/openid/connect/core/grant_types/test_refresh_token.py::OpenIDRefreshTokenInterferenceTest::test_create_cors_headers_invalid_origin PASSED [ 88%] 255s tests/openid/connect/core/grant_types/test_refresh_token.py::OpenIDRefreshTokenInterferenceTest::test_create_cors_headers_no_origin PASSED [ 88%] 255s tests/openid/connect/core/grant_types/test_refresh_token.py::OpenIDRefreshTokenInterferenceTest::test_create_token_inherit_scope PASSED [ 88%] 255s tests/openid/connect/core/grant_types/test_refresh_token.py::OpenIDRefreshTokenInterferenceTest::test_create_token_response PASSED [ 88%] 255s tests/openid/connect/core/grant_types/test_refresh_token.py::OpenIDRefreshTokenInterferenceTest::test_create_token_within_original_scope PASSED [ 89%] 255s tests/openid/connect/core/grant_types/test_refresh_token.py::OpenIDRefreshTokenInterferenceTest::test_custom_auth_validators_unsupported PASSED [ 89%] 255s tests/openid/connect/core/grant_types/test_refresh_token.py::OpenIDRefreshTokenInterferenceTest::test_custom_token_validators PASSED [ 89%] 255s tests/openid/connect/core/grant_types/test_refresh_token.py::OpenIDRefreshTokenInterferenceTest::test_invalid_client PASSED [ 89%] 255s tests/openid/connect/core/grant_types/test_refresh_token.py::OpenIDRefreshTokenInterferenceTest::test_invalid_grant_type PASSED [ 89%] 255s tests/openid/connect/core/grant_types/test_refresh_token.py::OpenIDRefreshTokenInterferenceTest::test_invalid_refresh_token PASSED [ 89%] 255s tests/openid/connect/core/grant_types/test_refresh_token.py::OpenIDRefreshTokenInterferenceTest::test_invalid_scope PASSED [ 90%] 255s tests/openid/connect/core/grant_types/test_refresh_token.py::OpenIDRefreshTokenInterferenceTest::test_invalid_scope_original_scopes_empty PASSED [ 90%] 255s tests/openid/connect/core/grant_types/test_refresh_token.py::OpenIDRefreshTokenInterferenceTest::test_invalid_token PASSED [ 90%] 255s tests/openid/connect/core/grant_types/test_refresh_token.py::OpenIDRefreshTokenInterferenceTest::test_valid_token_request PASSED [ 90%] 255s tests/openid/connect/core/grant_types/test_refresh_token.py::OpenIDRefreshTokenTest::test_refresh_id_token PASSED [ 90%] 255s tests/openid/connect/core/grant_types/test_refresh_token.py::OpenIDRefreshTokenTest::test_refresh_id_token_false PASSED [ 90%] 255s tests/openid/connect/core/grant_types/test_refresh_token.py::OpenIDRefreshTokenTest::test_refresh_token_without_openid_scope PASSED [ 90%] 255s tests/openid/connect/core/test_request_validator.py::RequestValidatorTest::test_method_contracts PASSED [ 91%] 255s tests/openid/connect/core/test_server.py::AuthorizationEndpointTest::test_authorization_grant PASSED [ 91%] 255s tests/openid/connect/core/test_server.py::AuthorizationEndpointTest::test_implicit_grant PASSED [ 91%] 255s tests/openid/connect/core/test_server.py::AuthorizationEndpointTest::test_invalid_type PASSED [ 91%] 255s tests/openid/connect/core/test_server.py::AuthorizationEndpointTest::test_missing_type PASSED [ 91%] 255s tests/openid/connect/core/test_server.py::AuthorizationEndpointTest::test_none_grant PASSED [ 91%] 255s tests/openid/connect/core/test_server.py::TokenEndpointTest::test_authorization_grant PASSED [ 92%] 255s tests/openid/connect/core/test_server.py::TokenEndpointTest::test_invalid_type PASSED [ 92%] 255s tests/openid/connect/core/test_server.py::TokenEndpointTest::test_missing_type PASSED [ 92%] 255s tests/openid/connect/core/test_tokens.py::JWTTokenTestCase::test_create_token_callable_expires_in PASSED [ 92%] 255s tests/openid/connect/core/test_tokens.py::JWTTokenTestCase::test_create_token_calls_get_id_token PASSED [ 92%] 255s tests/openid/connect/core/test_tokens.py::JWTTokenTestCase::test_create_token_non_callable_expires_in PASSED [ 92%] 255s tests/openid/connect/core/test_tokens.py::JWTTokenTestCase::test_estimate_type PASSED [ 92%] 255s tests/openid/connect/core/test_tokens.py::JWTTokenTestCase::test_validate_request_token_from_headers PASSED [ 93%] 255s tests/openid/connect/core/test_tokens.py::JWTTokenTestCase::test_validate_request_token_from_headers_basic PASSED [ 93%] 255s tests/openid/connect/core/test_tokens.py::JWTTokenTestCase::test_validate_token_from_request PASSED [ 93%] 255s tests/test_common.py::EncodingTest::test_urldecode PASSED [ 93%] 255s tests/test_common.py::ParameterTest::test_add_params_to_uri PASSED [ 93%] 255s tests/test_common.py::ParameterTest::test_extract_invalid PASSED [ 93%] 255s tests/test_common.py::ParameterTest::test_extract_non_formencoded_string PASSED [ 94%] 255s tests/test_common.py::ParameterTest::test_extract_params_blank_string PASSED [ 94%] 255s tests/test_common.py::ParameterTest::test_extract_params_dict PASSED [ 94%] 255s tests/test_common.py::ParameterTest::test_extract_params_empty_list PASSED [ 94%] 255s tests/test_common.py::ParameterTest::test_extract_params_formencoded PASSED [ 94%] 255s tests/test_common.py::ParameterTest::test_extract_params_twotuple PASSED [ 94%] 255s tests/test_common.py::GeneratorTest::test_generate_client_id PASSED [ 94%] 255s tests/test_common.py::GeneratorTest::test_generate_nonce PASSED [ 95%] 255s tests/test_common.py::GeneratorTest::test_generate_timestamp PASSED [ 95%] 255s tests/test_common.py::GeneratorTest::test_generate_token PASSED [ 95%] 255s tests/test_common.py::RequestTest::test_dict_body PASSED [ 95%] 255s tests/test_common.py::RequestTest::test_empty_dict_body PASSED [ 95%] 255s tests/test_common.py::RequestTest::test_empty_list_body PASSED [ 95%] 255s tests/test_common.py::RequestTest::test_empty_string_body PASSED [ 96%] 255s tests/test_common.py::RequestTest::test_getattr_existing_attribute PASSED [ 96%] 255s tests/test_common.py::RequestTest::test_getattr_raise_attribute_error PASSED [ 96%] 255s tests/test_common.py::RequestTest::test_getattr_return_default PASSED [ 96%] 255s tests/test_common.py::RequestTest::test_headers_params PASSED [ 96%] 255s tests/test_common.py::RequestTest::test_list_body PASSED [ 96%] 255s tests/test_common.py::RequestTest::test_non_formencoded_string_body PASSED [ 96%] 255s tests/test_common.py::RequestTest::test_non_unicode_params PASSED [ 97%] 255s tests/test_common.py::RequestTest::test_none_body PASSED [ 97%] 255s tests/test_common.py::RequestTest::test_param_free_sequence_body PASSED [ 97%] 255s tests/test_common.py::RequestTest::test_password_body PASSED [ 97%] 255s tests/test_common.py::RequestTest::test_sanitized_request_non_debug_mode PASSED [ 97%] 255s tests/test_common.py::RequestTest::test_sanitizing_authorization_header PASSED [ 97%] 255s tests/test_common.py::RequestTest::test_token_body PASSED [ 98%] 255s tests/test_common.py::CaseInsensitiveDictTest::test_basic PASSED [ 98%] 255s tests/test_common.py::CaseInsensitiveDictTest::test_update PASSED [ 98%] 255s tests/test_uri_validate.py::UriValidateTest::test_combined_forbidden PASSED [ 98%] 255s tests/test_uri_validate.py::UriValidateTest::test_custom_scheme PASSED [ 98%] 255s tests/test_uri_validate.py::UriValidateTest::test_failures PASSED [ 98%] 255s tests/test_uri_validate.py::UriValidateTest::test_fragment_forbidden PASSED [ 98%] 255s tests/test_uri_validate.py::UriValidateTest::test_ipv4 PASSED [ 99%] 255s tests/test_uri_validate.py::UriValidateTest::test_ipv6_bracket PASSED [ 99%] 255s tests/test_uri_validate.py::UriValidateTest::test_ipv6_dual SKIPPED [ 99%] 255s tests/test_uri_validate.py::UriValidateTest::test_ipv6_edge_cases SKIPPED [ 99%] 255s tests/test_uri_validate.py::UriValidateTest::test_is_absolute_uri PASSED [ 99%] 255s tests/test_uri_validate.py::UriValidateTest::test_query PASSED [ 99%] 255s tests/test_uri_validate.py::UriValidateTest::test_recursive_regex PASSED [100%] 255s 255s =============================== warnings summary =============================== 255s tests/oauth2/rfc6749/clients/test_web_application.py::WebApplicationClientTest::test_prepare_request_body 255s /usr/lib/python3/dist-packages/oauthlib/oauth2/rfc6749/clients/web_application.py:163: DeprecationWarning: `client_id` has been deprecated in favor of `include_client_id`, a boolean value which will include the already configured `self.client_id`. 255s warnings.warn("`client_id` has been deprecated in favor of " 255s 255s tests/oauth2/rfc6749/test_server.py::SignedTokenEndpointTest::test_authorization_grant 255s tests/oauth2/rfc6749/test_server.py::SignedTokenEndpointTest::test_client_grant 255s tests/oauth2/rfc6749/test_server.py::SignedTokenEndpointTest::test_password_grant 255s tests/oauth2/rfc6749/test_server.py::SignedTokenEndpointTest::test_scopes_and_user_id_stored_in_access_token 255s /usr/lib/python3/dist-packages/oauthlib/common.py:203: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). 255s now = datetime.datetime.utcnow() 255s 255s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 255s =========================== short test summary info ============================ 255s SKIPPED [1] tests/test_uri_validate.py:58: ipv6 dual ipv4 not supported 255s SKIPPED [1] tests/test_uri_validate.py:47: ipv6 edge-cases not supported 255s ================== 652 passed, 2 skipped, 5 warnings in 4.81s ================== 256s autopkgtest [19:04:15]: test python3-oauthlib: -----------------------] 256s python3-oauthlib PASS 256s autopkgtest [19:04:15]: test python3-oauthlib: - - - - - - - - - - results - - - - - - - - - - 257s autopkgtest [19:04:16]: @@@@@@@@@@@@@@@@@@@@ summary 257s python3-oauthlib PASS 273s nova [W] Using flock in prodstack6-arm64 273s flock: timeout while waiting to get lock 273s Creating nova instance adt-plucky-arm64-python-oauthlib-20250103-185958-juju-7f2275-prod-proposed-migration-environment-20-6d06f850-8a15-48c6-a08b-39b029df495a from image adt/ubuntu-plucky-arm64-server-20250102.img (UUID 4cb073f4-4206-4362-b576-2406cb25ddd8)... 273s nova [W] Timed out waiting for 913c330e-5808-4eb3-9ca3-e9fb513f258a to get deleted.