opensearch Pulling redis Pulling postgresql Pulling redis Pulled opensearch Pulled postgresql Pulled Network docker_services_cli_default Creating Network docker_services_cli_default Created Container docker_services_cli-redis-1 Creating Container docker_services_cli-postgresql-1 Creating Container docker_services_cli-opensearch-1 Creating Container docker_services_cli-opensearch-1 Created Container docker_services_cli-redis-1 Created Container docker_services_cli-postgresql-1 Created Container docker_services_cli-opensearch-1 Starting Container docker_services_cli-postgresql-1 Starting Container docker_services_cli-redis-1 Starting Container docker_services_cli-redis-1 Started Container docker_services_cli-postgresql-1 Started Container docker_services_cli-opensearch-1 Started ============================= test session starts ============================== platform linux -- Python 3.14.2, pytest-8.4.2, pluggy-1.6.0 rootdir: /home/runner/work/rdm-14-tests/rdm-14-tests/workdir/tests/invenio-requests/patched configfile: setup.cfg testpaths: docs, tests, invenio_requests plugins: flask-1.3.0, black-0.6.0, github-actions-annotate-failures-0.4.1, pycodestyle-2.5.0, cov-7.1.0, invenio-4.0.1, pydocstyle-2.4.0, isort-4.0.0, time-machine-2.19.0 collected 523 items docs/conf.py ... [ 0%] tests/__init__.py ... [ 1%] tests/conftest.py ... [ 1%] tests/customizations/test_event_types.py ..... [ 2%] tests/customizations/test_request_types.py [ 3%] tests/mock_module/__init__.py ... [ 4%] tests/mock_module/administration.py ... [ 4%] tests/mock_module/blueprint.py ... [ 5%] tests/mock_module/request_type.py ... [ 5%] tests/records/events/test_api.py [ 6%] tests/records/systemfields/conftest.py ... [ 7%] tests/records/systemfields/helpers.py ... [ 7%] tests/records/systemfields/test_calculated_systemfield.py [ 8%] tests/records/systemfields/test_last_activity_field.py [ 9%] tests/records/systemfields/test_last_reply_field.py [ 10%] tests/records/test_request_api.py [ 11%] tests/records/test_request_numberseq.py [ 11%] tests/records/test_systemfield_relatedrecord.py [ 13%] tests/registry/conftest.py ... [ 13%] tests/registry/test_registries.py [ 14%] tests/resources/events/conftest.py ... [ 15%] tests/resources/events/test_request_events_resources.py [ 17%] tests/resources/files/conftest.py ... [ 18%] tests/resources/files/test_request_files_resources.py [ 19%] tests/resources/requests/conftest.py ... [ 20%] tests/resources/requests/test_requests_resources.py [ 21%] tests/resources/user_moderation/test_user_moderation_resources.py [ 23%] [ 24%] tests/services/components/test_request_reviewers_component.py [ 26%] [ 28%] tests/services/conftest.py ... [ 28%] tests/services/events/conftest.py ... [ 29%] tests/services/events/test_event_permissions.py [ 30%] tests/services/events/test_request_events_service.py [ 33%] tests/services/events/test_request_events_service_config.py [ 34%] tests/services/requests/test_request_permissions.py [ 36%] tests/services/requests/test_request_search_permissions.py [ 37%] tests/services/requests/test_requests_schemas.py [ 38%] tests/services/requests/test_requests_service.py [ 40%] tests/services/requests/test_requests_service_config.py [ 40%] tests/services/requests/test_requests_tasks.py [ 41%] tests/services/user_moderation/test_user_moderation_service.py [ 43%] [ 43%] tests/test_alembic.py ..s [ 43%] tests/test_invenio_requests.py .... [ 44%] tests/test_type_registry.py ..... [ 45%] tests/ui/conftest.py ... [ 46%] tests/ui/test_request_ui_files_resources.py [ 46%] invenio_requests/__init__.py ... [ 47%] invenio_requests/alembic/1759321170_add_index_to_request_events_request_id_.py . [ 47%] [ 47%] invenio_requests/alembic/1763728177_create_request_files_table.py ... [ 48%] invenio_requests/alembic/3ca07f2ee12b_change_datetime_types_addition.py . [ 48%] [ 48%] invenio_requests/alembic/5cd30a3503c9_create_requests_branch.py ... [ 49%] invenio_requests/alembic/74b23178bfbe_change_datetime_types.py ... [ 50%] invenio_requests/alembic/a14fa442680f_create_tables.py ... [ 50%] invenio_requests/config.py ... [ 51%] invenio_requests/customizations/__init__.py ... [ 51%] invenio_requests/customizations/actions.py ... [ 52%] invenio_requests/customizations/event_types.py ... [ 52%] invenio_requests/customizations/request_types.py ... [ 53%] invenio_requests/customizations/states.py ... [ 54%] invenio_requests/customizations/user_moderation/__init__.py ... [ 54%] invenio_requests/customizations/user_moderation/user_moderation.py ... [ 55%] invenio_requests/errors.py ... [ 55%] invenio_requests/ext.py ... [ 56%] invenio_requests/notifications/__init__.py ... [ 56%] invenio_requests/notifications/builders.py ... [ 57%] invenio_requests/notifications/filters.py ... [ 58%] invenio_requests/notifications/generators.py ... [ 58%] invenio_requests/proxies.py ... [ 59%] invenio_requests/records/__init__.py ... [ 59%] invenio_requests/records/api.py ... [ 60%] invenio_requests/records/dumpers/__init__.py ... [ 60%] invenio_requests/records/dumpers/calculated.py ... [ 61%] invenio_requests/records/dumpers/granttokens.py ... [ 62%] invenio_requests/records/dumpers/parentchild.py ... [ 62%] invenio_requests/records/jsonschemas/__init__.py ... [ 63%] invenio_requests/records/mappings/__init__.py ... [ 63%] invenio_requests/records/mappings/os-v1/__init__.py ... [ 64%] invenio_requests/records/mappings/os-v2/__init__.py ... [ 65%] invenio_requests/records/mappings/v7/__init__.py ... [ 65%] invenio_requests/records/models.py ... [ 66%] invenio_requests/records/systemfields/__init__.py ... [ 66%] invenio_requests/records/systemfields/computed.py ... [ 67%] invenio_requests/records/systemfields/entity_reference.py ... [ 67%] invenio_requests/records/systemfields/event_type.py ... [ 68%] invenio_requests/records/systemfields/expired_state.py ... [ 69%] invenio_requests/records/systemfields/files.py ... [ 69%] invenio_requests/records/systemfields/identity.py ... [ 70%] invenio_requests/records/systemfields/relatedrecord.py ... [ 70%] invenio_requests/records/systemfields/request_state.py ... [ 71%] invenio_requests/records/systemfields/request_type.py ... [ 71%] invenio_requests/records/systemfields/status.py ... [ 72%] invenio_requests/records/validators.py ... [ 73%] invenio_requests/registry.py ... [ 73%] invenio_requests/resolvers/__init__.py ... [ 74%] invenio_requests/resolvers/registry.py ... [ 74%] invenio_requests/resolvers/requests.py ... [ 75%] invenio_requests/resources/__init__.py ... [ 75%] invenio_requests/resources/events/__init__.py ... [ 76%] invenio_requests/resources/events/config.py ... [ 77%] invenio_requests/resources/events/resource.py ... [ 77%] invenio_requests/resources/files/__init__.py ... [ 78%] invenio_requests/resources/files/config.py ... [ 78%] invenio_requests/resources/files/resource.py ... [ 79%] invenio_requests/resources/requests/__init__.py ... [ 79%] invenio_requests/resources/requests/config.py ... [ 80%] invenio_requests/resources/requests/fields.py ... [ 81%] invenio_requests/resources/requests/resource.py ... [ 81%] invenio_requests/services/__init__.py ... [ 82%] invenio_requests/services/events/__init__.py ... [ 82%] invenio_requests/services/events/config.py ... [ 83%] invenio_requests/services/events/service.py ... [ 83%] invenio_requests/services/files/__init__.py ... [ 84%] invenio_requests/services/files/config.py ... [ 85%] invenio_requests/services/files/errors.py ... [ 85%] invenio_requests/services/files/service.py ... [ 86%] invenio_requests/services/generators.py ... [ 86%] invenio_requests/services/links.py ... [ 87%] invenio_requests/services/permissions.py ... [ 87%] invenio_requests/services/requests/__init__.py ... [ 88%] invenio_requests/services/requests/components.py ... [ 89%] invenio_requests/services/requests/config.py ... [ 89%] invenio_requests/services/requests/facets.py ... [ 90%] invenio_requests/services/requests/params.py ... [ 90%] invenio_requests/services/requests/results.py ... [ 91%] invenio_requests/services/requests/service.py ... [ 91%] invenio_requests/services/results.py ... [ 92%] invenio_requests/services/schemas.py ... [ 93%] invenio_requests/services/user_moderation/__init__.py ... [ 93%] invenio_requests/services/user_moderation/errors.py ... [ 94%] invenio_requests/services/user_moderation/service.py ... [ 94%] invenio_requests/tasks.py ... [ 95%] invenio_requests/views/__init__.py ... [ 95%] invenio_requests/views/api.py ... [ 96%] invenio_requests/views/decorators.py ... [ 97%] invenio_requests/views/files/__init__.py ... [ 97%] invenio_requests/views/files/requests.py ... [ 98%] invenio_requests/views/files/ui.py ... [ 98%] invenio_requests/views/ui.py ... [ 99%] invenio_requests/webpack.py ... [100%] =============================== warnings summary =============================== tests/resources/files/test_request_files_resources.py:84 /home/runner/work/rdm-14-tests/rdm-14-tests/workdir/tests/invenio-requests/patched/tests/resources/files/test_request_files_resources.py:84: SyntaxWarning: "\w" is an invalid escape sequence. Such sequences will not work in the future. Did you mean "\\w"? A raw string is also an option assert re.match(key_base + "-\w{5}-\w{5}" + key_ext, unique_key) self.init_app(app) tests/records/test_systemfield_relatedrecord.py::test_no_assignment tests/records/test_systemfield_relatedrecord.py::test_record_assignment tests/records/test_systemfield_relatedrecord.py::test_id_assignment tests/records/test_systemfield_relatedrecord.py::test_remove_assignment tests/records/test_systemfield_relatedrecord.py::test_dump_created_by /home/runner/work/rdm-14-tests/rdm-14-tests/workdir/tests/invenio-requests/patched/.venv/lib/python3.14/site-packages/invenio_records/api.py:302: SAWarning: nested transaction already deassociated from connection with db.session.begin_nested(): tests/records/test_systemfield_relatedrecord.py::test_no_assignment tests/records/test_systemfield_relatedrecord.py::test_record_assignment tests/records/test_systemfield_relatedrecord.py::test_id_assignment tests/records/test_systemfield_relatedrecord.py::test_remove_assignment tests/records/test_systemfield_relatedrecord.py::test_dump_created_by /home/runner/work/rdm-14-tests/rdm-14-tests/workdir/tests/invenio-requests/patched/.venv/lib/python3.14/site-packages/pytest_invenio/fixtures.py:617: SAWarning: nested transaction already deassociated from connection session.rollback() tests/resources/user_moderation/test_user_moderation_resources.py::test_moderate tests/resources/user_moderation/test_user_moderation_resources.py::test_links tests/services/events/test_request_events_service.py::test_comment_request_event_notification tests/services/events/test_request_events_service.py::test_reply_request_event_notification tests/services/user_moderation/test_user_moderation_service.py::test_moderation_accept tests/services/user_moderation/test_user_moderation_service.py::test_moderation_decline result = self._write_client.setex( ================================ tests coverage ================================ _______________ coverage: platform linux, python 3.14.2-final-0 ________________ Name Stmts Miss Cover Missing invenio_requests/__init__.py 5 0 100% invenio_requests/alembic/3ca07f2ee12b_change_datetime_types_addition.py 13 6 54% 21-23, 28-30 invenio_requests/alembic/5cd30a3503c9_create_requests_branch.py 8 2 75% 15, 20 invenio_requests/alembic/74b23178bfbe_change_datetime_types.py 15 8 47% 21-24, 29-32 invenio_requests/alembic/1759321170_add_index_to_request_events_request_id_.py 9 2 78% 17, 27 invenio_requests/alembic/1763728177_create_request_files_table.py 24 14 42% 20-92, 104-116 invenio_requests/alembic/a14fa442680f_create_tables.py 18 8 56% 20-92, 106-109 invenio_requests/config.py 47 0 100% invenio_requests/customizations/__init__.py 5 0 100% invenio_requests/customizations/actions.py 64 1 98% 85 invenio_requests/customizations/event_types.py 86 7 92% 23-24, 98-100, 105, 109 invenio_requests/customizations/request_types.py 96 8 92% 127, 195-200, 252-253, 287 invenio_requests/customizations/states.py 5 0 100% invenio_requests/customizations/user_moderation/__init__.py 2 0 100% invenio_requests/customizations/user_moderation/user_moderation.py 29 0 100% invenio_requests/errors.py 41 5 88% 68, 88, 100-104 invenio_requests/ext.py 72 1 99% 135 invenio_requests/notifications/__init__.py 0 0 100% invenio_requests/notifications/builders.py 21 0 100% invenio_requests/notifications/filters.py 14 1 93% 23 invenio_requests/notifications/generators.py 59 3 95% 29, 127-129 invenio_requests/proxies.py 18 0 100% invenio_requests/records/__init__.py 3 0 100% invenio_requests/records/api.py 97 3 97% 102-105 invenio_requests/records/dumpers/__init__.py 4 0 100% invenio_requests/records/dumpers/calculated.py 10 0 100% invenio_requests/records/dumpers/granttokens.py 20 2 90% 31-32 invenio_requests/records/dumpers/parentchild.py 8 0 100% invenio_requests/records/jsonschemas/__init__.py 0 0 100% invenio_requests/records/mappings/__init__.py 0 0 100% invenio_requests/records/mappings/os-v1/__init__.py 0 0 100% invenio_requests/records/mappings/os-v2/__init__.py 0 0 100% invenio_requests/records/mappings/v7/__init__.py 0 0 100% invenio_requests/records/models.py 53 0 100% invenio_requests/records/systemfields/__init__.py 9 0 100% invenio_requests/records/systemfields/computed.py 65 1 98% 119 invenio_requests/records/systemfields/entity_reference.py 15 0 100% invenio_requests/records/systemfields/event_type.py 48 2 96% 28, 58 invenio_requests/records/systemfields/expired_state.py 13 0 100% invenio_requests/records/systemfields/files.py 7 2 71% 21-23 invenio_requests/records/systemfields/identity.py 11 2 82% 16-17 invenio_requests/records/systemfields/relatedrecord.py 96 20 79% 29, 33-35, 43-45, 53-54, 61-63, 132-133, 152-155, 166-167, 179 invenio_requests/records/systemfields/request_state.py 10 0 100% invenio_requests/records/systemfields/request_type.py 30 1 97% 37 invenio_requests/records/systemfields/status.py 11 0 100% invenio_requests/records/validators.py 6 4 33% 16-20 invenio_requests/registry.py 17 0 100% invenio_requests/resolvers/__init__.py 1 0 100% invenio_requests/resolvers/registry.py 6 0 100% invenio_requests/resolvers/requests.py 15 4 73% 23, 32, 42, 51 invenio_requests/resources/__init__.py 4 0 100% invenio_requests/resources/events/__init__.py 3 0 100% invenio_requests/resources/events/config.py 15 0 100% invenio_requests/resources/events/resource.py 79 4 95% 167-174, 197-205 invenio_requests/resources/files/__init__.py 3 0 100% invenio_requests/resources/files/config.py 11 0 100% invenio_requests/resources/files/resource.py 25 0 100% invenio_requests/resources/requests/__init__.py 3 0 100% invenio_requests/resources/requests/config.py 22 0 100% invenio_requests/resources/requests/fields.py 16 6 62% 25, 27, 36-41 invenio_requests/resources/requests/resource.py 67 6 91% 81-87, 109-115, 121-125 invenio_requests/services/__init__.py 5 0 100% invenio_requests/services/events/__init__.py 3 0 100% invenio_requests/services/events/config.py 142 11 92% 42, 76, 82, 107, 143-144, 147-152, 308 invenio_requests/services/events/service.py 207 54 74% 119, 249, 348, 446-497, 630-687, 716, 729 invenio_requests/services/files/__init__.py 3 0 100% invenio_requests/services/files/config.py 27 1 96% 25 invenio_requests/services/files/errors.py 10 1 90% 30 invenio_requests/services/files/service.py 61 2 97% 66, 94 invenio_requests/services/generators.py 89 9 90% 44, 69, 107, 136, 167, 173, 180, 190, 194 invenio_requests/services/links.py 73 1 99% 86 invenio_requests/services/permissions.py 25 0 100% invenio_requests/services/requests/__init__.py 5 0 100% invenio_requests/services/requests/components.py 125 5 96% 182-191 invenio_requests/services/requests/config.py 37 0 100% invenio_requests/services/requests/facets.py 5 0 100% invenio_requests/services/requests/params.py 57 11 81% 29, 55, 76, 78, 105-119, 132-133 invenio_requests/services/requests/results.py 84 8 90% 48, 58, 83-85, 92, 98, 113 invenio_requests/services/requests/service.py 106 2 98% 44, 357 invenio_requests/services/results.py 50 20 60% 28, 58-59, 63, 76-79, 84-86, 91-97, 101-103 invenio_requests/services/schemas.py 59 0 100% invenio_requests/services/user_moderation/__init__.py 2 0 100% invenio_requests/services/user_moderation/errors.py 5 0 100% invenio_requests/services/user_moderation/service.py 36 1 97% 96 invenio_requests/tasks.py 25 7 72% 42-44, 56-61 invenio_requests/views/__init__.py 5 0 100% invenio_requests/views/api.py 9 0 100% invenio_requests/views/decorators.py 13 9 31% 16-29 invenio_requests/views/files/__init__.py 2 0 100% invenio_requests/views/files/requests.py 5 0 100% invenio_requests/views/files/ui.py 11 1 91% 15 invenio_requests/views/ui.py 18 5 72% 18, 23, 28-31 invenio_requests/webpack.py 2 0 100% TOTAL 2760 271 90% =========== 522 passed, 1 skipped, 81 warnings in 126.85s (0:02:06) ============ Container docker_services_cli-redis-1 Stopping Container docker_services_cli-postgresql-1 Stopping Container docker_services_cli-opensearch-1 Stopping Container docker_services_cli-redis-1 Stopped Container docker_services_cli-redis-1 Removing Container docker_services_cli-redis-1 Removed Container docker_services_cli-postgresql-1 Stopped Container docker_services_cli-postgresql-1 Removing Container docker_services_cli-opensearch-1 Stopped Container docker_services_cli-opensearch-1 Removing Container docker_services_cli-opensearch-1 Removed Container docker_services_cli-postgresql-1 Removed Network docker_services_cli_default Removing Network docker_services_cli_default Removed