0s autopkgtest [14:34:18]: starting date and time: 2025-06-19 14:34:18+0000 0s autopkgtest [14:34:18]: git checkout: 9986aa8c Merge branch 'skia/fix_network_interface' into 'ubuntu/production' 0s autopkgtest [14:34:18]: host juju-7f2275-prod-proposed-migration-environment-15; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.d6gzq0se/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:requests --apt-upgrade django-cas-server --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=requests/2.32.3+dfsg-5ubuntu2 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest-cpu2-ram4-disk20-amd64 --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-15@sto01-30.secgroup --name adt-questing-amd64-django-cas-server-20250619-143418-juju-7f2275-prod-proposed-migration-environment-15-032532f8-ba18-4085-bc85-6a2bf7f4f2b3 --image adt/ubuntu-questing-amd64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-15 --net-id=net_prod-autopkgtest-workers-amd64 -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 81s autopkgtest [14:35:39]: testbed dpkg architecture: amd64 82s autopkgtest [14:35:40]: testbed apt version: 3.1.2 83s autopkgtest [14:35:41]: @@@@@@@@@@@@@@@@@@@@ test bed setup 83s autopkgtest [14:35:41]: testbed release detected to be: None 85s autopkgtest [14:35:43]: updating testbed package index (apt update) 86s Get:1 http://ftpmaster.internal/ubuntu questing-proposed InRelease [249 kB] 86s Hit:2 http://ftpmaster.internal/ubuntu questing InRelease 86s Hit:3 http://ftpmaster.internal/ubuntu questing-updates InRelease 86s Hit:4 http://ftpmaster.internal/ubuntu questing-security InRelease 86s Get:5 http://ftpmaster.internal/ubuntu questing-proposed/main Sources [38.3 kB] 86s Get:6 http://ftpmaster.internal/ubuntu questing-proposed/multiverse Sources [17.4 kB] 86s Get:7 http://ftpmaster.internal/ubuntu questing-proposed/restricted Sources [4716 B] 86s Get:8 http://ftpmaster.internal/ubuntu questing-proposed/universe Sources [426 kB] 86s Get:9 http://ftpmaster.internal/ubuntu questing-proposed/main i386 Packages [44.5 kB] 86s Get:10 http://ftpmaster.internal/ubuntu questing-proposed/main amd64 Packages [82.3 kB] 86s Get:11 http://ftpmaster.internal/ubuntu questing-proposed/restricted i386 Packages [2420 B] 86s Get:12 http://ftpmaster.internal/ubuntu questing-proposed/restricted amd64 Packages [13.5 kB] 86s Get:13 http://ftpmaster.internal/ubuntu questing-proposed/universe amd64 Packages [376 kB] 86s Get:14 http://ftpmaster.internal/ubuntu questing-proposed/universe i386 Packages [135 kB] 86s Get:15 http://ftpmaster.internal/ubuntu questing-proposed/multiverse i386 Packages [5196 B] 86s Get:16 http://ftpmaster.internal/ubuntu questing-proposed/multiverse amd64 Packages [24.9 kB] 86s Fetched 1420 kB in 1s (2205 kB/s) 87s Reading package lists... 88s autopkgtest [14:35:46]: upgrading testbed (apt dist-upgrade and autopurge) 89s Reading package lists... 89s Building dependency tree... 89s Reading state information... 89s Calculating upgrade... 89s The following packages will be upgraded: 89s python3-requests 89s 1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 89s Need to get 53.1 kB of archives. 89s After this operation, 0 B of additional disk space will be used. 89s Get:1 http://ftpmaster.internal/ubuntu questing-proposed/main amd64 python3-requests all 2.32.3+dfsg-5ubuntu2 [53.1 kB] 89s Fetched 53.1 kB in 0s (0 B/s) 89s (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 ... 81475 files and directories currently installed.) 89s Preparing to unpack .../python3-requests_2.32.3+dfsg-5ubuntu2_all.deb ... 89s Unpacking python3-requests (2.32.3+dfsg-5ubuntu2) over (2.32.3+dfsg-5ubuntu1) ... 89s Setting up python3-requests (2.32.3+dfsg-5ubuntu2) ... 90s Reading package lists... 91s Building dependency tree... 91s Reading state information... 91s Solving dependencies... 91s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 94s autopkgtest [14:35:52]: testbed running kernel: Linux 6.14.0-15-generic #15-Ubuntu SMP PREEMPT_DYNAMIC Sun Apr 6 15:05:05 UTC 2025 95s autopkgtest [14:35:53]: @@@@@@@@@@@@@@@@@@@@ apt-source django-cas-server 99s Get:1 http://ftpmaster.internal/ubuntu questing/universe django-cas-server 2.1.0-3 (dsc) [2597 B] 99s Get:2 http://ftpmaster.internal/ubuntu questing/universe django-cas-server 2.1.0-3 (tar) [138 kB] 99s Get:3 http://ftpmaster.internal/ubuntu questing/universe django-cas-server 2.1.0-3 (diff) [10.2 kB] 99s gpgv: Signature made Sat Dec 14 20:43:18 2024 UTC 99s gpgv: using RSA key 8F6DE104377F3B11E741748731F3144544A1741A 99s gpgv: issuer "tchet@debian.org" 99s gpgv: Can't check signature: No public key 99s dpkg-source: warning: cannot verify inline signature for ./django-cas-server_2.1.0-3.dsc: no acceptable signature found 99s autopkgtest [14:35:57]: testing package django-cas-server version 2.1.0-3 99s autopkgtest [14:35:57]: build not needed 99s autopkgtest [14:35:57]: test run-test-suite.sh: preparing testbed 100s Reading package lists... 100s Building dependency tree... 100s Reading state information... 100s Solving dependencies... 100s The following NEW packages will be installed: 100s fonts-font-awesome fonts-lato libjs-jquery libjs-sphinxdoc libjs-underscore 100s libxslt1.1 python3-all python3-asgiref python3-django 100s python3-django-cas-server python3-django-cas-server-doc python3-iniconfig 100s python3-legacy-cgi python3-lxml python3-pluggy python3-pytest 100s python3-pytest-django python3-requests-futures python3-sqlparse 100s sphinx-rtd-theme-common 100s 0 upgraded, 20 newly installed, 0 to remove and 0 not upgraded. 100s Need to get 9921 kB of archives. 100s After this operation, 51.7 MB of additional disk space will be used. 100s Get:1 http://ftpmaster.internal/ubuntu questing/main amd64 fonts-lato all 2.015-1 [2781 kB] 101s Get:2 http://ftpmaster.internal/ubuntu questing/main amd64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 101s Get:3 http://ftpmaster.internal/ubuntu questing/main amd64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 101s Get:4 http://ftpmaster.internal/ubuntu questing/main amd64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 101s Get:5 http://ftpmaster.internal/ubuntu questing/main amd64 libjs-sphinxdoc all 8.2.3-1ubuntu2 [28.0 kB] 101s Get:6 http://ftpmaster.internal/ubuntu questing/main amd64 libxslt1.1 amd64 1.1.43-0exp1 [163 kB] 101s Get:7 http://ftpmaster.internal/ubuntu questing/main amd64 python3-all amd64 3.13.4-1 [880 B] 101s Get:8 http://ftpmaster.internal/ubuntu questing/main amd64 python3-asgiref all 3.8.1-1 [24.8 kB] 101s Get:9 http://ftpmaster.internal/ubuntu questing/main amd64 python3-sqlparse all 0.5.3-1 [32.9 kB] 101s Get:10 http://ftpmaster.internal/ubuntu questing/main amd64 python3-django all 3:4.2.18-1ubuntu1.1 [2918 kB] 101s Get:11 http://ftpmaster.internal/ubuntu questing/main amd64 python3-legacy-cgi all 2.6.3-1 [16.8 kB] 101s Get:12 http://ftpmaster.internal/ubuntu questing/main amd64 python3-lxml amd64 5.4.0-1build1 [1383 kB] 101s Get:13 http://ftpmaster.internal/ubuntu questing/universe amd64 python3-requests-futures all 1.0.2-1 [12.0 kB] 101s Get:14 http://ftpmaster.internal/ubuntu questing/universe amd64 python3-django-cas-server all 2.1.0-3 [111 kB] 101s Get:15 http://ftpmaster.internal/ubuntu questing/main amd64 sphinx-rtd-theme-common all 3.0.2+dfsg-3 [1013 kB] 101s Get:16 http://ftpmaster.internal/ubuntu questing/universe amd64 python3-django-cas-server-doc all 2.1.0-3 [178 kB] 101s Get:17 http://ftpmaster.internal/ubuntu questing/universe amd64 python3-iniconfig all 1.1.1-2 [6024 B] 101s Get:18 http://ftpmaster.internal/ubuntu questing/universe amd64 python3-pluggy all 1.5.0-1 [21.0 kB] 101s Get:19 http://ftpmaster.internal/ubuntu questing/universe amd64 python3-pytest all 8.3.5-2 [252 kB] 101s Get:20 http://ftpmaster.internal/ubuntu questing/universe amd64 python3-pytest-django all 4.5.2-3 [18.5 kB] 101s Fetched 9921 kB in 1s (18.8 MB/s) 101s Selecting previously unselected package fonts-lato. 101s (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 ... 81475 files and directories currently installed.) 101s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 101s Unpacking fonts-lato (2.015-1) ... 101s Selecting previously unselected package fonts-font-awesome. 101s Preparing to unpack .../01-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 101s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 101s Selecting previously unselected package libjs-jquery. 101s Preparing to unpack .../02-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 101s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 101s Selecting previously unselected package libjs-underscore. 101s Preparing to unpack .../03-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 101s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 101s Selecting previously unselected package libjs-sphinxdoc. 101s Preparing to unpack .../04-libjs-sphinxdoc_8.2.3-1ubuntu2_all.deb ... 101s Unpacking libjs-sphinxdoc (8.2.3-1ubuntu2) ... 101s Selecting previously unselected package libxslt1.1:amd64. 101s Preparing to unpack .../05-libxslt1.1_1.1.43-0exp1_amd64.deb ... 101s Unpacking libxslt1.1:amd64 (1.1.43-0exp1) ... 101s Selecting previously unselected package python3-all. 101s Preparing to unpack .../06-python3-all_3.13.4-1_amd64.deb ... 101s Unpacking python3-all (3.13.4-1) ... 101s Selecting previously unselected package python3-asgiref. 101s Preparing to unpack .../07-python3-asgiref_3.8.1-1_all.deb ... 101s Unpacking python3-asgiref (3.8.1-1) ... 101s Selecting previously unselected package python3-sqlparse. 101s Preparing to unpack .../08-python3-sqlparse_0.5.3-1_all.deb ... 101s Unpacking python3-sqlparse (0.5.3-1) ... 101s Selecting previously unselected package python3-django. 101s Preparing to unpack .../09-python3-django_3%3a4.2.18-1ubuntu1.1_all.deb ... 101s Unpacking python3-django (3:4.2.18-1ubuntu1.1) ... 103s Selecting previously unselected package python3-legacy-cgi. 103s Preparing to unpack .../10-python3-legacy-cgi_2.6.3-1_all.deb ... 103s Unpacking python3-legacy-cgi (2.6.3-1) ... 103s Selecting previously unselected package python3-lxml:amd64. 103s Preparing to unpack .../11-python3-lxml_5.4.0-1build1_amd64.deb ... 103s Unpacking python3-lxml:amd64 (5.4.0-1build1) ... 103s Selecting previously unselected package python3-requests-futures. 103s Preparing to unpack .../12-python3-requests-futures_1.0.2-1_all.deb ... 103s Unpacking python3-requests-futures (1.0.2-1) ... 103s Selecting previously unselected package python3-django-cas-server. 103s Preparing to unpack .../13-python3-django-cas-server_2.1.0-3_all.deb ... 103s Unpacking python3-django-cas-server (2.1.0-3) ... 103s Selecting previously unselected package sphinx-rtd-theme-common. 103s Preparing to unpack .../14-sphinx-rtd-theme-common_3.0.2+dfsg-3_all.deb ... 103s Unpacking sphinx-rtd-theme-common (3.0.2+dfsg-3) ... 103s Selecting previously unselected package python3-django-cas-server-doc. 103s Preparing to unpack .../15-python3-django-cas-server-doc_2.1.0-3_all.deb ... 103s Unpacking python3-django-cas-server-doc (2.1.0-3) ... 103s Selecting previously unselected package python3-iniconfig. 103s Preparing to unpack .../16-python3-iniconfig_1.1.1-2_all.deb ... 103s Unpacking python3-iniconfig (1.1.1-2) ... 103s Selecting previously unselected package python3-pluggy. 103s Preparing to unpack .../17-python3-pluggy_1.5.0-1_all.deb ... 103s Unpacking python3-pluggy (1.5.0-1) ... 103s Selecting previously unselected package python3-pytest. 103s Preparing to unpack .../18-python3-pytest_8.3.5-2_all.deb ... 103s Unpacking python3-pytest (8.3.5-2) ... 103s Selecting previously unselected package python3-pytest-django. 103s Preparing to unpack .../19-python3-pytest-django_4.5.2-3_all.deb ... 103s Unpacking python3-pytest-django (4.5.2-3) ... 103s Setting up python3-iniconfig (1.1.1-2) ... 103s Setting up fonts-lato (2.015-1) ... 103s Setting up python3-all (3.13.4-1) ... 103s Setting up python3-sqlparse (0.5.3-1) ... 103s Setting up python3-pluggy (1.5.0-1) ... 103s Setting up python3-legacy-cgi (2.6.3-1) ... 103s Setting up libxslt1.1:amd64 (1.1.43-0exp1) ... 103s Setting up python3-requests-futures (1.0.2-1) ... 103s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 103s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 103s Setting up sphinx-rtd-theme-common (3.0.2+dfsg-3) ... 103s Setting up python3-asgiref (3.8.1-1) ... 103s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 103s Setting up python3-django (3:4.2.18-1ubuntu1.1) ... 103s Setting up python3-pytest (8.3.5-2) ... 104s Setting up python3-pytest-django (4.5.2-3) ... 104s Setting up libjs-sphinxdoc (8.2.3-1ubuntu2) ... 104s Setting up python3-lxml:amd64 (5.4.0-1build1) ... 104s Setting up python3-django-cas-server (2.1.0-3) ... 104s Setting up python3-django-cas-server-doc (2.1.0-3) ... 104s Processing triggers for man-db (2.13.1-1) ... 104s Processing triggers for libc-bin (2.41-6ubuntu2) ... 106s autopkgtest [14:36:04]: test run-test-suite.sh: [----------------------- 106s 106s *************************** 106s *** Testing with python3.13 106s *************************** 106s 106s Content of current working folder: 106s 106s total 20 106s drwxr-xr-x 3 ubuntu ubuntu 4096 Jun 19 14:36 . 106s drwxrwxrwt 5 root root 4096 Jun 19 14:36 .. 106s drwxrwxr-x 9 ubuntu ubuntu 4096 Jun 19 14:35 cas_server 106s -rw-rw-r-- 1 ubuntu ubuntu 140 Aug 18 2024 pytest.ini 106s -rw-rw-r-- 1 ubuntu ubuntu 152 Aug 18 2024 setup.cfg 106s Running tests... 106s 106s ============================= test session starts ============================== 106s platform linux -- Python 3.13.5, pytest-8.3.5, pluggy-1.5.0 -- /usr/bin/python3.13 106s cachedir: .pytest_cache 106s django: settings: cas_server.tests.settings (from ini) 106s rootdir: /tmp/autopkgtest.8Il56g/autopkgtest_tmp 106s configfile: pytest.ini 106s testpaths: cas_server/tests/ 106s plugins: django-4.5.2, typeguard-4.4.2 107s collecting ... collected 128 items 107s 107s cas_server/tests/test_federate.py::FederateAuthLoginLogoutTestCase::test_auth_federate_errors Creating test database for alias 'default'... 107s 2025-06-19 14:36:05,025 WARNING Identity provider suffix exemple.fr not found 107s 2025-06-19 14:36:05,041 INFO Got an invalid ticket ST-meHyx60nuQ7faAwbg00UiJXoL0xpP7uNWxpDegbt3YpnJMwaPkyzDReeISInh from http://127.0.0.1:8080 for service http://testserver/federate/example.com. Retrying authentication 107s 2025-06-19 14:36:05,045 INFO Got an invalid ticket ST-VBLDAFMoLpHYwWfTmxvQtvPd6xRiUgba3e0Wn0fOCc6VYCyU09k2XuBkB4AM3 from http://127.0.0.1:8080 for service http://testserver/federate/example.com. Retrying authentication 107s 2025-06-19 14:36:05,049 INFO Got an invalid ticket ST-yiXjvL9QnFSYGG49bw8CYZThxH0GRdUaw8irwF3xrYdGCapR8k8qJ9dZZjukO from http://127.0.0.1:8082 for service http://testserver/federate/example.net. Retrying authentication 107s FAILED 107s cas_server/tests/test_federate.py::FederateAuthLoginLogoutTestCase::test_auth_federate_false 2025-06-19 14:36:05,077 WARNING CAS_FEDERATE is False, set it to True to use federation 107s 2025-06-19 14:36:05,078 WARNING CAS_FEDERATE is False, set it to True to use federation 107s PASSED 107s cas_server/tests/test_federate.py::FederateAuthLoginLogoutTestCase::test_auth_federate_slo 2025-06-19 14:36:05,098 INFO Trying to authenticate http://127.0.0.1:8080 again 107s FAILED 107s cas_server/tests/test_federate.py::FederateAuthLoginLogoutTestCase::test_default_settings PASSED 107s cas_server/tests/test_federate.py::FederateAuthLoginLogoutTestCase::test_federate_logout 2025-06-19 14:36:05,133 INFO Trying to authenticate http://127.0.0.1:8080 again 107s FAILED 107s cas_server/tests/test_federate.py::FederateAuthLoginLogoutTestCase::test_forget_provider 2025-06-19 14:36:05,162 INFO Trying to authenticate http://127.0.0.1:8080 again 107s FAILED 107s cas_server/tests/test_federate.py::FederateAuthLoginLogoutTestCase::test_login_bad_ticket PASSED 107s cas_server/tests/test_federate.py::FederateAuthLoginLogoutTestCase::test_login_get_provider PASSED 107s cas_server/tests/test_federate.py::FederateAuthLoginLogoutTestCase::test_login_post_provider 2025-06-19 14:36:05,192 WARNING A login attempt failed 107s 2025-06-19 14:36:05,211 INFO Trying to authenticate http://127.0.0.1:8080 again 107s FAILED 107s cas_server/tests/test_federate.py::FederateAuthLoginLogoutTestCase::test_login_twice 2025-06-19 14:36:05,239 INFO Trying to authenticate http://127.0.0.1:8080 again 107s FAILED 107s cas_server/tests/test_federate.py::FederateAuthLoginLogoutTestCase::test_remember_provider 2025-06-19 14:36:05,292 INFO Trying to authenticate http://127.0.0.1:8080 again 107s FAILED 107s cas_server/tests/test_federate.py::FederateAuthLoginLogoutTestCase::test_renew 2025-06-19 14:36:05,320 INFO Trying to authenticate http://127.0.0.1:8080 again 107s FAILED 107s cas_server/tests/test_models.py::FederatedUserTestCase::test_clean_old_entries PASSED 107s cas_server/tests/test_models.py::FederatedUserTestCase::test_json_attributes PASSED 107s cas_server/tests/test_models.py::FederateSLOTestCase::test_clean_deleted_sessions PASSED 107s cas_server/tests/test_models.py::UserAttributesTestCase::test_clean_old_entries 2025-06-19 14:36:05,365 INFO User test successfully authenticated 107s PASSED 107s cas_server/tests/test_models.py::UserTestCase::test_cached_attributs 2025-06-19 14:36:05,376 INFO User test successfully authenticated 107s PASSED 107s cas_server/tests/test_models.py::UserTestCase::test_clean_deleted_sessions PASSED 107s cas_server/tests/test_models.py::UserTestCase::test_clean_old_entries PASSED 107s cas_server/tests/test_models.py::UserTestCase::test_clean_old_entries_tgt_expired PASSED 107s cas_server/tests/test_models.py::TicketTestCase::test_clean_old_service_ticket 2025-06-19 14:36:05,384 INFO User test successfully authenticated 107s 2025-06-19 14:36:05,390 INFO User test successfully authenticated 107s 2025-06-19 14:36:05,397 INFO Sending SLO requests to service http://127.0.0.1:45678 for user test 107s 2025-06-19 14:36:05,409 INFO User test successfully authenticated 107s 2025-06-19 14:36:05,419 INFO User test successfully authenticated 107s 2025-06-19 14:36:05,430 INFO User test successfully authenticated 107s 2025-06-19 14:36:05,437 INFO Sending SLO requests to service http://127.0.0.1:46689 for user test 107s FAILED 107s cas_server/tests/test_models.py::TicketTestCase::test_json_attributes 2025-06-19 14:36:05,451 INFO User test successfully authenticated 107s PASSED 107s cas_server/tests/test_models.py::NewVersionWarningTestCase::test_send_mails PASSED 107s cas_server/tests/test_models.py::NewVersionWarningTestCase::test_send_mails_disabled PASSED 107s cas_server/tests/test_models.py::NewVersionWarningTestCase::test_send_mails_no_admins PASSED 107s cas_server/tests/test_models.py::NewVersionWarningTestCase::test_send_mails_same_version PASSED 107s cas_server/tests/test_templatetags.py::TemplateTagsTestCase::test_is_checkbox PASSED 107s cas_server/tests/test_templatetags.py::TemplateTagsTestCase::test_is_hidden PASSED 107s cas_server/tests/test_utils.py::CheckPasswordCase::test_bad_method PASSED 107s cas_server/tests/test_utils.py::CheckPasswordCase::test_crypt PASSED 107s cas_server/tests/test_utils.py::CheckPasswordCase::test_hex PASSED 107s cas_server/tests/test_utils.py::CheckPasswordCase::test_ldap_password_fail PASSED 107s cas_server/tests/test_utils.py::CheckPasswordCase::test_ldap_password_valid PASSED 107s cas_server/tests/test_utils.py::CheckPasswordCase::test_plain PASSED 107s cas_server/tests/test_utils.py::CheckPasswordCase::test_plain_unicode PASSED 107s cas_server/tests/test_utils.py::CheckPasswordCase::test_setup PASSED 107s cas_server/tests/test_utils.py::UtilsTestCase::test_crypt_salt_is_valid PASSED 107s cas_server/tests/test_utils.py::UtilsTestCase::test_dictfetchall PASSED 107s cas_server/tests/test_utils.py::UtilsTestCase::test_get_current_url PASSED 107s cas_server/tests/test_utils.py::UtilsTestCase::test_get_tuple PASSED 107s cas_server/tests/test_utils.py::UtilsTestCase::test_import_attr PASSED 107s cas_server/tests/test_utils.py::UtilsTestCase::test_last_version PASSED 107s cas_server/tests/test_utils.py::UtilsTestCase::test_regexpr_validator PASSED 107s cas_server/tests/test_utils.py::UtilsTestCase::test_update_url PASSED 107s cas_server/tests/test_view.py::LoginTestCase::test_ajax_get_ticket_fail 2025-06-19 14:36:05,689 INFO User test successfully authenticated 107s PASSED 107s cas_server/tests/test_view.py::LoginTestCase::test_ajax_get_ticket_success 2025-06-19 14:36:05,693 WARNING Service https://www.example.org not allowed. 107s 2025-06-19 14:36:05,699 INFO User test successfully authenticated 107s PASSED 107s cas_server/tests/test_view.py::LoginTestCase::test_ajax_get_ticket_success_alt 2025-06-19 14:36:05,704 INFO Service ticket created for service https://www.example.com by user test. 107s 2025-06-19 14:36:05,711 INFO User test successfully authenticated 108s 2025-06-19 14:36:05,715 INFO Service ticket created for service https://www.example.com by user test. 108s PASSED 108s cas_server/tests/test_view.py::LoginTestCase::test_ajax_get_ticket_warn PASSED 108s cas_server/tests/test_view.py::LoginTestCase::test_ajax_logged 2025-06-19 14:36:05,721 INFO User test successfully authenticated 108s 2025-06-19 14:36:05,731 INFO User test successfully authenticated 108s PASSED 108s cas_server/tests/test_view.py::LoginTestCase::test_ajax_logged_user_deleted 2025-06-19 14:36:05,740 INFO User test successfully authenticated 108s 2025-06-19 14:36:05,744 WARNING User test seems authenticated but is not found in the database. 108s 2025-06-19 14:36:05,744 INFO Logging out user test. 108s 2025-06-19 14:36:05,745 INFO User test logged out 108s PASSED 108s cas_server/tests/test_view.py::LoginTestCase::test_ajax_login_required PASSED 108s cas_server/tests/test_view.py::LoginTestCase::test_gateway 2025-06-19 14:36:05,754 INFO User test successfully authenticated 108s 2025-06-19 14:36:05,757 WARNING Username test not allowed on service restrict_user_fail 108s PASSED 108s cas_server/tests/test_view.py::LoginTestCase::test_login_post_missing_params 2025-06-19 14:36:05,765 WARNING A login attempt failed 108s 2025-06-19 14:36:05,773 WARNING A login attempt failed 108s PASSED 108s cas_server/tests/test_view.py::LoginTestCase::test_login_view_post_badlt 2025-06-19 14:36:05,781 WARNING A login attempt failed 108s 2025-06-19 14:36:05,791 WARNING Received an invalid login ticket 108s PASSED 108s cas_server/tests/test_view.py::LoginTestCase::test_login_view_post_badpass_good_lt 2025-06-19 14:36:05,801 WARNING A login attempt failed 108s PASSED 108s cas_server/tests/test_view.py::LoginTestCase::test_login_view_post_goodpass_goodlt PASSED 108s cas_server/tests/test_view.py::LoginTestCase::test_login_view_post_goodpass_goodlt_warn 2025-06-19 14:36:05,811 INFO User test successfully authenticated 108s 2025-06-19 14:36:05,822 INFO User test successfully authenticated 108s PASSED 109s cas_server/tests/test_view.py::LoginTestCase::test_lt_max PASSED 109s cas_server/tests/test_view.py::LoginTestCase::test_messages_info_box_bad_messages 2025-06-19 14:36:06,350 INFO User test successfully authenticated 109s PASSED 109s cas_server/tests/test_view.py::LoginTestCase::test_messages_info_box_disabled PASSED 109s cas_server/tests/test_view.py::LoginTestCase::test_messages_info_box_enabled PASSED 109s cas_server/tests/test_view.py::LoginTestCase::test_new_version_available_badpypi PASSED 109s cas_server/tests/test_view.py::LoginTestCase::test_new_version_available_disabled PASSED 109s cas_server/tests/test_view.py::LoginTestCase::test_new_version_available_ok PASSED 109s cas_server/tests/test_view.py::LoginTestCase::test_renew PASSED 109s cas_server/tests/test_view.py::LoginTestCase::test_renew_message_disabled PASSED 109s cas_server/tests/test_view.py::LoginTestCase::test_service_filter PASSED 109s cas_server/tests/test_view.py::LoginTestCase::test_service_restrict_user PASSED 109s cas_server/tests/test_view.py::LoginTestCase::test_service_user_field PASSED 109s cas_server/tests/test_view.py::LoginTestCase::test_service_user_field_evaluate_to_false PASSED 109s cas_server/tests/test_view.py::LoginTestCase::test_user_logged_not_in_db PASSED 109s cas_server/tests/test_view.py::LoginTestCase::test_view_login_get_allowed_service PASSED 109s cas_server/tests/test_view.py::LoginTestCase::test_view_login_get_allowed_service_no_message PASSED 109s cas_server/tests/test_view.py::LoginTestCase::test_view_login_get_auth_allowed_service PASSED 109s cas_server/tests/test_view.py::LoginTestCase::test_view_login_get_auth_allowed_service_non_ascii PASSED 109s cas_server/tests/test_view.py::LoginTestCase::test_view_login_get_auth_allowed_service_warn PASSED 109s cas_server/tests/test_view.py::LoginTestCase::test_view_login_get_auth_denied_service PASSED 109s cas_server/tests/test_view.py::LoginTestCase::test_view_login_get_denied_service PASSED 109s cas_server/tests/test_view.py::LoginTestCase::test_view_login_get_denied_service_no_message PASSED 109s cas_server/tests/test_view.py::LogoutTestCase::test_ajax_logout PASSED 109s cas_server/tests/test_view.py::LogoutTestCase::test_ajax_logout_all_session PASSED 109s cas_server/tests/test_view.py::LogoutTestCase::test_ajax_redirect_after_logout PASSED 109s cas_server/tests/test_view.py::LogoutTestCase::test_logout PASSED 109s cas_server/tests/test_view.py::LogoutTestCase::test_logout_from_all_session PASSED 109s cas_server/tests/test_view.py::LogoutTestCase::test_logout_slo FAILED 109s cas_server/tests/test_view.py::LogoutTestCase::test_logout_view PASSED 109s cas_server/tests/test_view.py::LogoutTestCase::test_logout_view_service PASSED 109s cas_server/tests/test_view.py::LogoutTestCase::test_logout_view_url PASSED 109s cas_server/tests/test_view.py::LogoutTestCase::test_redirect_after_logout 2025-06-19 14:36:06,356 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,359 INFO Service ticket created for service https://www.example.com by user test. 109s 2025-06-19 14:36:06,365 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,372 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,374 INFO Service ticket created for service https://www.example.com by user test. 109s 2025-06-19 14:36:06,381 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,384 WARNING User constraint failed for test, service filter_fail: ^admin$ do not match right None. 109s 2025-06-19 14:36:06,386 WARNING User constraint failed for test, service filter_fail_alt: ^toto$ do not match nom Nymous. 109s 2025-06-19 14:36:06,389 INFO Service ticket created for service https://filter_success.example.com by user test. 109s 2025-06-19 14:36:06,396 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,399 WARNING Username test not allowed on service restrict_user_fail 109s 2025-06-19 14:36:06,402 INFO Service ticket created for service https://restrict_user_success.example.com by user test. 109s 2025-06-19 14:36:06,409 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,412 WARNING Cannot use uid a loggin for user test on service field_needed_fail because it is absent 109s 2025-06-19 14:36:06,415 INFO Service ticket created for service https://field_needed_success.example.com by user test. 109s 2025-06-19 14:36:06,421 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,425 WARNING Cannot use alias a loggin for user test on service field_needed_success because it is absent 109s 2025-06-19 14:36:06,431 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,435 WARNING User test seems authenticated but is not found in the database. 109s 2025-06-19 14:36:06,435 INFO Logging out user test. 109s 2025-06-19 14:36:06,436 INFO User test logged out 109s 2025-06-19 14:36:06,453 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,457 INFO Service ticket created for service https://www.example.com/é by user test. 109s 2025-06-19 14:36:06,465 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,469 INFO Service ticket created for service https://www.example.com by user test. 109s 2025-06-19 14:36:06,476 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,482 WARNING Received a login attempt for an already-active user 109s 2025-06-19 14:36:06,484 INFO Service ticket created for service https://www.example.com by user test. 109s 2025-06-19 14:36:06,491 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,494 WARNING Service https://www.example.org not allowed. 109s 2025-06-19 14:36:06,498 WARNING Service https://www.example.net not allowed. 109s 2025-06-19 14:36:06,504 WARNING Service https://www.example.net not allowed. 109s 2025-06-19 14:36:06,512 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,514 INFO logout requested 109s 2025-06-19 14:36:06,514 INFO Logging out user test. 109s 2025-06-19 14:36:06,517 INFO User test logged out 109s 2025-06-19 14:36:06,522 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,528 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,534 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,539 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,545 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,550 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,556 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,562 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,564 INFO logout requested 109s 2025-06-19 14:36:06,564 INFO Logging out user test from all sessions. 109s 2025-06-19 14:36:06,579 INFO User test logged out 109s 2025-06-19 14:36:06,584 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,587 INFO logout requested 109s 2025-06-19 14:36:06,587 INFO Logging out user test. 109s 2025-06-19 14:36:06,589 INFO User test logged out 109s 2025-06-19 14:36:06,591 INFO logout requested 109s 2025-06-19 14:36:06,598 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,603 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,605 INFO logout requested 109s 2025-06-19 14:36:06,606 INFO Logging out user test from all sessions. 109s 2025-06-19 14:36:06,610 INFO User test logged out 109s 2025-06-19 14:36:06,617 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,622 INFO Service ticket created for service http://127.0.0.1:45753 by user test. 109s 2025-06-19 14:36:06,624 INFO Validate: Service ticket ST-ztDYbTZJGSIdXpyVrrk9rd0jR3uoszDE97UZ2xCHLgBDyBQntwnmLq3RP0nLq validated, user test authenticated on service http://127.0.0.1:45753 109s 2025-06-19 14:36:06,625 INFO logout requested 109s 2025-06-19 14:36:06,625 INFO Logging out user test. 109s 2025-06-19 14:36:06,627 INFO Sending SLO requests to service http://127.0.0.1:45753 for user test 109s 2025-06-19 14:36:06,631 INFO User test logged out 109s 2025-06-19 14:36:06,650 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,656 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,660 INFO logout requested 109s 2025-06-19 14:36:06,661 INFO Logging out user test. 109s 2025-06-19 14:36:06,663 INFO User test logged out 109s 2025-06-19 14:36:06,672 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,674 INFO logout requested 109s 2025-06-19 14:36:06,675 INFO Logging out user test. 109s 2025-06-19 14:36:06,677 INFO User test logged out 109s 2025-06-19 14:36:06,685 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,687 INFO logout requested 109s 2025-06-19 14:36:06,688 INFO Logging out user test. 109s 2025-06-19 14:36:06,690 INFO User test logged out 109s 2025-06-19 14:36:06,698 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,700 INFO logout requested 109s 2025-06-19 14:36:06,701 INFO Logging out user test. 109s 2025-06-19 14:36:06,703 INFO User test logged out 109s PASSED 109s cas_server/tests/test_view.py::LogoutTestCase::test_redirect_after_logout_to_service PASSED 109s cas_server/tests/test_view.py::AuthTestCase::test_auth_view_badpass PASSED 109s cas_server/tests/test_view.py::AuthTestCase::test_auth_view_badsecret 2025-06-19 14:36:06,708 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,710 INFO logout requested 109s 2025-06-19 14:36:06,711 INFO Logging out user test. 109s 2025-06-19 14:36:06,713 INFO User test logged out 109s 2025-06-19 14:36:06,716 INFO logout requested 109s PASSED 109s cas_server/tests/test_view.py::AuthTestCase::test_auth_view_badservice 2025-06-19 14:36:06,727 WARNING Service https://www.example.org not allowed. 109s PASSED 109s cas_server/tests/test_view.py::AuthTestCase::test_auth_view_badsettings PASSED 109s cas_server/tests/test_view.py::AuthTestCase::test_auth_view_goodpass PASSED 109s cas_server/tests/test_view.py::AuthTestCase::test_auth_view_goodpass_logged 2025-06-19 14:36:06,737 INFO User test successfully authenticated 109s PASSED 109s cas_server/tests/test_view.py::AuthTestCase::test_auth_view_missing_parameter PASSED 109s cas_server/tests/test_view.py::ValidateTestCase::test_validate_missing_parameter 2025-06-19 14:36:06,748 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,753 INFO Service ticket created for service https://www.example.com by user test. 109s PASSED 109s cas_server/tests/test_view.py::ValidateTestCase::test_validate_service_renew 2025-06-19 14:36:06,754 WARNING Validate: service or ticket missing 109s 2025-06-19 14:36:06,754 WARNING Validate: service or ticket missing 109s 2025-06-19 14:36:06,760 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,762 INFO Service ticket created for service https://www.example.com by user test. 109s 2025-06-19 14:36:06,764 INFO Validate: Service ticket ST-s8KOKFmzbchSPTpMYYv9hGTdCqdboXUtPSP8CpvygjDDYXHmEwB6cYjCwFwDt validated, user test authenticated on service https://www.example.com 109s PASSED 109s cas_server/tests/test_view.py::ValidateTestCase::test_validate_user_field_ok 2025-06-19 14:36:06,768 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,770 INFO Service ticket created for service https://www.example.com by user test. 109s 2025-06-19 14:36:06,772 INFO Validate: Service ticket ST-cvFnoVoHLSfe001W5pNSG4TlBTVpMSErOaXmvUjwALTaZ0ARxTBnlbfOp1UEQ validated, user test authenticated on service https://www.example.com 109s 2025-06-19 14:36:06,775 INFO Service ticket created for service https://www.example.com by user test. 109s 2025-06-19 14:36:06,776 WARNING Validate: Service ticket ST-zkNad2C56C1fhlKgLH8WMYwrqe0jKxbNZ7xaerR9tpW2yYAMxtEw6XetVVJzi not found or already validated, auth to https://www.example.com failed 109s 2025-06-19 14:36:06,782 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,786 INFO Service ticket created for service https://user_field.example.com by user test. 109s 2025-06-19 14:36:06,788 INFO Validate: Service ticket ST-pQbdtrxzBTalgrYVx17EjtHzubX1Y8R5TZrV41Kuif27iFsdMd7W7W1Sk1pX8 validated, user test authenticated on service https://user_field.example.com 109s 2025-06-19 14:36:06,792 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,796 INFO Service ticket created for service https://user_field_alt.example.com by user test. 109s 2025-06-19 14:36:06,798 INFO Validate: Service ticket ST-mtYX3nut2tSckIlSIsfrqWgpdGv8HIXTUo1ZaT4mb8GTd5QkzjK0en1iUwkEu validated, user test authenticated on service https://user_field_alt.example.com 109s 2025-06-19 14:36:06,804 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,808 INFO Service ticket created for service https://www.example.com by user test. 109s 2025-06-19 14:36:06,809 WARNING Validate: Service ticket ST-4cnUPU1AYqL1DzzuAE8mVzNoZEOJZZqjDYT1Mg3Fu3rR1nbyQBocdz6q61Py6 not found or already validated, auth to https://www.example.org failed 109s PASSED 109s cas_server/tests/test_view.py::ValidateTestCase::test_validate_view_badservice PASSED 109s cas_server/tests/test_view.py::ValidateTestCase::test_validate_view_badticket 2025-06-19 14:36:06,814 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,818 INFO Service ticket created for service https://www.example.com by user test. 109s 2025-06-19 14:36:06,820 WARNING Validate: Service ticket ST-RANDOM not found or already validated, auth to https://www.example.com failed 109s 2025-06-19 14:36:06,826 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,830 INFO Service ticket created for service https://www.example.com by user test. 109s PASSED 109s cas_server/tests/test_view.py::ValidateTestCase::test_validate_view_ok PASSED 109s cas_server/tests/test_view.py::ValidateServiceTestCase::test_validate_missing_parameter 2025-06-19 14:36:06,832 INFO Validate: Service ticket ST-c4b4ZKLbqNgLd6eN0K2CqqMMXs3eHMVNURAREqz2LmyL7XkRMNWi3hbXO0TCR validated, user test authenticated on service https://www.example.com 109s 2025-06-19 14:36:06,838 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,842 INFO Service ticket created for service http://127.0.0.1:45678 by user test. 109s 2025-06-19 14:36:06,843 WARNING ValidateService: missing ticket or service 109s PASSED 109s cas_server/tests/test_view.py::ValidateServiceTestCase::test_validate_proxy 2025-06-19 14:36:06,845 WARNING ValidateService: missing ticket or service 109s 2025-06-19 14:36:06,852 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,856 INFO Service ticket created for service http://127.0.0.1:39485 by user test. 109s FAILED 109s cas_server/tests/test_view.py::ValidateServiceTestCase::test_validate_replace_attributes 2025-06-19 14:36:06,862 INFO ValidateService: ticket ST-3k8lhBVfsO4jaB8FoeTPW7JgNo3GSVcWoeZOCcZHCaDuTlVKOaVhrRuzMIBsr validated for user test on service http://127.0.0.1:39485. Proxy Granting Ticket transmited to http://127.0.0.1:39485. 109s 2025-06-19 14:36:06,887 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,891 INFO Service ticket created for service https://replace_attribute.example.com by user test. 109s 2025-06-19 14:36:06,893 INFO ValidateService: ticket ST-Ymm5CC84GYcuzmdxrANPTA9HTuhbqnK0D6lMmsDvDbGpCSccIQNf5DaEYPpIg validated for user test on service https://replace_attribute.example.com. 109s 2025-06-19 14:36:06,897 INFO User test successfully authenticated 109s PASSED 109s cas_server/tests/test_view.py::ValidateServiceTestCase::test_validate_service_pgturl_404 PASSED 109s cas_server/tests/test_view.py::ValidateServiceTestCase::test_validate_service_pgturl_bad_proxy_callback 2025-06-19 14:36:06,902 INFO Service ticket created for service https://replace_attribute_list.example.com by user test. 109s 2025-06-19 14:36:06,904 INFO ValidateService: ticket ST-CosboKfLyvT87sLhYxIIBbsFiuiUixD8iQJlhcv2xiddP7g1KbbiOhm6WfbQH validated for user test on service https://replace_attribute_list.example.com. 109s 2025-06-19 14:36:06,910 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,914 INFO Service ticket created for service http://127.0.0.1:38731 by user test. 109s 2025-06-19 14:36:06,920 INFO ValidateService: ticket ST-Zx17L1l7q9G1asx6JmIhnEZB7f60vZxSV7YNuSLZAwnfmAT7eqJ7QIv6xU1pr validated for user test on service http://127.0.0.1:38731. Proxy Granting Ticket transmited to http://127.0.0.1:38731. 109s 2025-06-19 14:36:06,927 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,931 INFO Service ticket created for service http://127.0.0.1:45678 by user test. 109s 2025-06-19 14:36:06,933 WARNING ValidateService: validation error: INVALID_PROXY_CALLBACK callback url not allowed by configuration 109s PASSED 109s cas_server/tests/test_view.py::ValidateServiceTestCase::test_validate_service_pgturl_sslerror 2025-06-19 14:36:06,937 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,941 INFO Service ticket created for service http://127.0.0.1:45678 by user test. 109s 2025-06-19 14:36:06,944 WARNING Service https://www.example.org not allowed. 109s 2025-06-19 14:36:06,944 WARNING ValidateService: validation error: INVALID_PROXY_CALLBACK callback url not allowed by configuration 109s 2025-06-19 14:36:06,950 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,954 INFO Service ticket created for service https://127.0.0.1:45723 by user test. 109s PASSED 109s cas_server/tests/test_view.py::ValidateServiceTestCase::test_validate_service_renew 2025-06-19 14:36:06,959 WARNING ValidateService: validation error: INVALID_PROXY_CALLBACK : HTTPSConnectionPool(host='127.0.0.1', port=45723): Max retries exceeded with url: /?pgtId=PGT-AP0Ul9Zt4zjPQpRTYNBe6F6eh2u7fHxanVTzdJGBRANdQgCpfDtpGnnrfx0J&pgtIou=PGTIOU-Riyw7eHeZ9pHNzHUqgxfVQUEw6tJvgD77Ry4NUcgkUtlOkv2y8M5JgLrc (Caused by ProxyError('Unable to connect to proxy', OSError('Tunnel connection failed: 403 Forbidden'))) 109s 2025-06-19 14:36:06,965 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,968 INFO Service ticket created for service http://127.0.0.1:45678 by user test. 109s 2025-06-19 14:36:06,970 INFO ValidateService: ticket ST-FXyRRmwrGeM6mfNcrUGHHdsOKHFe1RZ6GtCBq1P3yicAIAOKuCl8GTDlC6c6s validated for user test on service http://127.0.0.1:45678. 109s 2025-06-19 14:36:06,975 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,977 INFO Service ticket created for service http://127.0.0.1:45678 by user test. 109s 2025-06-19 14:36:06,979 INFO ValidateService: ticket ST-qWjz6llestJpxHFWxW0MikOVM0eZtRGioOhjZ9leHXgCna2J1atWsYjOwiOFF validated for user test on service http://127.0.0.1:45678. 109s PASSED 109s cas_server/tests/test_view.py::ValidateServiceTestCase::test_validate_service_view_badservice 2025-06-19 14:36:06,982 INFO Service ticket created for service http://127.0.0.1:45678 by user test. 109s 2025-06-19 14:36:06,983 WARNING ValidateService: validation error: INVALID_TICKET ticket not found 109s PASSED 109s cas_server/tests/test_view.py::ValidateServiceTestCase::test_validate_service_view_badticket_badprefix 2025-06-19 14:36:06,989 INFO User test successfully authenticated 109s 2025-06-19 14:36:06,993 INFO Service ticket created for service http://127.0.0.1:45678 by user test. 109s 2025-06-19 14:36:06,996 WARNING ValidateService: validation error: INVALID_SERVICE https://www.example.org 109s 2025-06-19 14:36:07,001 INFO User test successfully authenticated 109s 2025-06-19 14:36:07,005 INFO Service ticket created for service http://127.0.0.1:45678 by user test. 109s 2025-06-19 14:36:07,007 WARNING ValidateService: validation error: INVALID_TICKET RANDOM 109s PASSED 109s cas_server/tests/test_view.py::ValidateServiceTestCase::test_validate_service_view_badticket_goodprefix 2025-06-19 14:36:07,012 INFO User test successfully authenticated 109s 2025-06-19 14:36:07,017 INFO Service ticket created for service http://127.0.0.1:45678 by user test. 109s 2025-06-19 14:36:07,018 WARNING ValidateService: validation error: INVALID_TICKET ticket not found 109s PASSED 109s cas_server/tests/test_view.py::ValidateServiceTestCase::test_validate_service_view_ok 2025-06-19 14:36:07,024 INFO User test successfully authenticated 109s 2025-06-19 14:36:07,028 INFO Service ticket created for service http://127.0.0.1:45678 by user test. 109s PASSED 109s cas_server/tests/test_view.py::ValidateServiceTestCase::test_validate_service_view_ok_one_attribute 2025-06-19 14:36:07,030 INFO ValidateService: ticket ST-LwnD1odcoDjwS0t5JCljoFaLN2tbrydc8vJRVlvQkIYN9MbtUV1U5ZKt5yzze validated for user test on service http://127.0.0.1:45678. 109s 2025-06-19 14:36:07,036 INFO User test successfully authenticated 109s 2025-06-19 14:36:07,041 INFO Service ticket created for service https://one_attribute.example.com by user test. 109s PASSED 109s cas_server/tests/test_view.py::ValidateServiceTestCase::test_validate_service_view_ok_pgturl FAILED 109s cas_server/tests/test_view.py::ValidateServiceTestCase::test_validate_user_field_ok 2025-06-19 14:36:07,043 INFO ValidateService: ticket ST-G2iGX8qaRdyDnfhopi45Cdghu2aBedduAtmXVUnenFWkmf124YGeRUYnRC4GA validated for user test on service https://one_attribute.example.com. 109s 2025-06-19 14:36:07,050 INFO User test successfully authenticated 109s 2025-06-19 14:36:07,053 INFO Service ticket created for service http://127.0.0.1:40727 by user test. 109s 2025-06-19 14:36:07,059 INFO ValidateService: ticket ST-QBqf54yvkfS768Zejc4xKHH20h3YSGEGFna7Xbcebhw6XKhW1nEcLQwAWYQQq validated for user test on service http://127.0.0.1:40727. Proxy Granting Ticket transmited to http://127.0.0.1:40727. 109s 2025-06-19 14:36:07,080 INFO User test successfully authenticated 109s 2025-06-19 14:36:07,084 INFO Service ticket created for service https://user_field.example.com by user test. 109s 2025-06-19 14:36:07,086 INFO ValidateService: ticket ST-Z6WC4nD8tWFFwTZSM61N9yUK0TONzwQwTvpZkF0d6QrmqbFntFTkyF4gcn5pL validated for user test on service https://user_field.example.com. 109s 2025-06-19 14:36:07,090 INFO User test successfully authenticated 109s 2025-06-19 14:36:07,095 INFO Service ticket created for service https://user_field_alt.example.com by user test. 109s 2025-06-19 14:36:07,097 INFO ValidateService: ticket ST-MDF99jzlhwCSX0Yj2bFPEadbubgLSeNujPlaSYi5MCgFK4pyUtGd3JetHJOhX validated for user test on service https://user_field_alt.example.com. 109s PASSED 109s cas_server/tests/test_view.py::ProxyTestCase::test_proxy_missing_parameter 2025-06-19 14:36:07,104 INFO User test successfully authenticated 109s 2025-06-19 14:36:07,108 INFO Service ticket created for service http://127.0.0.1:37565 by user test. 109s 2025-06-19 14:36:07,114 INFO ValidateService: ticket ST-sYOYZdtyQResxyJ8mhfG5lCWqowQR1BO71cgPTZZ22AM3OeZDbJRTN0OvcHUD validated for user test on service http://127.0.0.1:37565. Proxy Granting Ticket transmited to http://127.0.0.1:37565. 109s FAILED 109s cas_server/tests/test_view.py::ProxyTestCase::test_proxy_unauthorized_user 2025-06-19 14:36:07,138 INFO User test successfully authenticated 109s 2025-06-19 14:36:07,142 INFO Service ticket created for service http://127.0.0.1:35141 by user test. 109s 2025-06-19 14:36:07,148 INFO ValidateService: ticket ST-ftndSrPGWsdy1TBjSqATmHcnQwcYyCfmV4tUGdeWD06zmnLTbMvbLZIEyJy7S validated for user test on service http://127.0.0.1:35141. Proxy Granting Ticket transmited to http://127.0.0.1:35141. 109s FAILED 109s cas_server/tests/test_view.py::ProxyTestCase::test_validate_proxy_bad_pgt 2025-06-19 14:36:07,171 INFO User test successfully authenticated 109s 2025-06-19 14:36:07,175 INFO Service ticket created for service http://127.0.0.1:37801 by user test. 109s 2025-06-19 14:36:07,180 INFO ValidateService: ticket ST-tKRfifmfxZBDERkLRSn0S4EtkQlwrdqZdjutUH9kBf52phwJzmUlugSgzd043 validated for user test on service http://127.0.0.1:37801. Proxy Granting Ticket transmited to http://127.0.0.1:37801. 109s FAILED 109s cas_server/tests/test_view.py::ProxyTestCase::test_validate_proxy_bad_service 2025-06-19 14:36:07,204 INFO User test successfully authenticated 109s 2025-06-19 14:36:07,208 INFO Service ticket created for service http://127.0.0.1:43315 by user test. 109s 2025-06-19 14:36:07,213 INFO ValidateService: ticket ST-0A5euhYZGaZ04SADjGmiGQa8BVQvUjS7VLhBbKrc0jO3PuNZPL8wE7T22Fpn4 validated for user test on service http://127.0.0.1:43315. Proxy Granting Ticket transmited to http://127.0.0.1:43315. 109s FAILED 109s cas_server/tests/test_view.py::ProxyTestCase::test_validate_proxy_ok 2025-06-19 14:36:07,239 INFO User test successfully authenticated 109s 2025-06-19 14:36:07,243 INFO Service ticket created for service http://127.0.0.1:38439 by user test. 109s 2025-06-19 14:36:07,248 INFO ValidateService: ticket ST-UWufmCXB7DeUZQqPQzj3QFPbNTaU2j85JVbCJlYscacNLzpv6whdgC8TbX1qa validated for user test on service http://127.0.0.1:38439. Proxy Granting Ticket transmited to http://127.0.0.1:38439. 109s FAILED 109s cas_server/tests/test_view.py::SamlValidateTestCase::test_saml_bad_target 2025-06-19 14:36:07,271 INFO User test successfully authenticated 109s 2025-06-19 14:36:07,275 INFO Service ticket created for service https://www.example.com by user test. 109s PASSED 109s cas_server/tests/test_view.py::SamlValidateTestCase::test_saml_bad_ticket PASSED2025-06-19 14:36:07,277 WARNING SamlValidate: validation error: AuthnFailed TARGET https://www.example.org does not match ticket service 109s 2025-06-19 14:36:07,281 WARNING SamlValidate: validation error: AuthnFailed ticket ST-5Tx3apLzNEuQiVnVm9QHP9XBi06QVMvdhpQV0S35ARpcbbIIgwAYMcOlVntjx not found 109s 2025-06-19 14:36:07,282 WARNING SamlValidate: validation error: AuthnFailed ticket PT-bj3ynzA6AvrZThJ8MZlf81Gyn8CCgYrjIGphdRdmV9haBgiSf2yTNVU6zl8eZ not found 109s 109s cas_server/tests/test_view.py::SamlValidateTestCase::test_saml_bad_ticket_prefix PASSED 109s cas_server/tests/test_view.py::SamlValidateTestCase::test_saml_bad_xml 2025-06-19 14:36:07,285 WARNING SamlValidate: validation error: AuthnFailed ticket RANDOM-NOT-BEGINING-WITH-ST-OR-ST should begin with PT- or ST- 109s PASSED 109s cas_server/tests/test_view.py::SamlValidateTestCase::test_saml_ok 2025-06-19 14:36:07,288 WARNING SamlValidate: validation error: VersionMismatch 109s 2025-06-19 14:36:07,294 INFO User test successfully authenticated 109s 2025-06-19 14:36:07,299 INFO Service ticket created for service https://www.example.com by user test. 109s 2025-06-19 14:36:07,304 INFO User test successfully authenticated 109s 2025-06-19 14:36:07,308 INFO Service ticket created for service http://127.0.0.1:39061 by user test. 109s 2025-06-19 14:36:07,314 INFO ValidateService: ticket ST-rXLpNscJp9VhI74tga2cKt5LDm5MnsHHkoGEoHuPp1Pfl5U2930U9AlDlweX6 validated for user test on service http://127.0.0.1:39061. Proxy Granting Ticket transmited to http://127.0.0.1:39061. 109s FAILED 109s cas_server/tests/test_view.py::SamlValidateTestCase::test_saml_ok_user_field 2025-06-19 14:36:07,339 INFO User test successfully authenticated 109s 2025-06-19 14:36:07,343 INFO Service ticket created for service https://field_needed_success.example.com by user test. 109s 2025-06-19 14:36:07,345 INFO SamlValidate: ticket ST-jtEPQgvfTYPz1bmdvy8jPyKGyedP5TyYHVKKhKgJlzJXqulfk7LnKPZxTLWQs validated for user test on service https://field_needed_success.example.com. 109s 2025-06-19 14:36:07,350 INFO User test successfully authenticated 109s 2025-06-19 14:36:07,354 INFO Service ticket created for service https://field_needed_success_alt.example.com by user test. 109s 2025-06-19 14:36:07,356 INFO SamlValidate: ticket ST-kDrTdfmC4uTzYqtSUVRxgqM1xf2vmkVzofKNSKPoUaAzblnCK3CpUsopszhvF validated for user test on service https://field_needed_success_alt.example.com. 109s Destroying test database for alias 'default'... 109s PASSED 109s 109s =================================== FAILURES =================================== 109s __________ FederateAuthLoginLogoutTestCase.test_auth_federate_errors ___________ 109s 109s self = 109s 109s def test_auth_federate_errors(self): 109s """ 109s The federated view should redirect to /login if the provider is unknown or not provided, 109s try to fetch a new ticket if the provided ticket validation fail 109s (network error or bad ticket), redirect to /login with a error message if identity 109s provider CAS return a bad response (invalid XML document) 109s """ 109s good_provider = "example.com" 109s bad_provider = "exemple.fr" 109s client = Client() 109s response = client.get("/federate/%s" % bad_provider) 109s self.assertEqual(response.status_code, 302) 109s self.assertEqual(response["Location"], "%s/login" % ( 109s 'http://testserver' if django.VERSION < (1, 9) else "" 109s )) 109s 109s # test CAS not avaible 109s response = client.get("/federate/%s" % good_provider, {'ticket': utils.gen_st()}) 109s self.assertEqual(response.status_code, 302) 109s self.assertEqual( 109s response["Location"], 109s "%s/login?service=http%%3A%%2F%%2Ftestserver%%2Ffederate%%2F%s" % ( 109s models.FederatedIendityProvider.objects.get(suffix=good_provider).server_url, 109s good_provider 109s ) 109s ) 109s 109s # test CAS avaible but bad ticket 109s tests_utils.DummyCAS.run( 109s ("http://testserver/federate/%s" % good_provider).encode("ascii"), 109s utils.gen_st().encode("ascii"), 109s settings.CAS_TEST_USER.encode("utf-8"), 109s [], 109s 8080 109s ) 109s response = client.get("/federate/%s" % good_provider, {'ticket': utils.gen_st()}) 109s self.assertEqual(response.status_code, 302) 109s self.assertEqual( 109s response["Location"], 109s "%s/login?service=http%%3A%%2F%%2Ftestserver%%2Ffederate%%2F%s" % ( 109s models.FederatedIendityProvider.objects.get(suffix=good_provider).server_url, 109s good_provider 109s ) 109s ) 109s 109s response = client.post("/federate") 109s self.assertEqual(response.status_code, 302) 109s self.assertEqual(response["Location"], "%s/login" % ( 109s 'http://testserver' if django.VERSION < (1, 9) else "" 109s )) 109s 109s # test CAS avaible but return a bad XML doc, should redirect to /login with a error message 109s # use "example.net" as it is CASv3 109s tests_utils.HttpParamsHandler.run(8082) 109s response = client.get("/federate/%s" % "example.net", {'ticket': utils.gen_st()}) 109s self.assertEqual(response.status_code, 302) 109s > self.assertEqual(response["Location"], "%s/login" % ( 109s 'http://testserver' if django.VERSION < (1, 9) else "" 109s )) 109s E AssertionError: 'http://127.0.0.1:8082/login?service=http%[39 chars].net' != '/login' 109s E - http://127.0.0.1:8082/login?service=http%3A%2F%2Ftestserver%2Ffederate%2Fexample.net 109s E + /login 109s 109s cas_server/tests/test_federate.py:249: AssertionError 109s ------------------------------ Captured log call ------------------------------- 109s WARNING cas_server.views:views.py:408 Identity provider suffix exemple.fr not found 109s INFO cas_server.views:views.py:383 Got an invalid ticket ST-meHyx60nuQ7faAwbg00UiJXoL0xpP7uNWxpDegbt3YpnJMwaPkyzDReeISInh from http://127.0.0.1:8080 for service http://testserver/federate/example.com. Retrying authentication 109s INFO cas_server.views:views.py:383 Got an invalid ticket ST-VBLDAFMoLpHYwWfTmxvQtvPd6xRiUgba3e0Wn0fOCc6VYCyU09k2XuBkB4AM3 from http://127.0.0.1:8080 for service http://testserver/federate/example.com. Retrying authentication 109s INFO cas_server.views:views.py:383 Got an invalid ticket ST-yiXjvL9QnFSYGG49bw8CYZThxH0GRdUaw8irwF3xrYdGCapR8k8qJ9dZZjukO from http://127.0.0.1:8082 for service http://testserver/federate/example.net. Retrying authentication 109s ____________ FederateAuthLoginLogoutTestCase.test_auth_federate_slo ____________ 109s 109s self = 109s 109s def test_auth_federate_slo(self): 109s """test that SLO receive from backend CAS log out the users""" 109s # get tickets and connected clients 109s > tickets = self.test_login_post_provider() 109s 109s cas_server/tests/test_federate.py:259: 109s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 109s cas_server/tests/test_federate.py:118: in test_login_post_provider 109s tests_utils.DummyCAS.run( 109s cas_server/tests/utils.py:334: in run 109s httpd = server_class(("127.0.0.1", port), cls) 109s /usr/lib/python3.13/socketserver.py:457: in __init__ 109s self.server_bind() 109s /usr/lib/python3.13/http/server.py:136: in server_bind 109s socketserver.TCPServer.server_bind(self) 109s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 109s 109s self = 109s 109s def server_bind(self): 109s """Called by constructor to bind the socket. 109s 109s May be overridden. 109s 109s """ 109s if self.allow_reuse_address and hasattr(socket, "SO_REUSEADDR"): 109s self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) 109s # Since Linux 6.12.9, SO_REUSEPORT is not allowed 109s # on other address families than AF_INET/AF_INET6. 109s if ( 109s self.allow_reuse_port and hasattr(socket, "SO_REUSEPORT") 109s and self.address_family in (socket.AF_INET, socket.AF_INET6) 109s ): 109s self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1) 109s > self.socket.bind(self.server_address) 109s E OSError: [Errno 98] Address already in use 109s 109s /usr/lib/python3.13/socketserver.py:478: OSError 109s ------------------------------ Captured log call ------------------------------- 109s INFO cas_server.views:views.py:345 Trying to authenticate http://127.0.0.1:8080 again 109s _____________ FederateAuthLoginLogoutTestCase.test_federate_logout _____________ 109s 109s self = 109s 109s def test_federate_logout(self): 109s """ 109s test the logout function: the user should be log out 109s and redirected to his CAS logout page 109s """ 109s # get tickets and connected clients, then follow normal logout 109s > tickets = self.test_login_post_provider() 109s 109s cas_server/tests/test_federate.py:310: 109s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 109s cas_server/tests/test_federate.py:118: in test_login_post_provider 109s tests_utils.DummyCAS.run( 109s cas_server/tests/utils.py:334: in run 109s httpd = server_class(("127.0.0.1", port), cls) 109s /usr/lib/python3.13/socketserver.py:457: in __init__ 109s self.server_bind() 109s /usr/lib/python3.13/http/server.py:136: in server_bind 109s socketserver.TCPServer.server_bind(self) 109s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 109s 109s self = 109s 109s def server_bind(self): 109s """Called by constructor to bind the socket. 109s 109s May be overridden. 109s 109s """ 109s if self.allow_reuse_address and hasattr(socket, "SO_REUSEADDR"): 109s self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) 109s # Since Linux 6.12.9, SO_REUSEPORT is not allowed 109s # on other address families than AF_INET/AF_INET6. 109s if ( 109s self.allow_reuse_port and hasattr(socket, "SO_REUSEPORT") 109s and self.address_family in (socket.AF_INET, socket.AF_INET6) 109s ): 109s self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1) 109s > self.socket.bind(self.server_address) 109s E OSError: [Errno 98] Address already in use 109s 109s /usr/lib/python3.13/socketserver.py:478: OSError 109s ------------------------------ Captured log call ------------------------------- 109s INFO cas_server.views:views.py:345 Trying to authenticate http://127.0.0.1:8080 again 109s _____________ FederateAuthLoginLogoutTestCase.test_forget_provider _____________ 109s 109s self = 109s 109s def test_forget_provider(self): 109s """Test the logout option to forget remembered provider""" 109s > tickets = self.test_login_post_provider(remember=True) 109s 109s cas_server/tests/test_federate.py:360: 109s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 109s cas_server/tests/test_federate.py:118: in test_login_post_provider 109s tests_utils.DummyCAS.run( 109s cas_server/tests/utils.py:334: in run 109s httpd = server_class(("127.0.0.1", port), cls) 109s /usr/lib/python3.13/socketserver.py:457: in __init__ 109s self.server_bind() 109s /usr/lib/python3.13/http/server.py:136: in server_bind 109s socketserver.TCPServer.server_bind(self) 109s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 109s 109s self = 109s 109s def server_bind(self): 109s """Called by constructor to bind the socket. 109s 109s May be overridden. 109s 109s """ 109s if self.allow_reuse_address and hasattr(socket, "SO_REUSEADDR"): 109s self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) 109s # Since Linux 6.12.9, SO_REUSEPORT is not allowed 109s # on other address families than AF_INET/AF_INET6. 109s if ( 109s self.allow_reuse_port and hasattr(socket, "SO_REUSEPORT") 109s and self.address_family in (socket.AF_INET, socket.AF_INET6) 109s ): 109s self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1) 109s > self.socket.bind(self.server_address) 109s E OSError: [Errno 98] Address already in use 109s 109s /usr/lib/python3.13/socketserver.py:478: OSError 109s ------------------------------ Captured log call ------------------------------- 109s INFO cas_server.views:views.py:345 Trying to authenticate http://127.0.0.1:8080 again 109s ___________ FederateAuthLoginLogoutTestCase.test_login_post_provider ___________ 109s 109s self = 109s remember = False 109s 109s def test_login_post_provider(self, remember=False): 109s """test a successful login wrokflow""" 109s tickets = [] 109s # choose the example.com provider 109s for (suffix, cas_port) in [ 109s ("example.com", 8080), ("example.org", 8081), 109s ("example.net", 8082), ("example.test", 8083) 109s ]: 109s provider = models.FederatedIendityProvider.objects.get(suffix=suffix) 109s # get a bare client 109s client = Client() 109s # fetch the login page 109s response = client.get("/login") 109s # in federated mode, we shoudl POST do /federate on the login page 109s self.assertEqual(response.context['post_url'], '/federate') 109s # get current form parameter 109s params = tests_utils.copy_form(response.context["form"]) 109s params['provider'] = provider.suffix 109s if remember: 109s params['remember'] = 'on' 109s # just try for one suffix 109s if suffix == "example.com": 109s # if renew=False is posted it should be ignored 109s params["renew"] = False 109s # post the choosed provider 109s response = client.post('/federate', params) 109s # we are redirected to the provider CAS client url 109s self.assertEqual(response.status_code, 302) 109s self.assertEqual(response["Location"], '%s/federate/%s%s' % ( 109s 'http://testserver' if django.VERSION < (1, 9) else "", 109s provider.suffix, 109s "?remember=on" if remember else "" 109s )) 109s # let's follow the redirect 109s response = client.get( 109s '/federate/%s%s' % (provider.suffix, "?remember=on" if remember else "") 109s ) 109s # we are redirected to the provider CAS for authentication 109s self.assertEqual(response.status_code, 302) 109s self.assertEqual( 109s response["Location"], 109s "%s/login?service=http%%3A%%2F%%2Ftestserver%%2Ffederate%%2F%s%s" % ( 109s provider.server_url, 109s provider.suffix, 109s "%3Fremember%3Don" if remember else "" 109s ) 109s ) 109s # let's generate a ticket 109s ticket = utils.gen_st() 109s # we lauch a dummy CAS server that only validate once for the service 109s # http://testserver/federate/example.com with `ticket` 109s > tests_utils.DummyCAS.run( 109s ("http://testserver/federate/%s%s" % ( 109s provider.suffix, 109s "?remember=on" if remember else "" 109s )).encode("ascii"), 109s ticket.encode("ascii"), 109s settings.CAS_TEST_USER.encode("utf8"), 109s [], 109s cas_port 109s ) 109s 109s cas_server/tests/test_federate.py:118: 109s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 109s cas_server/tests/utils.py:334: in run 109s httpd = server_class(("127.0.0.1", port), cls) 109s /usr/lib/python3.13/socketserver.py:457: in __init__ 109s self.server_bind() 109s /usr/lib/python3.13/http/server.py:136: in server_bind 109s socketserver.TCPServer.server_bind(self) 109s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 109s 109s self = 109s 109s def server_bind(self): 109s """Called by constructor to bind the socket. 109s 109s May be overridden. 109s 109s """ 109s if self.allow_reuse_address and hasattr(socket, "SO_REUSEADDR"): 109s self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) 109s # Since Linux 6.12.9, SO_REUSEPORT is not allowed 109s # on other address families than AF_INET/AF_INET6. 109s if ( 109s self.allow_reuse_port and hasattr(socket, "SO_REUSEPORT") 109s and self.address_family in (socket.AF_INET, socket.AF_INET6) 109s ): 109s self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1) 109s > self.socket.bind(self.server_address) 109s E OSError: [Errno 98] Address already in use 109s 109s /usr/lib/python3.13/socketserver.py:478: OSError 109s ------------------------------ Captured log call ------------------------------- 109s INFO cas_server.views:views.py:345 Trying to authenticate http://127.0.0.1:8080 again 109s _______________ FederateAuthLoginLogoutTestCase.test_login_twice _______________ 109s 109s self = 109s 109s def test_login_twice(self): 109s """Test that user id db is used for the second login (cf coverage)""" 109s > self.test_login_post_provider() 109s 109s cas_server/tests/test_federate.py:164: 109s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 109s cas_server/tests/test_federate.py:118: in test_login_post_provider 109s tests_utils.DummyCAS.run( 109s cas_server/tests/utils.py:334: in run 109s httpd = server_class(("127.0.0.1", port), cls) 109s /usr/lib/python3.13/socketserver.py:457: in __init__ 109s self.server_bind() 109s /usr/lib/python3.13/http/server.py:136: in server_bind 109s socketserver.TCPServer.server_bind(self) 109s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 109s 109s self = 109s 109s def server_bind(self): 109s """Called by constructor to bind the socket. 109s 109s May be overridden. 109s 109s """ 109s if self.allow_reuse_address and hasattr(socket, "SO_REUSEADDR"): 109s self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) 109s # Since Linux 6.12.9, SO_REUSEPORT is not allowed 109s # on other address families than AF_INET/AF_INET6. 109s if ( 109s self.allow_reuse_port and hasattr(socket, "SO_REUSEPORT") 109s and self.address_family in (socket.AF_INET, socket.AF_INET6) 109s ): 109s self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1) 109s > self.socket.bind(self.server_address) 109s E OSError: [Errno 98] Address already in use 109s 109s /usr/lib/python3.13/socketserver.py:478: OSError 109s ------------------------------ Captured log call ------------------------------- 109s INFO cas_server.views:views.py:345 Trying to authenticate http://127.0.0.1:8080 again 109s ____________ FederateAuthLoginLogoutTestCase.test_remember_provider ____________ 109s 109s self = 109s 109s def test_remember_provider(self): 109s """ 109s If the user check remember, next login should not offer the chose of the backend CAS 109s and use the one store in the cookie 109s """ 109s > tickets = self.test_login_post_provider(remember=True) 109s 109s cas_server/tests/test_federate.py:348: 109s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 109s cas_server/tests/test_federate.py:118: in test_login_post_provider 109s tests_utils.DummyCAS.run( 109s cas_server/tests/utils.py:334: in run 109s httpd = server_class(("127.0.0.1", port), cls) 109s /usr/lib/python3.13/socketserver.py:457: in __init__ 109s self.server_bind() 109s /usr/lib/python3.13/http/server.py:136: in server_bind 109s socketserver.TCPServer.server_bind(self) 109s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 109s 109s self = 109s 109s def server_bind(self): 109s """Called by constructor to bind the socket. 109s 109s May be overridden. 109s 109s """ 109s if self.allow_reuse_address and hasattr(socket, "SO_REUSEADDR"): 109s self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) 109s # Since Linux 6.12.9, SO_REUSEPORT is not allowed 109s # on other address families than AF_INET/AF_INET6. 109s if ( 109s self.allow_reuse_port and hasattr(socket, "SO_REUSEPORT") 109s and self.address_family in (socket.AF_INET, socket.AF_INET6) 109s ): 109s self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1) 109s > self.socket.bind(self.server_address) 109s E OSError: [Errno 98] Address already in use 109s 109s /usr/lib/python3.13/socketserver.py:478: OSError 109s ------------------------------ Captured log call ------------------------------- 109s INFO cas_server.views:views.py:345 Trying to authenticate http://127.0.0.1:8080 again 109s __________________ FederateAuthLoginLogoutTestCase.test_renew __________________ 109s 109s self = 109s 109s def test_renew(self): 109s """ 109s Test authentication renewal with federation mode 109s """ 109s > tickets = self.test_login_post_provider() 109s 109s cas_server/tests/test_federate.py:372: 109s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 109s cas_server/tests/test_federate.py:118: in test_login_post_provider 109s tests_utils.DummyCAS.run( 109s cas_server/tests/utils.py:334: in run 109s httpd = server_class(("127.0.0.1", port), cls) 109s /usr/lib/python3.13/socketserver.py:457: in __init__ 109s self.server_bind() 109s /usr/lib/python3.13/http/server.py:136: in server_bind 109s socketserver.TCPServer.server_bind(self) 109s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 109s 109s self = 109s 109s def server_bind(self): 109s """Called by constructor to bind the socket. 109s 109s May be overridden. 109s 109s """ 109s if self.allow_reuse_address and hasattr(socket, "SO_REUSEADDR"): 109s self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) 109s # Since Linux 6.12.9, SO_REUSEPORT is not allowed 109s # on other address families than AF_INET/AF_INET6. 109s if ( 109s self.allow_reuse_port and hasattr(socket, "SO_REUSEPORT") 109s and self.address_family in (socket.AF_INET, socket.AF_INET6) 109s ): 109s self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1) 109s > self.socket.bind(self.server_address) 109s E OSError: [Errno 98] Address already in use 109s 109s /usr/lib/python3.13/socketserver.py:478: OSError 109s ------------------------------ Captured log call ------------------------------- 109s INFO cas_server.views:views.py:345 Trying to authenticate http://127.0.0.1:8080 again 109s _________________ TicketTestCase.test_clean_old_service_ticket _________________ 109s 109s self = 109s 109s def test_clean_old_service_ticket(self): 109s """test tickets clean_old_entries""" 109s # ge an authenticated client 109s client = get_auth_client() 109s # get the user associated to the client 109s user = self.get_user(client) 109s # generate a ticket for that client, waiting for validation 109s self.get_ticket(user, models.ServiceTicket, self.service, self.service_pattern) 109s # generate another ticket for those validation time has expired 109s self.get_ticket( 109s user, models.ServiceTicket, 109s self.service, self.service_pattern, validity_expired=True 109s ) 109s (httpd, host, port) = HttpParamsHandler.run()[0:3] 109s service = "http://%s:%s" % (host, port) 109s # generate a ticket with SLO having timeout reach 109s self.get_ticket( 109s user, models.ServiceTicket, 109s service, self.service_pattern, timeout_expired=True, 109s validate=True, single_log_out=True 109s ) 109s # there should be 3 tickets in the db 109s self.assertEqual(len(models.ServiceTicket.objects.all()), 3) 109s # we call the clean_old_entries method that should delete validated non SLO ticket and 109s # expired non validated ticket and send SLO for SLO expired ticket before deleting then 109s models.ServiceTicket.clean_old_entries() 109s > params = httpd.PARAMS 109s E AttributeError: 'HTTPServer' object has no attribute 'PARAMS' 109s 109s cas_server/tests/test_models.py:304: AttributeError 109s ------------------------------ Captured log call ------------------------------- 109s INFO cas_server.views:views.py:592 User test successfully authenticated 109s INFO cas_server.models:models.py:877 Sending SLO requests to service http://127.0.0.1:46689 for user test 109s ________________________ LogoutTestCase.test_logout_slo ________________________ 109s 109s self = 109s 109s def test_logout_slo(self): 109s """test logout from a service with SLO support""" 109s parameters = [] 109s 109s # test normal SLO 109s # setup a simple one request http server 109s (httpd, host, port) = HttpParamsHandler.run()[0:3] 109s # build a service url depending on which port the http server has binded 109s service = "http://%s:%s" % (host, port) 109s # get a ticket requested by client and being validated by the service 109s (client, ticket) = get_validated_ticket(service)[:2] 109s # the client logout triggering the send of the SLO requests 109s client.get('/logout') 109s # we store the POST parameters send for this ticket for furthur analisys 109s > parameters.append((httpd.PARAMS, ticket)) 109s E AttributeError: 'HTTPServer' object has no attribute 'PARAMS' 109s 109s cas_server/tests/test_view.py:855: AttributeError 109s ------------------------------ Captured log call ------------------------------- 109s INFO cas_server.views:views.py:592 User test successfully authenticated 109s INFO cas_server.models:models.py:443 Service ticket created for service http://127.0.0.1:45753 by user test. 109s INFO cas_server.views:views.py:1054 Validate: Service ticket ST-ztDYbTZJGSIdXpyVrrk9rd0jR3uoszDE97UZ2xCHLgBDyBQntwnmLq3RP0nLq validated, user test authenticated on service http://127.0.0.1:45753 109s INFO cas_server.views:views.py:171 logout requested 109s INFO cas_server.views:views.py:77 Logging out user test. 109s INFO cas_server.models:models.py:877 Sending SLO requests to service http://127.0.0.1:45753 for user test 109s INFO cas_server.views:views.py:114 User test logged out 109s _________________ ValidateServiceTestCase.test_validate_proxy __________________ 109s 109s self = 109s 109s def test_validate_proxy(self): 109s """test ProxyTicket validation on /proxyValidate and /serviceValidate""" 109s > ticket = get_proxy_ticket(self.service) 109s 109s cas_server/tests/test_view.py:1371: 109s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 109s cas_server/tests/utils.py:143: in get_proxy_ticket 109s params = get_pgt() 109s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 109s 109s def get_pgt(): 109s """return a dict contening a service, user and PGT ticket for this service""" 109s (httpd, host, port) = HttpParamsHandler.run()[0:3] 109s service = "http://%s:%s" % (host, port) 109s 109s (user, ticket) = get_user_ticket_request(service)[:2] 109s 109s client = Client() 109s client.get('/serviceValidate', {'ticket': ticket.value, 'service': service, 'pgtUrl': service}) 109s > params = httpd.PARAMS 109s E AttributeError: 'HTTPServer' object has no attribute 'PARAMS' 109s 109s cas_server/tests/utils.py:133: AttributeError 109s ------------------------------ Captured log call ------------------------------- 109s INFO cas_server.views:views.py:592 User test successfully authenticated 109s INFO cas_server.models:models.py:443 Service ticket created for service http://127.0.0.1:39485 by user test. 109s INFO cas_server.views:views.py:1265 ValidateService: ticket ST-3k8lhBVfsO4jaB8FoeTPW7JgNo3GSVcWoeZOCcZHCaDuTlVKOaVhrRuzMIBsr validated for user test on service http://127.0.0.1:39485. Proxy Granting Ticket transmited to http://127.0.0.1:39485. 109s _________ ValidateServiceTestCase.test_validate_service_view_ok_pgturl _________ 109s 109s self = 109s 109s def test_validate_service_view_ok_pgturl(self): 109s """test the retrieval of a ProxyGrantingTicket""" 109s # start a simple on request http server 109s (httpd, host, port) = HttpParamsHandler.run()[0:3] 109s # construct the service from it 109s service = "http://%s:%s" % (host, port) 109s 109s # get a ticket to be validated 109s ticket = get_user_ticket_request(service)[1] 109s 109s client = Client() 109s # request a PGT ticket then validating the ticket by setting the pgtUrl parameter 109s response = client.get( 109s '/serviceValidate', 109s {'ticket': ticket.value, 'service': service, 'pgtUrl': service} 109s ) 109s # We should have recieved the PGT via a GET request parameter on the simple http server 109s > pgt_params = httpd.PARAMS 109s E AttributeError: 'HTTPServer' object has no attribute 'PARAMS' 109s 109s cas_server/tests/test_view.py:1554: AttributeError 109s ------------------------------ Captured log call ------------------------------- 109s INFO cas_server.views:views.py:592 User test successfully authenticated 109s INFO cas_server.models:models.py:443 Service ticket created for service http://127.0.0.1:40727 by user test. 109s INFO cas_server.views:views.py:1265 ValidateService: ticket ST-QBqf54yvkfS768Zejc4xKHH20h3YSGEGFna7Xbcebhw6XKhW1nEcLQwAWYQQq validated for user test on service http://127.0.0.1:40727. Proxy Granting Ticket transmited to http://127.0.0.1:40727. 109s __________________ ProxyTestCase.test_proxy_missing_parameter __________________ 109s 109s self = 109s 109s def test_proxy_missing_parameter(self): 109s """Try to get a PGT with some missing GET parameters. The PT should not be emited""" 109s > params = get_pgt() 109s 109s cas_server/tests/test_view.py:1846: 109s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 109s 109s def get_pgt(): 109s """return a dict contening a service, user and PGT ticket for this service""" 109s (httpd, host, port) = HttpParamsHandler.run()[0:3] 109s service = "http://%s:%s" % (host, port) 109s 109s (user, ticket) = get_user_ticket_request(service)[:2] 109s 109s client = Client() 109s client.get('/serviceValidate', {'ticket': ticket.value, 'service': service, 'pgtUrl': service}) 109s > params = httpd.PARAMS 109s E AttributeError: 'HTTPServer' object has no attribute 'PARAMS' 109s 109s cas_server/tests/utils.py:133: AttributeError 109s ------------------------------ Captured log call ------------------------------- 109s INFO cas_server.views:views.py:592 User test successfully authenticated 109s INFO cas_server.models:models.py:443 Service ticket created for service http://127.0.0.1:37565 by user test. 109s INFO cas_server.views:views.py:1265 ValidateService: ticket ST-sYOYZdtyQResxyJ8mhfG5lCWqowQR1BO71cgPTZZ22AM3OeZDbJRTN0OvcHUD validated for user test on service http://127.0.0.1:37565. Proxy Granting Ticket transmited to http://127.0.0.1:37565. 109s __________________ ProxyTestCase.test_proxy_unauthorized_user __________________ 109s 109s self = 109s 109s def test_proxy_unauthorized_user(self): 109s """ 109s Try to get a PT for services that do not allow the current user: 109s * first with a service that restrict allowed username 109s * second with a service requiring somes conditions on the user attributes 109s * third with a service using a particular user attribute as username 109s All this tests should fail 109s """ 109s # we directrly get a ProxyGrantingTicket 109s > params = get_pgt() 109s 109s cas_server/tests/test_view.py:1822: 109s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 109s 109s def get_pgt(): 109s """return a dict contening a service, user and PGT ticket for this service""" 109s (httpd, host, port) = HttpParamsHandler.run()[0:3] 109s service = "http://%s:%s" % (host, port) 109s 109s (user, ticket) = get_user_ticket_request(service)[:2] 109s 109s client = Client() 109s client.get('/serviceValidate', {'ticket': ticket.value, 'service': service, 'pgtUrl': service}) 109s > params = httpd.PARAMS 109s E AttributeError: 'HTTPServer' object has no attribute 'PARAMS' 109s 109s cas_server/tests/utils.py:133: AttributeError 109s ------------------------------ Captured log call ------------------------------- 109s INFO cas_server.views:views.py:592 User test successfully authenticated 109s INFO cas_server.models:models.py:443 Service ticket created for service http://127.0.0.1:35141 by user test. 109s INFO cas_server.views:views.py:1265 ValidateService: ticket ST-ftndSrPGWsdy1TBjSqATmHcnQwcYyCfmV4tUGdeWD06zmnLTbMvbLZIEyJy7S validated for user test on service http://127.0.0.1:35141. Proxy Granting Ticket transmited to http://127.0.0.1:35141. 109s __________________ ProxyTestCase.test_validate_proxy_bad_pgt ___________________ 109s 109s self = 109s 109s def test_validate_proxy_bad_pgt(self): 109s """Try to get a ProxyTicket with a bad PGT. The PT generation should fail""" 109s # we directrly get a ProxyGrantingTicket 109s > params = get_pgt() 109s 109s cas_server/tests/test_view.py:1759: 109s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 109s 109s def get_pgt(): 109s """return a dict contening a service, user and PGT ticket for this service""" 109s (httpd, host, port) = HttpParamsHandler.run()[0:3] 109s service = "http://%s:%s" % (host, port) 109s 109s (user, ticket) = get_user_ticket_request(service)[:2] 109s 109s client = Client() 109s client.get('/serviceValidate', {'ticket': ticket.value, 'service': service, 'pgtUrl': service}) 109s > params = httpd.PARAMS 109s E AttributeError: 'HTTPServer' object has no attribute 'PARAMS' 109s 109s cas_server/tests/utils.py:133: AttributeError 109s ------------------------------ Captured log call ------------------------------- 109s INFO cas_server.views:views.py:592 User test successfully authenticated 109s INFO cas_server.models:models.py:443 Service ticket created for service http://127.0.0.1:37801 by user test. 109s INFO cas_server.views:views.py:1265 ValidateService: ticket ST-tKRfifmfxZBDERkLRSn0S4EtkQlwrdqZdjutUH9kBf52phwJzmUlugSgzd043 validated for user test on service http://127.0.0.1:37801. Proxy Granting Ticket transmited to http://127.0.0.1:37801. 109s ________________ ProxyTestCase.test_validate_proxy_bad_service _________________ 109s 109s self = 109s 109s def test_validate_proxy_bad_service(self): 109s """ 109s Try to get a ProxyTicket for a denied service and 109s a service that do not allow PT. The PT generation should fail. 109s """ 109s # we directrly get a ProxyGrantingTicket 109s > params = get_pgt() 109s 109s cas_server/tests/test_view.py:1780: 109s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 109s 109s def get_pgt(): 109s """return a dict contening a service, user and PGT ticket for this service""" 109s (httpd, host, port) = HttpParamsHandler.run()[0:3] 109s service = "http://%s:%s" % (host, port) 109s 109s (user, ticket) = get_user_ticket_request(service)[:2] 109s 109s client = Client() 109s client.get('/serviceValidate', {'ticket': ticket.value, 'service': service, 'pgtUrl': service}) 109s > params = httpd.PARAMS 109s E AttributeError: 'HTTPServer' object has no attribute 'PARAMS' 109s 109s cas_server/tests/utils.py:133: AttributeError 109s ------------------------------ Captured log call ------------------------------- 109s INFO cas_server.views:views.py:592 User test successfully authenticated 109s INFO cas_server.models:models.py:443 Service ticket created for service http://127.0.0.1:43315 by user test. 109s INFO cas_server.views:views.py:1265 ValidateService: ticket ST-0A5euhYZGaZ04SADjGmiGQa8BVQvUjS7VLhBbKrc0jO3PuNZPL8wE7T22Fpn4 validated for user test on service http://127.0.0.1:43315. Proxy Granting Ticket transmited to http://127.0.0.1:43315. 109s _____________________ ProxyTestCase.test_validate_proxy_ok _____________________ 109s 109s self = 109s 109s def test_validate_proxy_ok(self): 109s """ 109s Get a PGT, get a proxy ticket, validate it. Validation should succeed and 109s show the proxy service URL. 109s """ 109s # we directrly get a ProxyGrantingTicket 109s > params = get_pgt() 109s 109s cas_server/tests/test_view.py:1711: 109s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 109s 109s def get_pgt(): 109s """return a dict contening a service, user and PGT ticket for this service""" 109s (httpd, host, port) = HttpParamsHandler.run()[0:3] 109s service = "http://%s:%s" % (host, port) 109s 109s (user, ticket) = get_user_ticket_request(service)[:2] 109s 109s client = Client() 109s client.get('/serviceValidate', {'ticket': ticket.value, 'service': service, 'pgtUrl': service}) 109s > params = httpd.PARAMS 109s E AttributeError: 'HTTPServer' object has no attribute 'PARAMS' 109s 109s cas_server/tests/utils.py:133: AttributeError 109s ------------------------------ Captured log call ------------------------------- 109s INFO cas_server.views:views.py:592 User test successfully authenticated 109s INFO cas_server.models:models.py:443 Service ticket created for service http://127.0.0.1:38439 by user test. 109s INFO cas_server.views:views.py:1265 ValidateService: ticket ST-UWufmCXB7DeUZQqPQzj3QFPbNTaU2j85JVbCJlYscacNLzpv6whdgC8TbX1qa validated for user test on service http://127.0.0.1:38439. Proxy Granting Ticket transmited to http://127.0.0.1:38439. 109s ______________________ SamlValidateTestCase.test_saml_ok _______________________ 109s 109s self = 109s 109s def test_saml_ok(self): 109s """ 109s test with a valid (ticket, service), with a ST and a PT, 109s the username and all attributes are transmited""" 109s tickets = [ 109s # return a ServiceTicket (standard ticket) waiting for validation 109s get_user_ticket_request(self.service)[1], 109s # return a PT waiting for validation 109s > get_proxy_ticket(self.service) 109s ] 109s 109s cas_server/tests/test_view.py:1961: 109s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 109s cas_server/tests/utils.py:143: in get_proxy_ticket 109s params = get_pgt() 109s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 109s 109s def get_pgt(): 109s """return a dict contening a service, user and PGT ticket for this service""" 109s (httpd, host, port) = HttpParamsHandler.run()[0:3] 109s service = "http://%s:%s" % (host, port) 109s 109s (user, ticket) = get_user_ticket_request(service)[:2] 109s 109s client = Client() 109s client.get('/serviceValidate', {'ticket': ticket.value, 'service': service, 'pgtUrl': service}) 109s > params = httpd.PARAMS 109s E AttributeError: 'HTTPServer' object has no attribute 'PARAMS' 109s 109s cas_server/tests/utils.py:133: AttributeError 109s ------------------------------ Captured log call ------------------------------- 109s INFO cas_server.views:views.py:592 User test successfully authenticated 109s INFO cas_server.models:models.py:443 Service ticket created for service https://www.example.com by user test. 109s INFO cas_server.views:views.py:592 User test successfully authenticated 109s INFO cas_server.models:models.py:443 Service ticket created for service http://127.0.0.1:39061 by user test. 109s INFO cas_server.views:views.py:1265 ValidateService: ticket ST-rXLpNscJp9VhI74tga2cKt5LDm5MnsHHkoGEoHuPp1Pfl5U2930U9AlDlweX6 validated for user test on service http://127.0.0.1:39061. Proxy Granting Ticket transmited to http://127.0.0.1:39061. 109s =============================== warnings summary =============================== 109s cas_server/tests/test_view.py::LoginTestCase::test_ajax_get_ticket_warn 109s cas_server/tests/test_view.py::LoginTestCase::test_login_view_post_goodpass_goodlt_warn 109s cas_server/tests/test_view.py::LoginTestCase::test_view_login_get_auth_allowed_service_warn 109s /tmp/autopkgtest.8Il56g/autopkgtest_tmp/cas_server/utils.py:211: 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). 109s datetime.utcnow() + timedelta(seconds=max_age), 109s 109s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 109s =========================== short test summary info ============================ 109s FAILED cas_server/tests/test_federate.py::FederateAuthLoginLogoutTestCase::test_auth_federate_errors 109s FAILED cas_server/tests/test_federate.py::FederateAuthLoginLogoutTestCase::test_auth_federate_slo 109s FAILED cas_server/tests/test_federate.py::FederateAuthLoginLogoutTestCase::test_federate_logout 109s FAILED cas_server/tests/test_federate.py::FederateAuthLoginLogoutTestCase::test_forget_provider 109s FAILED cas_server/tests/test_federate.py::FederateAuthLoginLogoutTestCase::test_login_post_provider 109s FAILED cas_server/tests/test_federate.py::FederateAuthLoginLogoutTestCase::test_login_twice 109s FAILED cas_server/tests/test_federate.py::FederateAuthLoginLogoutTestCase::test_remember_provider 109s FAILED cas_server/tests/test_federate.py::FederateAuthLoginLogoutTestCase::test_renew 109s FAILED cas_server/tests/test_models.py::TicketTestCase::test_clean_old_service_ticket 109s FAILED cas_server/tests/test_view.py::LogoutTestCase::test_logout_slo - Attri... 109s FAILED cas_server/tests/test_view.py::ValidateServiceTestCase::test_validate_proxy 109s FAILED cas_server/tests/test_view.py::ValidateServiceTestCase::test_validate_service_view_ok_pgturl 109s FAILED cas_server/tests/test_view.py::ProxyTestCase::test_proxy_missing_parameter 109s FAILED cas_server/tests/test_view.py::ProxyTestCase::test_proxy_unauthorized_user 109s FAILED cas_server/tests/test_view.py::ProxyTestCase::test_validate_proxy_bad_pgt 109s FAILED cas_server/tests/test_view.py::ProxyTestCase::test_validate_proxy_bad_service 109s FAILED cas_server/tests/test_view.py::ProxyTestCase::test_validate_proxy_ok 109s FAILED cas_server/tests/test_view.py::SamlValidateTestCase::test_saml_ok - At... 109s ================== 18 failed, 110 passed, 3 warnings in 2.73s ================== 110s autopkgtest [14:36:08]: test run-test-suite.sh: -----------------------] 111s autopkgtest [14:36:09]: test run-test-suite.sh: - - - - - - - - - - results - - - - - - - - - - 111s run-test-suite.sh FAIL non-zero exit status 1 111s autopkgtest [14:36:09]: @@@@@@@@@@@@@@@@@@@@ summary 111s run-test-suite.sh FAIL non-zero exit status 1 131s nova [W] Skipping flock for amd64 131s Creating nova instance adt-questing-amd64-django-cas-server-20250619-143418-juju-7f2275-prod-proposed-migration-environment-15-032532f8-ba18-4085-bc85-6a2bf7f4f2b3 from image adt/ubuntu-questing-amd64-server-20250619.img (UUID f2fe812e-b164-45c0-b2ab-1b0b09a5b610)... 131s nova [W] Timed out waiting for ecb2f82d-684f-46d9-85b3-456166cc7869 to get deleted.