running extract_messages extracting messages from invenio_drafts_resources/__init__.py (encoding="utf-8") extracting messages from invenio_drafts_resources/auditlog/__init__.py (encoding="utf-8") extracting messages from invenio_drafts_resources/auditlog/actions.py (encoding="utf-8") extracting messages from invenio_drafts_resources/auditlog/context.py (encoding="utf-8") extracting messages from invenio_drafts_resources/records/__init__.py (encoding="utf-8") extracting messages from invenio_drafts_resources/records/api.py (encoding="utf-8") extracting messages from invenio_drafts_resources/records/models.py (encoding="utf-8") extracting messages from invenio_drafts_resources/records/systemfields/__init__.py (encoding="utf-8") extracting messages from invenio_drafts_resources/records/systemfields/parent.py (encoding="utf-8") extracting messages from invenio_drafts_resources/records/systemfields/versions.py (encoding="utf-8") extracting messages from invenio_drafts_resources/resources/__init__.py (encoding="utf-8") extracting messages from invenio_drafts_resources/resources/records/__init__.py (encoding="utf-8") extracting messages from invenio_drafts_resources/resources/records/args.py (encoding="utf-8") extracting messages from invenio_drafts_resources/resources/records/config.py (encoding="utf-8") extracting messages from invenio_drafts_resources/resources/records/errors.py (encoding="utf-8") extracting messages from invenio_drafts_resources/resources/records/resource.py (encoding="utf-8") extracting messages from invenio_drafts_resources/services/__init__.py (encoding="utf-8") extracting messages from invenio_drafts_resources/services/records/__init__.py (encoding="utf-8") extracting messages from invenio_drafts_resources/services/records/config.py (encoding="utf-8") extracting messages from invenio_drafts_resources/services/records/permissions.py (encoding="utf-8") extracting messages from invenio_drafts_resources/services/records/schema.py (encoding="utf-8") extracting messages from invenio_drafts_resources/services/records/search_params.py (encoding="utf-8") extracting messages from invenio_drafts_resources/services/records/service.py (encoding="utf-8") extracting messages from invenio_drafts_resources/services/records/tasks.py (encoding="utf-8") extracting messages from invenio_drafts_resources/services/records/uow.py (encoding="utf-8") extracting messages from invenio_drafts_resources/services/records/components/__init__.py (encoding="utf-8") extracting messages from invenio_drafts_resources/services/records/components/base.py (encoding="utf-8") extracting messages from invenio_drafts_resources/services/records/components/files.py (encoding="utf-8") extracting messages from invenio_drafts_resources/services/records/components/media_files.py (encoding="utf-8") extracting messages from invenio_drafts_resources/services/records/components/metadata.py (encoding="utf-8") extracting messages from invenio_drafts_resources/services/records/components/pid.py (encoding="utf-8") extracting messages from invenio_drafts_resources/services/records/components/relations.py (encoding="utf-8") writing PO template file to /dev/null postgresql Pulling opensearch Pulling postgresql Pulled opensearch Pulled Network docker_services_cli_default Creating Network docker_services_cli_default Created Container docker_services_cli-postgresql-1 Creating Container docker_services_cli-opensearch-1 Creating Container docker_services_cli-postgresql-1 Created Container docker_services_cli-opensearch-1 Created Container docker_services_cli-postgresql-1 Starting Container docker_services_cli-opensearch-1 Starting 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/invenio-testrig-client/invenio-testrig-client/workdir/tests/invenio-drafts-resources/patched configfile: setup.cfg testpaths: docs, tests, invenio_drafts_resources 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 264 items docs/conf.py ... [ 1%] tests/conftest.py ... [ 2%] tests/mock_module/__init__.py ... [ 3%] tests/mock_module/api.py ... [ 4%] tests/mock_module/jsonschemas/__init__.py ... [ 5%] tests/mock_module/mappings/__init__.py ... [ 6%] tests/mock_module/mappings/os-v1/__init__.py ... [ 7%] tests/mock_module/mappings/os-v1/draftsresources/__init__.py ... [ 9%] tests/mock_module/mappings/os-v2/__init__.py ... [ 10%] tests/mock_module/mappings/os-v2/draftsresources/__init__.py ... [ 11%] tests/mock_module/mappings/v7/__init__.py ... [ 12%] tests/mock_module/mappings/v7/draftsresources/__init__.py ... [ 13%] tests/mock_module/models.py ... [ 14%] tests/mock_module/permissions.py ... [ 15%] tests/mock_module/resource.py ... [ 17%] tests/mock_module/schemas.py ... [ 18%] tests/mock_module/service.py ... [ 19%] tests/records/conftest.py ... [ 20%] tests/records/test_api.py ...................... [ 28%] tests/resources/conftest.py ... [ 29%] tests/resources/test_files_resource.py [ 32%] tests/resources/test_record_resource.py [ 36%] tests/resources/test_resource_links.py [ 39%] tests/services/__init__.py ... [ 40%] tests/services/conftest.py ... [ 41%] tests/services/test_record_service.py [ 46%] tests/services/test_record_service_files.py [ 56%] tests/services/test_record_service_search.py [ 58%] tests/services/test_record_service_tasks.py [ 59%] tests/services/test_records_uow.py [ 60%] tests/services/test_services.py [ 62%] tests/services/utils.py ... [ 63%] invenio_drafts_resources/__init__.py ... [ 64%] invenio_drafts_resources/auditlog/__init__.py ... [ 65%] invenio_drafts_resources/auditlog/actions.py ... [ 67%] invenio_drafts_resources/auditlog/context.py ... [ 68%] invenio_drafts_resources/records/__init__.py ... [ 69%] invenio_drafts_resources/records/api.py ... [ 70%] invenio_drafts_resources/records/models.py ... [ 71%] invenio_drafts_resources/records/systemfields/__init__.py ... [ 72%] invenio_drafts_resources/records/systemfields/parent.py ... [ 73%] invenio_drafts_resources/records/systemfields/versions.py ... [ 75%] invenio_drafts_resources/resources/__init__.py ... [ 76%] invenio_drafts_resources/resources/records/__init__.py ... [ 77%] invenio_drafts_resources/resources/records/args.py ... [ 78%] invenio_drafts_resources/resources/records/config.py ... [ 79%] invenio_drafts_resources/resources/records/errors.py ... [ 80%] invenio_drafts_resources/resources/records/resource.py ... [ 81%] invenio_drafts_resources/services/__init__.py ... [ 82%] invenio_drafts_resources/services/records/__init__.py ... [ 84%] invenio_drafts_resources/services/records/components/__init__.py ... [ 85%] invenio_drafts_resources/services/records/components/base.py ... [ 86%] invenio_drafts_resources/services/records/components/files.py ... [ 87%] invenio_drafts_resources/services/records/components/media_files.py ... [ 88%] invenio_drafts_resources/services/records/components/metadata.py ... [ 89%] invenio_drafts_resources/services/records/components/pid.py ... [ 90%] invenio_drafts_resources/services/records/components/relations.py ... [ 92%] invenio_drafts_resources/services/records/config.py ... [ 93%] invenio_drafts_resources/services/records/permissions.py ... [ 94%] invenio_drafts_resources/services/records/schema.py ... [ 95%] invenio_drafts_resources/services/records/search_params.py ... [ 96%] invenio_drafts_resources/services/records/service.py ... [ 97%] invenio_drafts_resources/services/records/tasks.py ... [ 98%] invenio_drafts_resources/services/records/uow.py ... [100%] =============================== warnings summary =============================== venv/lib/python3.14/site-packages/edtf/parser/grammar.py:9 pyparsing.ParserElement.enablePackrat() venv/lib/python3.14/site-packages/edtf/parser/grammar.py:52 oneThru12 = oneOf(["%.2d" % i for i in range(1, 13)]) venv/lib/python3.14/site-packages/edtf/parser/grammar.py:53 oneThru13 = oneOf(["%.2d" % i for i in range(1, 14)]) venv/lib/python3.14/site-packages/edtf/parser/grammar.py:54 oneThru23 = oneOf(["%.2d" % i for i in range(1, 24)]) venv/lib/python3.14/site-packages/edtf/parser/grammar.py:55 zeroThru23 = oneOf(["%.2d" % i for i in range(0, 24)]) venv/lib/python3.14/site-packages/edtf/parser/grammar.py:56 oneThru29 = oneOf(["%.2d" % i for i in range(1, 30)]) venv/lib/python3.14/site-packages/edtf/parser/grammar.py:57 oneThru30 = oneOf(["%.2d" % i for i in range(1, 31)]) venv/lib/python3.14/site-packages/edtf/parser/grammar.py:58 oneThru31 = oneOf(["%.2d" % i for i in range(1, 32)]) venv/lib/python3.14/site-packages/edtf/parser/grammar.py:59 oneThru59 = oneOf(["%.2d" % i for i in range(1, 60)]) venv/lib/python3.14/site-packages/edtf/parser/grammar.py:60 zeroThru59 = oneOf(["%.2d" % i for i in range(0, 60)]) venv/lib/python3.14/site-packages/edtf/parser/grammar.py:63 positiveDigit = Word(nums, exact=1, excludeChars="0") venv/lib/python3.14/site-packages/edtf/parser/grammar.py:73 (oneOf("01 03 05 07 08 10 12")("month") + "-" + oneThru31("day")) venv/lib/python3.14/site-packages/edtf/parser/grammar.py:74 ^ (oneOf("04 06 09 11")("month") + "-" + oneThru30("day")) p.addParseAction(cls.parse_action) venv/lib/python3.14/site-packages/edtf/parser/grammar.py:119 UASymbol = Combine(oneOf("? ~ %")) venv/lib/python3.14/site-packages/edtf/parser/grammar.py:122 seasonNumber = oneOf("21 22 23 24") venv/lib/python3.14/site-packages/edtf/parser/grammar.py:155 l1Start.addParseAction(f) venv/lib/python3.14/site-packages/edtf/parser/grammar.py:157 l1End.addParseAction(f) venv/lib/python3.14/site-packages/edtf/parser/grammar.py:199 monthWithX = Combine(oneOf("0X 1X") ^ ("X" + digitOrX))("month") venv/lib/python3.14/site-packages/edtf/parser/grammar.py:303 venv/lib/python3.14/site-packages/edtf/parser/grammar.py:303 earlier = L("..").addParseAction(f)("lower") + date("upper").addParseAction(f) venv/lib/python3.14/site-packages/edtf/parser/grammar.py:304 venv/lib/python3.14/site-packages/edtf/parser/grammar.py:304 later = date("lower").addParseAction(f) + L("..").addParseAction(f)("upper") venv/lib/python3.14/site-packages/edtf/parser/grammar.py:325 seasonL2Number = oneOf("21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41") tests/resources/test_files_resource.py::test_files_publish_flow tests/resources/test_record_resource.py::test_create_draft tests/resources/test_resource_links.py::test_create_draft tests/services/test_record_service.py::test_create_draft tests/services/test_record_service_files.py::test_create_delete_draft tests/services/test_record_service_search.py::test_search_versions tests/services/test_record_service_tasks.py::test_hard_delete_soft_deleted_task tests/services/test_records_uow.py::test_parent_record_uow_params tests/services/test_services.py::test_hard_delete_soft_deleted warnings.warn( tests/resources/test_files_resource.py::test_files_publish_flow tests/resources/test_record_resource.py::test_create_draft tests/resources/test_resource_links.py::test_create_draft tests/services/test_record_service.py::test_create_draft tests/services/test_record_service_files.py::test_create_delete_draft tests/services/test_record_service_search.py::test_search_versions tests/services/test_record_service_tasks.py::test_hard_delete_soft_deleted_task tests/services/test_records_uow.py::test_parent_record_uow_params tests/services/test_services.py::test_hard_delete_soft_deleted self.init_app(app) tests/services/test_record_service_files.py::test_publish_with_remote_files tests/services/test_record_service_files.py::test_enable_files_after_publish /home/runner/work/invenio-testrig-client/invenio-testrig-client/workdir/tests/invenio-drafts-resources/patched/.venv/lib/python3.14/site-packages/invenio_files_rest/models.py:719: SAWarning: Object of type not in session, add operation along 'Bucket.objects' 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.) return db.session.query(cls).filter_by(id=file_id).one_or_none() ================================ tests coverage ================================ _______________ coverage: platform linux, python 3.14.2-final-0 ________________ Name Stmts Miss Cover Missing invenio_drafts_resources/__init__.py 2 0 100% invenio_drafts_resources/auditlog/__init__.py 0 0 100% invenio_drafts_resources/auditlog/actions.py 21 0 100% invenio_drafts_resources/auditlog/context.py 31 19 39% 26-29, 37-42, 51-62 invenio_drafts_resources/records/__init__.py 3 0 100% invenio_drafts_resources/records/api.py 94 1 99% 126 invenio_drafts_resources/records/models.py 36 0 100% invenio_drafts_resources/records/systemfields/__init__.py 3 0 100% invenio_drafts_resources/records/systemfields/parent.py 50 1 98% 80 invenio_drafts_resources/records/systemfields/versions.py 130 1 99% 173 invenio_drafts_resources/resources/__init__.py 2 0 100% invenio_drafts_resources/resources/records/__init__.py 3 0 100% invenio_drafts_resources/resources/records/args.py 5 0 100% invenio_drafts_resources/resources/records/config.py 6 0 100% invenio_drafts_resources/resources/records/errors.py 16 0 100% invenio_drafts_resources/resources/records/resource.py 85 2 98% 101-107 invenio_drafts_resources/services/__init__.py 2 0 100% invenio_drafts_resources/services/records/__init__.py 3 0 100% invenio_drafts_resources/services/records/components/__init__.py 7 0 100% invenio_drafts_resources/services/records/components/base.py 126 12 90% 33, 37, 41, 45, 49, 53, 57, 116-124, 140, 296, 302 invenio_drafts_resources/services/records/components/files.py 4 0 100% invenio_drafts_resources/services/records/components/media_files.py 60 5 92% 53-57, 77-78 invenio_drafts_resources/services/records/components/metadata.py 10 0 100% invenio_drafts_resources/services/records/components/pid.py 12 0 100% invenio_drafts_resources/services/records/components/relations.py 4 1 75% 20 invenio_drafts_resources/services/records/config.py 49 0 100% invenio_drafts_resources/services/records/permissions.py 11 0 100% invenio_drafts_resources/services/records/schema.py 15 0 100% invenio_drafts_resources/services/records/search_params.py 13 0 100% invenio_drafts_resources/services/records/service.py 227 47 79% 64, 77, 112, 124-148, 174-175, 180, 266, 452-453, 462, 547, 579-590, 594-595, 619-623, 671-674, 678-681, 708-736 invenio_drafts_resources/services/records/tasks.py 8 0 100% invenio_drafts_resources/services/records/uow.py 36 4 89% 74-75, 80-81 TOTAL 1074 93 91% ====================== 264 passed, 62 warnings in 52.17s ======================= Container docker_services_cli-opensearch-1 Stopping 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 Container docker_services_cli-opensearch-1 Stopped Container docker_services_cli-opensearch-1 Removing Container docker_services_cli-opensearch-1 Removed Network docker_services_cli_default Removing Network docker_services_cli_default Removed