running extract_messages extracting messages from invenio_oauth2server/__init__.py (encoding="utf-8") extracting messages from invenio_oauth2server/admin.py (encoding="utf-8") extracting messages from invenio_oauth2server/cli.py (encoding="utf-8") extracting messages from invenio_oauth2server/config.py (encoding="utf-8") extracting messages from invenio_oauth2server/decorators.py (encoding="utf-8") extracting messages from invenio_oauth2server/errors.py (encoding="utf-8") extracting messages from invenio_oauth2server/ext.py (encoding="utf-8") extracting messages from invenio_oauth2server/forms.py (encoding="utf-8") extracting messages from invenio_oauth2server/models.py (encoding="utf-8") extracting messages from invenio_oauth2server/provider.py (encoding="utf-8") extracting messages from invenio_oauth2server/proxies.py (encoding="utf-8") extracting messages from invenio_oauth2server/scopes.py (encoding="utf-8") extracting messages from invenio_oauth2server/utils.py (encoding="utf-8") extracting messages from invenio_oauth2server/validators.py (encoding="utf-8") extracting messages from invenio_oauth2server/alembic/12a88921ada2_create_oauth2server_tables.py (encoding="utf-8") extracting messages from invenio_oauth2server/alembic/3d7f57a61d67_change_expires_at_type.py (encoding="utf-8") extracting messages from invenio_oauth2server/alembic/4e57407b8e4a_add_on_delete_cascade.py (encoding="utf-8") extracting messages from invenio_oauth2server/alembic/aa546f2a8d2f_create_oauth2server_branch.py (encoding="utf-8") extracting messages from invenio_oauth2server/templates/invenio_oauth2server/authorize.html (encoding="utf-8") extracting messages from invenio_oauth2server/templates/invenio_oauth2server/base.html (encoding="utf-8") extracting messages from invenio_oauth2server/templates/invenio_oauth2server/errors.html (encoding="utf-8") extracting messages from invenio_oauth2server/templates/invenio_oauth2server/settings/_macros.html (encoding="utf-8") extracting messages from invenio_oauth2server/templates/invenio_oauth2server/settings/base.html (encoding="utf-8") extracting messages from invenio_oauth2server/templates/invenio_oauth2server/settings/client_new.html (encoding="utf-8") extracting messages from invenio_oauth2server/templates/invenio_oauth2server/settings/client_view.html (encoding="utf-8") extracting messages from invenio_oauth2server/templates/invenio_oauth2server/settings/helpers.html (encoding="utf-8") extracting messages from invenio_oauth2server/templates/invenio_oauth2server/settings/index.html (encoding="utf-8") extracting messages from invenio_oauth2server/templates/invenio_oauth2server/settings/token_new.html (encoding="utf-8") extracting messages from invenio_oauth2server/templates/invenio_oauth2server/settings/token_permission_view.html (encoding="utf-8") extracting messages from invenio_oauth2server/templates/invenio_oauth2server/settings/token_view.html (encoding="utf-8") extracting messages from invenio_oauth2server/templates/semantic-ui/invenio_oauth2server/authorize.html (encoding="utf-8") extracting messages from invenio_oauth2server/templates/semantic-ui/invenio_oauth2server/base.html (encoding="utf-8") extracting messages from invenio_oauth2server/templates/semantic-ui/invenio_oauth2server/errors.html (encoding="utf-8") extracting messages from invenio_oauth2server/templates/semantic-ui/invenio_oauth2server/settings/_macros.html (encoding="utf-8") extracting messages from invenio_oauth2server/templates/semantic-ui/invenio_oauth2server/settings/base.html (encoding="utf-8") extracting messages from invenio_oauth2server/templates/semantic-ui/invenio_oauth2server/settings/client_new.html (encoding="utf-8") extracting messages from invenio_oauth2server/templates/semantic-ui/invenio_oauth2server/settings/client_view.html (encoding="utf-8") extracting messages from invenio_oauth2server/templates/semantic-ui/invenio_oauth2server/settings/helpers.html (encoding="utf-8") extracting messages from invenio_oauth2server/templates/semantic-ui/invenio_oauth2server/settings/index.html (encoding="utf-8") extracting messages from invenio_oauth2server/templates/semantic-ui/invenio_oauth2server/settings/token_new.html (encoding="utf-8") extracting messages from invenio_oauth2server/templates/semantic-ui/invenio_oauth2server/settings/token_permission_view.html (encoding="utf-8") extracting messages from invenio_oauth2server/templates/semantic-ui/invenio_oauth2server/settings/token_view.html (encoding="utf-8") extracting messages from invenio_oauth2server/theme/semantic/form_styling.py (encoding="utf-8") extracting messages from invenio_oauth2server/views/__init__.py (encoding="utf-8") extracting messages from invenio_oauth2server/views/server.py (encoding="utf-8") extracting messages from invenio_oauth2server/views/settings.py (encoding="utf-8") writing PO template file to /dev/null postgresql Pulling postgresql Pulled Network docker_services_cli_default Creating Network docker_services_cli_default Created Container docker_services_cli-postgresql-1 Creating Container docker_services_cli-postgresql-1 Created Container docker_services_cli-postgresql-1 Starting Container docker_services_cli-postgresql-1 Started ============================= test session starts ============================== platform linux -- Python 3.14.2, pytest-8.4.2, pluggy-1.6.0 rootdir: /home/runner/work/invenio-testrig-client/invenio-testrig-client/workdir/tests/invenio-oauth2server/patched configfile: setup.cfg testpaths: tests, invenio_oauth2server plugins: invenio-4.0.0, github-actions-annotate-failures-0.4.0, isort-4.0.0, flask-1.3.0, pydocstyle-2.4.0, cov-7.0.0, black-0.6.0, pycodestyle-2.5.0 collected 155 items tests/conftest.py ... [ 1%] tests/helpers.py ... [ 3%] tests/test_admin.py [ 5%] tests/test_alembic.py ..s [ 7%] tests/test_cli.py ... [ 9%] tests/test_decorators.py [ 16%] tests/test_invenio_oauth2server.py ...... [ 20%] tests/test_models.py [ 27%] tests/test_provider.py [ 44%] tests/test_server.py ... [ 46%] tests/test_settings.py [ 49%] tests/test_utils.py ... [ 51%] tests/test_validators.py ......... [ 57%] invenio_oauth2server/__init__.py ... [ 59%] invenio_oauth2server/admin.py ... [ 61%] invenio_oauth2server/alembic/12a88921ada2_create_oauth2server_tables.py . [ 61%] [ 63%] invenio_oauth2server/alembic/3d7f57a61d67_change_expires_at_type.py ... [ 65%] invenio_oauth2server/alembic/4e57407b8e4a_add_on_delete_cascade.py ... [ 67%] invenio_oauth2server/alembic/aa546f2a8d2f_create_oauth2server_branch.py . [ 67%] [ 69%] invenio_oauth2server/cli.py ... [ 70%] invenio_oauth2server/config.py ... [ 72%] invenio_oauth2server/decorators.py ... [ 74%] invenio_oauth2server/errors.py ... [ 76%] invenio_oauth2server/ext.py ... [ 78%] invenio_oauth2server/forms.py ... [ 80%] invenio_oauth2server/models.py ... [ 82%] invenio_oauth2server/provider.py ... [ 84%] invenio_oauth2server/proxies.py ... [ 86%] invenio_oauth2server/scopes.py ... [ 88%] invenio_oauth2server/theme/semantic/form_styling.py ... [ 90%] invenio_oauth2server/utils.py ... [ 92%] invenio_oauth2server/validators.py ... [ 94%] invenio_oauth2server/views/__init__.py ... [ 96%] invenio_oauth2server/views/server.py ... [ 98%] invenio_oauth2server/views/settings.py ... [100%] =============================== warnings summary =============================== venv/lib/python3.14/site-packages/flask_admin/contrib/__init__.py:2 __import__('pkg_resources').declare_namespace(__name__) venv/lib/python3.14/site-packages/pkg_resources/__init__.py:3148 Implementing implicit namespace packages (as specified in PEP 420) is preferred to `pkg_resources.declare_namespace`. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages declare_namespace(pkg) venv/lib/python3.14/site-packages/flask_admin/contrib/__init__.py:2 Implementing implicit namespace packages (as specified in PEP 420) is preferred to `pkg_resources.declare_namespace`. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages __import__('pkg_resources').declare_namespace(__name__) venv/lib/python3.14/site-packages/pkg_resources/__init__.py:2560 Implementing implicit namespace packages (as specified in PEP 420) is preferred to `pkg_resources.declare_namespace`. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages declare_namespace(parent) tests/test_admin.py::test_admin tests/test_models.py::test_empty_redirect_uri_and_scope tests/test_provider.py::test_oauthlib_monkeypatch tests/test_provider.py::test_settings_index warnings.warn( tests/test_decorators.py::test_jwt_client /home/runner/work/invenio-testrig-client/invenio-testrig-client/workdir/tests/invenio-oauth2server/patched/.venv/lib/python3.14/site-packages/jwt/api_jwt.py:153: InsecureKeyLengthWarning: The HMAC key is 9 bytes long, which is below the minimum recommended length of 32 bytes for SHA256. See RFC 7518 Section 3.2 return self._jws.encode( tests/test_decorators.py::test_jwt_client /home/runner/work/invenio-testrig-client/invenio-testrig-client/workdir/tests/invenio-oauth2server/patched/.venv/lib/python3.14/site-packages/jwt/api_jwt.py:371: InsecureKeyLengthWarning: The HMAC key is 9 bytes long, which is below the minimum recommended length of 32 bytes for SHA256. See RFC 7518 Section 3.2 decoded = self.decode_complete( tests/test_models.py::test_empty_redirect_uri_and_scope /home/runner/work/invenio-testrig-client/invenio-testrig-client/workdir/tests/invenio-oauth2server/patched/tests/test_models.py:34: SAWarning: Object of type not in session, add operation along 'User.oauth2clients' will not proceed with db.session.begin_nested(): tests/test_models.py::test_token_scopes /home/runner/work/invenio-testrig-client/invenio-testrig-client/workdir/tests/invenio-oauth2server/patched/tests/conftest.py:271: SAWarning: Object of type not in session, add operation along 'User.oauth2clients' will not proceed (This warning originated from the Session 'autoflush' process, which was invoked automatically in response to a user-initiated operation. Consider using ``no_autoflush`` context manager if this warning happened while initializing objects.) app.test_user = lambda: db.session.get(User, test_user_id) tests/test_models.py::test_token_scopes /home/runner/work/invenio-testrig-client/invenio-testrig-client/workdir/tests/invenio-oauth2server/patched/tests/test_models.py:80: SAWarning: Object of type not in session, add operation along 'User.oauth2tokens' will not proceed with db.session.begin_nested(): warnings.warn( tests/test_provider.py::test_auth_flow_denied log.warn( tests/test_settings.py::test_authorized_app_revocation /home/runner/work/invenio-testrig-client/invenio-testrig-client/workdir/tests/invenio-oauth2server/patched/.venv/lib/python3.14/site-packages/flask_security/datastore.py:220: SAWarning: Object of type not in session, add operation along 'User.oauth2clients' will not proceed (This warning originated from the Session 'autoflush' process, which was invoked automatically in response to a user-initiated operation. Consider using ``no_autoflush`` context manager if this warning happened while initializing objects.) rv = self.user_model.query.filter(query).first() ================================ tests coverage ================================ _______________ coverage: platform linux, python 3.14.2-final-0 ________________ Name Stmts Miss Cover Missing invenio_oauth2server/__init__.py 5 0 100% invenio_oauth2server/admin.py 23 0 100% invenio_oauth2server/alembic/3d7f57a61d67_change_expires_at_type.py 10 2 80% 24, 35 invenio_oauth2server/alembic/4e57407b8e4a_add_on_delete_cascade.py 25 18 28% 22-73, 83-121 invenio_oauth2server/alembic/12a88921ada2_create_oauth2server_tables.py 19 10 47% 25-82, 93-101 invenio_oauth2server/alembic/aa546f2a8d2f_create_oauth2server_branch.py 8 2 75% 21, 26 invenio_oauth2server/cli.py 56 6 89% 39, 81, 93-97 invenio_oauth2server/config.py 22 0 100% invenio_oauth2server/decorators.py 33 0 100% invenio_oauth2server/errors.py 38 2 95% 41, 59 invenio_oauth2server/ext.py 132 10 92% 48-50, 106-107, 192, 194, 233, 236, 343-345 invenio_oauth2server/forms.py 58 1 98% 51 invenio_oauth2server/models.py 170 5 97% 75, 80, 206-208 invenio_oauth2server/provider.py 58 2 97% 153-155 invenio_oauth2server/proxies.py 4 0 100% invenio_oauth2server/scopes.py 4 0 100% invenio_oauth2server/theme/semantic/form_styling.py 20 14 30% 19, 23-40, 45 invenio_oauth2server/utils.py 30 1 97% 68 invenio_oauth2server/validators.py 26 0 100% invenio_oauth2server/views/__init__.py 3 0 100% invenio_oauth2server/views/server.py 69 9 87% 46-53, 71, 97, 153-157 invenio_oauth2server/views/settings.py 117 6 95% 42, 70, 203, 233, 268-269 TOTAL 930 88 91% ================= 154 passed, 1 skipped, 25 warnings in 31.03s ================= Container docker_services_cli-postgresql-1 Stopping Container docker_services_cli-postgresql-1 Stopped Container docker_services_cli-postgresql-1 Removing Container docker_services_cli-postgresql-1 Removed Network docker_services_cli_default Removing Network docker_services_cli_default Removed