running extract_messages extracting messages from invenio_users_resources/__init__.py (encoding="utf-8") extracting messages from invenio_users_resources/config.py (encoding="utf-8") extracting messages from invenio_users_resources/entity_resolvers.py (encoding="utf-8") extracting messages from invenio_users_resources/ext.py (encoding="utf-8") extracting messages from invenio_users_resources/forms.py (encoding="utf-8") extracting messages from invenio_users_resources/models.py (encoding="utf-8") extracting messages from invenio_users_resources/permissions.py (encoding="utf-8") extracting messages from invenio_users_resources/proxies.py (encoding="utf-8") extracting messages from invenio_users_resources/views.py (encoding="utf-8") extracting messages from invenio_users_resources/notifications/__init__.py (encoding="utf-8") extracting messages from invenio_users_resources/notifications/filters.py (encoding="utf-8") extracting messages from invenio_users_resources/notifications/generators.py (encoding="utf-8") extracting messages from invenio_users_resources/records/__init__.py (encoding="utf-8") extracting messages from invenio_users_resources/records/api.py (encoding="utf-8") extracting messages from invenio_users_resources/records/hooks.py (encoding="utf-8") extracting messages from invenio_users_resources/records/models.py (encoding="utf-8") extracting messages from invenio_users_resources/records/dumpers/__init__.py (encoding="utf-8") extracting messages from invenio_users_resources/records/dumpers/email.py (encoding="utf-8") extracting messages from invenio_users_resources/records/mappings/__init__.py (encoding="utf-8") extracting messages from invenio_users_resources/records/mappings/os-v1/__init__.py (encoding="utf-8") extracting messages from invenio_users_resources/records/mappings/os-v2/__init__.py (encoding="utf-8") extracting messages from invenio_users_resources/records/mappings/v7/__init__.py (encoding="utf-8") extracting messages from invenio_users_resources/records/systemfields/__init__.py (encoding="utf-8") extracting messages from invenio_users_resources/resources/__init__.py (encoding="utf-8") extracting messages from invenio_users_resources/resources/domains/__init__.py (encoding="utf-8") extracting messages from invenio_users_resources/resources/domains/config.py (encoding="utf-8") extracting messages from invenio_users_resources/resources/domains/resource.py (encoding="utf-8") extracting messages from invenio_users_resources/resources/groups/__init__.py (encoding="utf-8") extracting messages from invenio_users_resources/resources/groups/config.py (encoding="utf-8") extracting messages from invenio_users_resources/resources/groups/errors.py (encoding="utf-8") extracting messages from invenio_users_resources/resources/groups/resource.py (encoding="utf-8") extracting messages from invenio_users_resources/resources/users/__init__.py (encoding="utf-8") extracting messages from invenio_users_resources/resources/users/config.py (encoding="utf-8") extracting messages from invenio_users_resources/resources/users/errors.py (encoding="utf-8") extracting messages from invenio_users_resources/resources/users/resource.py (encoding="utf-8") extracting messages from invenio_users_resources/services/__init__.py (encoding="utf-8") extracting messages from invenio_users_resources/services/common.py (encoding="utf-8") extracting messages from invenio_users_resources/services/generators.py (encoding="utf-8") extracting messages from invenio_users_resources/services/params.py (encoding="utf-8") extracting messages from invenio_users_resources/services/permissions.py (encoding="utf-8") extracting messages from invenio_users_resources/services/results.py (encoding="utf-8") extracting messages from invenio_users_resources/services/schemas.py (encoding="utf-8") extracting messages from invenio_users_resources/services/domains/__init__.py (encoding="utf-8") extracting messages from invenio_users_resources/services/domains/components.py (encoding="utf-8") extracting messages from invenio_users_resources/services/domains/config.py (encoding="utf-8") extracting messages from invenio_users_resources/services/domains/facets.py (encoding="utf-8") extracting messages from invenio_users_resources/services/domains/service.py (encoding="utf-8") extracting messages from invenio_users_resources/services/domains/tasks.py (encoding="utf-8") extracting messages from invenio_users_resources/services/groups/__init__.py (encoding="utf-8") extracting messages from invenio_users_resources/services/groups/config.py (encoding="utf-8") extracting messages from invenio_users_resources/services/groups/facets.py (encoding="utf-8") extracting messages from invenio_users_resources/services/groups/results.py (encoding="utf-8") extracting messages from invenio_users_resources/services/groups/service.py (encoding="utf-8") extracting messages from invenio_users_resources/services/groups/tasks.py (encoding="utf-8") extracting messages from invenio_users_resources/services/users/__init__.py (encoding="utf-8") extracting messages from invenio_users_resources/services/users/config.py (encoding="utf-8") extracting messages from invenio_users_resources/services/users/facets.py (encoding="utf-8") extracting messages from invenio_users_resources/services/users/lock.py (encoding="utf-8") extracting messages from invenio_users_resources/services/users/results.py (encoding="utf-8") extracting messages from invenio_users_resources/services/users/search_params.py (encoding="utf-8") extracting messages from invenio_users_resources/services/users/service.py (encoding="utf-8") extracting messages from invenio_users_resources/services/users/tasks.py (encoding="utf-8") extracting messages from invenio_users_resources/templates/security/email/new_user_via_admin.html (encoding="utf-8") extracting messages from invenio_users_resources/templates/semantic-ui/invenio_users_resources/settings/notifications.html (encoding="utf-8") writing PO template file to /dev/null rabbitmq Pulling redis Pulling opensearch Pulling postgresql Pulling b0a0cf830b12 Pulling fs layer dda3d8fbd5ed Pulling fs layer 283a477db7bb Pulling fs layer 91d2729fa4d5 Pulling fs layer 9739ced65621 Pulling fs layer ae3bb1b347a4 Pulling fs layer f8406d9c00ea Pulling fs layer c199bff16b05 Pulling fs layer e0d55fdb4d15 Pulling fs layer c1cb13b19080 Pulling fs layer 873532e5f8c7 Pulling fs layer 050d9f8c3b1c Pulling fs layer 710e142705f8 Pulling fs layer cb628c265f09 Pulling fs layer 91d2729fa4d5 Waiting 9739ced65621 Waiting ae3bb1b347a4 Waiting e0d55fdb4d15 Waiting c1cb13b19080 Waiting f8406d9c00ea Waiting c199bff16b05 Waiting 873532e5f8c7 Waiting 050d9f8c3b1c Waiting cb628c265f09 Waiting 710e142705f8 Waiting f9dd052e142d Pulling fs layer e8c6d4883897 Pulling fs layer 648eb81b3252 Pulling fs layer eb77aa907276 Pulling fs layer 4f4fb700ef54 Pulling fs layer 0ffa8f8aba1e Pulling fs layer 2e81b9cb93cd Pulling fs layer f9dd052e142d Waiting e8c6d4883897 Waiting 4f4fb700ef54 Waiting 0ffa8f8aba1e Waiting 648eb81b3252 Waiting 2e81b9cb93cd Waiting eb77aa907276 Waiting b9136609bef0 Pulling fs layer a97e73913450 Pulling fs layer 83bcad862a56 Pulling fs layer 4ab29a83cab1 Pulling fs layer c662f114637c Pulling fs layer 4f4fb700ef54 Pulling fs layer 7d5f2b031023 Pulling fs layer b9136609bef0 Waiting c662f114637c Waiting a97e73913450 Waiting 4f4fb700ef54 Waiting 4ab29a83cab1 Waiting 83bcad862a56 Waiting 20043066d3d5 Pulling fs layer 3fadc669ef11 Pulling fs layer 7084ac8f4ab6 Pulling fs layer beb0d870d438 Pulling fs layer d63c4408fdb7 Pulling fs layer efa05c660812 Pulling fs layer f4e7f62f4b80 Pulling fs layer 5e1c03b67a78 Pulling fs layer 14e6209d5fa8 Pulling fs layer d686b50ce172 Pulling fs layer beb0d870d438 Waiting d63c4408fdb7 Waiting efa05c660812 Waiting 20043066d3d5 Waiting 3fadc669ef11 Waiting 7084ac8f4ab6 Waiting f4e7f62f4b80 Waiting 5e1c03b67a78 Waiting 14e6209d5fa8 Waiting d686b50ce172 Waiting dda3d8fbd5ed Downloading [==================================================>] 1.165kB/1.165kB dda3d8fbd5ed Download complete 283a477db7bb Downloading [> ] 48.51kB/4.533MB b0a0cf830b12 Downloading [> ] 294.3kB/29.15MB 283a477db7bb Downloading [=========> ] 834.9kB/4.533MB 91d2729fa4d5 Downloading [> ] 15.74kB/1.45MB b0a0cf830b12 Downloading [====> ] 2.654MB/29.15MB 283a477db7bb Verifying Checksum 283a477db7bb Download complete 91d2729fa4d5 Downloading [===========================> ] 802.2kB/1.45MB b0a0cf830b12 Downloading [=============================> ] 17.1MB/29.15MB 91d2729fa4d5 Verifying Checksum 91d2729fa4d5 Download complete b0a0cf830b12 Verifying Checksum b0a0cf830b12 Download complete b0a0cf830b12 Extracting [> ] 294.9kB/29.15MB 9739ced65621 Downloading [> ] 81.28kB/8.069MB ae3bb1b347a4 Downloading [> ] 15.74kB/1.196MB b0a0cf830b12 Extracting [==========> ] 6.193MB/29.15MB f8406d9c00ea Downloading [==================================================>] 116B/116B f8406d9c00ea Verifying Checksum f8406d9c00ea Download complete 9739ced65621 Downloading [========> ] 1.31MB/8.069MB ae3bb1b347a4 Downloading [=========================================> ] 998.8kB/1.196MB ae3bb1b347a4 Verifying Checksum ae3bb1b347a4 Download complete b0a0cf830b12 Extracting [================> ] 9.732MB/29.15MB 9739ced65621 Verifying Checksum 9739ced65621 Download complete c199bff16b05 Downloading [==================================================>] 3.145kB/3.145kB c199bff16b05 Verifying Checksum c199bff16b05 Download complete b0a0cf830b12 Extracting [=======================> ] 13.57MB/29.15MB c1cb13b19080 Downloading [=================> ] 3.502kB/9.925kB c1cb13b19080 Downloading [==================================================>] 9.925kB/9.925kB c1cb13b19080 Verifying Checksum c1cb13b19080 Download complete 873532e5f8c7 Downloading [==================================================>] 128B/128B 873532e5f8c7 Verifying Checksum 873532e5f8c7 Download complete b0a0cf830b12 Extracting [=====================================> ] 22.12MB/29.15MB e0d55fdb4d15 Downloading [> ] 537.7kB/109MB 050d9f8c3b1c Download complete e0d55fdb4d15 Downloading [=> ] 4.293MB/109MB 710e142705f8 Downloading [================================> ] 3.478kB/5.421kB 710e142705f8 Downloading [==================================================>] 5.421kB/5.421kB 710e142705f8 Verifying Checksum 710e142705f8 Download complete e0d55fdb4d15 Downloading [==========> ] 22.93MB/109MB b0a0cf830b12 Extracting [==========================================> ] 24.77MB/29.15MB cb628c265f09 Downloading [==================================================>] 184B/184B cb628c265f09 Verifying Checksum cb628c265f09 Download complete f9dd052e142d Downloading [> ] 523.6kB/52.33MB e0d55fdb4d15 Downloading [=========================> ] 54.72MB/109MB b0a0cf830b12 Extracting [===============================================> ] 27.72MB/29.15MB e8c6d4883897 Downloading [> ] 49.15kB/4.398MB e0d55fdb4d15 Downloading [=======================================> ] 86.58MB/109MB f9dd052e142d Downloading [=====> ] 5.767MB/52.33MB e0d55fdb4d15 Verifying Checksum e0d55fdb4d15 Download complete e8c6d4883897 Downloading [=========> ] 833.9kB/4.398MB f9dd052e142d Downloading [==============================> ] 31.46MB/52.33MB f9dd052e142d Download complete e8c6d4883897 Downloading [==================================================>] 4.398MB/4.398MB e8c6d4883897 Verifying Checksum e8c6d4883897 Download complete f9dd052e142d Extracting [> ] 524.3kB/52.33MB 648eb81b3252 Downloading [==================================================>] 1.561kB/1.561kB 648eb81b3252 Verifying Checksum 648eb81b3252 Download complete 4f4fb700ef54 Downloading [==================================================>] 32B/32B 4f4fb700ef54 Verifying Checksum 4f4fb700ef54 Download complete f9dd052e142d Extracting [=> ] 1.573MB/52.33MB 0ffa8f8aba1e Downloading [==================================================>] 226B/226B 0ffa8f8aba1e Verifying Checksum 0ffa8f8aba1e Download complete b0a0cf830b12 Extracting [================================================> ] 28.31MB/29.15MB eb77aa907276 Downloading [> ] 538kB/907.7MB 2e81b9cb93cd Downloading [==================================================>] 1.859kB/1.859kB 2e81b9cb93cd Verifying Checksum 2e81b9cb93cd Download complete eb77aa907276 Downloading [> ] 4.291MB/907.7MB f9dd052e142d Extracting [====> ] 4.719MB/52.33MB b0a0cf830b12 Extracting [==================================================>] 29.15MB/29.15MB b9136609bef0 Downloading [> ] 294.3kB/28.24MB b0a0cf830b12 Pull complete dda3d8fbd5ed Extracting [==================================================>] 1.165kB/1.165kB dda3d8fbd5ed Extracting [==================================================>] 1.165kB/1.165kB a97e73913450 Downloading [==================================================>] 1.101kB/1.101kB a97e73913450 Verifying Checksum a97e73913450 Download complete eb77aa907276 Downloading [=> ] 22.38MB/907.7MB f9dd052e142d Extracting [=====> ] 5.243MB/52.33MB b9136609bef0 Downloading [====> ] 2.359MB/28.24MB eb77aa907276 Downloading [==> ] 53.65MB/907.7MB f9dd052e142d Extracting [========> ] 8.913MB/52.33MB 83bcad862a56 Downloading [==================================================>] 875B/875B 83bcad862a56 Verifying Checksum 83bcad862a56 Download complete b9136609bef0 Downloading [==========================> ] 15.04MB/28.24MB eb77aa907276 Downloading [====> ] 81.8MB/907.7MB b9136609bef0 Verifying Checksum b9136609bef0 Download complete f9dd052e142d Extracting [=============> ] 14.16MB/52.33MB c662f114637c Downloading [==================================================>] 96B/96B 4ab29a83cab1 Downloading [> ] 163.2kB/15.35MB c662f114637c Verifying Checksum c662f114637c Download complete eb77aa907276 Downloading [=====> ] 107.8MB/907.7MB f9dd052e142d Extracting [=================> ] 17.83MB/52.33MB 4ab29a83cab1 Downloading [===> ] 1.146MB/15.35MB eb77aa907276 Downloading [=======> ] 135.9MB/907.7MB 4f4fb700ef54 Downloading [==================================================>] 32B/32B 4f4fb700ef54 Verifying Checksum 4f4fb700ef54 Download complete b9136609bef0 Extracting [> ] 294.9kB/28.24MB f9dd052e142d Extracting [======================> ] 23.07MB/52.33MB 4ab29a83cab1 Downloading [=======================> ] 7.208MB/15.35MB eb77aa907276 Downloading [========> ] 163MB/907.7MB b9136609bef0 Extracting [=====> ] 3.244MB/28.24MB 4ab29a83cab1 Download complete 7d5f2b031023 Download complete eb77aa907276 Downloading [==========> ] 190.5MB/907.7MB eb77aa907276 Downloading [============> ] 225MB/907.7MB b9136609bef0 Extracting [======> ] 3.834MB/28.24MB f9dd052e142d Extracting [=========================> ] 26.21MB/52.33MB 20043066d3d5 Downloading [> ] 310.7kB/29.72MB 3fadc669ef11 Downloading [> ] 441.7kB/43.48MB eb77aa907276 Downloading [==============> ] 254.2MB/907.7MB b9136609bef0 Extracting [============> ] 7.078MB/28.24MB f9dd052e142d Extracting [==========================> ] 27.79MB/52.33MB 20043066d3d5 Downloading [====> ] 2.801MB/29.72MB 3fadc669ef11 Downloading [=====> ] 4.423MB/43.48MB eb77aa907276 Downloading [===============> ] 282.2MB/907.7MB b9136609bef0 Extracting [================> ] 9.142MB/28.24MB 20043066d3d5 Downloading [==========================> ] 15.56MB/29.72MB 3fadc669ef11 Downloading [====================> ] 18.14MB/43.48MB f9dd052e142d Extracting [===========================> ] 28.84MB/52.33MB eb77aa907276 Downloading [================> ] 304MB/907.7MB 20043066d3d5 Verifying Checksum 20043066d3d5 Download complete b9136609bef0 Extracting [=================> ] 10.03MB/28.24MB 3fadc669ef11 Downloading [=================================================> ] 43.35MB/43.48MB 3fadc669ef11 Verifying Checksum 3fadc669ef11 Download complete eb77aa907276 Downloading [==================> ] 335.4MB/907.7MB b9136609bef0 Extracting [====================> ] 11.8MB/28.24MB beb0d870d438 Downloading [==================> ] 3.501kB/9.462kB beb0d870d438 Downloading [==================================================>] 9.462kB/9.462kB beb0d870d438 Verifying Checksum beb0d870d438 Download complete 7084ac8f4ab6 Downloading [> ] 81.28kB/7.468MB eb77aa907276 Downloading [===================> ] 350.2MB/907.7MB f9dd052e142d Extracting [============================> ] 29.88MB/52.33MB b9136609bef0 Extracting [===========================> ] 15.34MB/28.24MB 7084ac8f4ab6 Downloading [========> ] 1.228MB/7.468MB eb77aa907276 Downloading [====================> ] 379.4MB/907.7MB 20043066d3d5 Extracting [> ] 327.7kB/29.72MB d63c4408fdb7 Downloading [> ] 228.7kB/21.31MB b9136609bef0 Extracting [================================> ] 18.58MB/28.24MB 7084ac8f4ab6 Downloading [==============================> ] 4.587MB/7.468MB eb77aa907276 Downloading [======================> ] 410.1MB/907.7MB 20043066d3d5 Extracting [====> ] 2.949MB/29.72MB f9dd052e142d Extracting [=============================> ] 30.41MB/52.33MB 7084ac8f4ab6 Verifying Checksum 7084ac8f4ab6 Download complete d63c4408fdb7 Downloading [=====> ] 2.293MB/21.31MB b9136609bef0 Extracting [=====================================> ] 21.23MB/28.24MB eb77aa907276 Downloading [========================> ] 439.2MB/907.7MB 20043066d3d5 Extracting [=========> ] 5.571MB/29.72MB f9dd052e142d Extracting [===============================> ] 32.51MB/52.33MB efa05c660812 Downloading [==================================================>] 189B/189B d63c4408fdb7 Downloading [==================================> ] 14.91MB/21.31MB eb77aa907276 Downloading [=========================> ] 460.9MB/907.7MB efa05c660812 Verifying Checksum efa05c660812 Download complete 20043066d3d5 Extracting [==========> ] 6.226MB/29.72MB d63c4408fdb7 Verifying Checksum d63c4408fdb7 Download complete b9136609bef0 Extracting [=========================================> ] 23.3MB/28.24MB eb77aa907276 Downloading [===========================> ] 490.7MB/907.7MB f4e7f62f4b80 Downloading [==================================================>] 109B/109B f4e7f62f4b80 Verifying Checksum f4e7f62f4b80 Download complete 5e1c03b67a78 Downloading [==================================================>] 620B/620B 5e1c03b67a78 Verifying Checksum 5e1c03b67a78 Download complete eb77aa907276 Downloading [============================> ] 521.9MB/907.7MB eb77aa907276 Downloading [==============================> ] 559MB/907.7MB 14e6209d5fa8 Downloading [==================================================>] 833B/833B 14e6209d5fa8 Verifying Checksum 14e6209d5fa8 Download complete d686b50ce172 Downloading [> ] 130.4kB/12.47MB 20043066d3d5 Extracting [============> ] 7.537MB/29.72MB f9dd052e142d Extracting [===============================> ] 33.03MB/52.33MB eb77aa907276 Downloading [================================> ] 590.3MB/907.7MB d686b50ce172 Downloading [====> ] 1.179MB/12.47MB 20043066d3d5 Extracting [==============> ] 8.52MB/29.72MB eb77aa907276 Downloading [==================================> ] 624.2MB/907.7MB d686b50ce172 Downloading [===========> ] 2.883MB/12.47MB f9dd052e142d Extracting [================================> ] 34.08MB/52.33MB 20043066d3d5 Extracting [==============> ] 8.847MB/29.72MB eb77aa907276 Downloading [====================================> ] 656MB/907.7MB d686b50ce172 Downloading [===================> ] 4.849MB/12.47MB b9136609bef0 Extracting [==========================================> ] 23.89MB/28.24MB f9dd052e142d Extracting [=================================> ] 35.13MB/52.33MB eb77aa907276 Downloading [=====================================> ] 687.8MB/907.7MB 20043066d3d5 Extracting [=================> ] 10.16MB/29.72MB d686b50ce172 Downloading [==============================> ] 7.602MB/12.47MB b9136609bef0 Extracting [=============================================> ] 25.66MB/28.24MB f9dd052e142d Extracting [==================================> ] 36.18MB/52.33MB eb77aa907276 Downloading [=======================================> ] 714.9MB/907.7MB 20043066d3d5 Extracting [=====================> ] 12.78MB/29.72MB d686b50ce172 Downloading [===========================================> ] 10.88MB/12.47MB eb77aa907276 Downloading [========================================> ] 739.3MB/907.7MB f9dd052e142d Extracting [===================================> ] 36.7MB/52.33MB d686b50ce172 Verifying Checksum d686b50ce172 Download complete 20043066d3d5 Extracting [=========================> ] 15.4MB/29.72MB b9136609bef0 Extracting [===============================================> ] 26.84MB/28.24MB eb77aa907276 Downloading [==========================================> ] 766.9MB/907.7MB 20043066d3d5 Extracting [===========================> ] 16.38MB/29.72MB eb77aa907276 Downloading [===========================================> ] 794.5MB/907.7MB f9dd052e142d Extracting [====================================> ] 37.75MB/52.33MB 20043066d3d5 Extracting [================================> ] 19.33MB/29.72MB b9136609bef0 Extracting [================================================> ] 27.13MB/28.24MB eb77aa907276 Downloading [=============================================> ] 827.9MB/907.7MB f9dd052e142d Extracting [====================================> ] 38.27MB/52.33MB 20043066d3d5 Extracting [=======================================> ] 23.27MB/29.72MB eb77aa907276 Downloading [===============================================> ] 860.2MB/907.7MB f9dd052e142d Extracting [======================================> ] 39.85MB/52.33MB eb77aa907276 Downloading [=================================================> ] 892.5MB/907.7MB eb77aa907276 Verifying Checksum eb77aa907276 Download complete 20043066d3d5 Extracting [=========================================> ] 24.9MB/29.72MB f9dd052e142d Extracting [======================================> ] 40.37MB/52.33MB f9dd052e142d Extracting [========================================> ] 41.94MB/52.33MB f9dd052e142d Extracting [========================================> ] 42.47MB/52.33MB f9dd052e142d Extracting [==========================================> ] 44.04MB/52.33MB b9136609bef0 Extracting [================================================> ] 27.43MB/28.24MB 20043066d3d5 Extracting [==========================================> ] 25.56MB/29.72MB f9dd052e142d Extracting [============================================> ] 46.14MB/52.33MB dda3d8fbd5ed Pull complete 283a477db7bb Extracting [> ] 65.54kB/4.533MB b9136609bef0 Extracting [=================================================> ] 28.02MB/28.24MB f9dd052e142d Extracting [=============================================> ] 47.71MB/52.33MB 20043066d3d5 Extracting [==============================================> ] 27.85MB/29.72MB 283a477db7bb Extracting [=====================================> ] 3.408MB/4.533MB b9136609bef0 Extracting [==================================================>] 28.24MB/28.24MB 283a477db7bb Extracting [==================================================>] 4.533MB/4.533MB b9136609bef0 Pull complete a97e73913450 Extracting [==================================================>] 1.101kB/1.101kB a97e73913450 Extracting [==================================================>] 1.101kB/1.101kB 20043066d3d5 Extracting [================================================> ] 28.84MB/29.72MB 283a477db7bb Pull complete 91d2729fa4d5 Extracting [=> ] 32.77kB/1.45MB 91d2729fa4d5 Extracting [==================================================>] 1.45MB/1.45MB 20043066d3d5 Extracting [=================================================> ] 29.49MB/29.72MB 20043066d3d5 Extracting [==================================================>] 29.72MB/29.72MB 91d2729fa4d5 Pull complete a97e73913450 Pull complete 83bcad862a56 Extracting [==================================================>] 875B/875B 83bcad862a56 Extracting [==================================================>] 875B/875B 9739ced65621 Extracting [> ] 98.3kB/8.069MB f9dd052e142d Extracting [=================================================> ] 51.38MB/52.33MB 83bcad862a56 Pull complete 4ab29a83cab1 Extracting [> ] 163.8kB/15.35MB 9739ced65621 Extracting [=========> ] 1.573MB/8.069MB 4ab29a83cab1 Extracting [==========> ] 3.113MB/15.35MB 20043066d3d5 Pull complete 9739ced65621 Extracting [===================> ] 3.146MB/8.069MB 3fadc669ef11 Extracting [> ] 458.8kB/43.48MB 4ab29a83cab1 Extracting [======================> ] 6.881MB/15.35MB f9dd052e142d Extracting [=================================================> ] 51.9MB/52.33MB f9dd052e142d Extracting [==================================================>] 52.33MB/52.33MB 9739ced65621 Extracting [========================> ] 3.932MB/8.069MB f9dd052e142d Pull complete e8c6d4883897 Extracting [> ] 65.54kB/4.398MB 3fadc669ef11 Extracting [====> ] 4.129MB/43.48MB 4ab29a83cab1 Extracting [====================================> ] 11.14MB/15.35MB e8c6d4883897 Extracting [=================> ] 1.573MB/4.398MB 3fadc669ef11 Extracting [==========> ] 8.716MB/43.48MB 9739ced65621 Extracting [=============================> ] 4.817MB/8.069MB 4ab29a83cab1 Extracting [=================================================> ] 15.07MB/15.35MB 4ab29a83cab1 Extracting [==================================================>] 15.35MB/15.35MB e8c6d4883897 Extracting [============================> ] 2.49MB/4.398MB 3fadc669ef11 Extracting [===============> ] 13.76MB/43.48MB 9739ced65621 Extracting [====================================> ] 5.898MB/8.069MB 4ab29a83cab1 Pull complete c662f114637c Extracting [==================================================>] 96B/96B c662f114637c Extracting [==================================================>] 96B/96B c662f114637c Pull complete 4f4fb700ef54 Extracting [==================================================>] 32B/32B 4f4fb700ef54 Extracting [==================================================>] 32B/32B 4f4fb700ef54 Pull complete 7d5f2b031023 Extracting [==================================================>] 598B/598B 7d5f2b031023 Extracting [==================================================>] 598B/598B 7d5f2b031023 Pull complete redis Pulled e8c6d4883897 Extracting [====================================> ] 3.211MB/4.398MB 9739ced65621 Extracting [=============================================> ] 7.274MB/8.069MB 3fadc669ef11 Extracting [=====================> ] 18.35MB/43.48MB 9739ced65621 Extracting [==================================================>] 8.069MB/8.069MB 9739ced65621 Pull complete ae3bb1b347a4 Extracting [=> ] 32.77kB/1.196MB 3fadc669ef11 Extracting [===========================> ] 24.31MB/43.48MB e8c6d4883897 Extracting [========================================> ] 3.539MB/4.398MB e8c6d4883897 Extracting [==================================================>] 4.398MB/4.398MB ae3bb1b347a4 Extracting [==================================================>] 1.196MB/1.196MB ae3bb1b347a4 Extracting [==================================================>] 1.196MB/1.196MB e8c6d4883897 Pull complete 648eb81b3252 Extracting [==================================================>] 1.561kB/1.561kB 648eb81b3252 Extracting [==================================================>] 1.561kB/1.561kB 648eb81b3252 Pull complete ae3bb1b347a4 Pull complete f8406d9c00ea Extracting [==================================================>] 116B/116B f8406d9c00ea Extracting [==================================================>] 116B/116B 3fadc669ef11 Extracting [================================> ] 28.44MB/43.48MB f8406d9c00ea Pull complete c199bff16b05 Extracting [==================================================>] 3.145kB/3.145kB c199bff16b05 Extracting [==================================================>] 3.145kB/3.145kB c199bff16b05 Pull complete eb77aa907276 Extracting [> ] 557.1kB/907.7MB 3fadc669ef11 Extracting [=====================================> ] 32.57MB/43.48MB e0d55fdb4d15 Extracting [> ] 557.1kB/109MB eb77aa907276 Extracting [> ] 15.04MB/907.7MB 3fadc669ef11 Extracting [===========================================> ] 37.62MB/43.48MB e0d55fdb4d15 Extracting [==> ] 4.456MB/109MB eb77aa907276 Extracting [=> ] 28.97MB/907.7MB 3fadc669ef11 Extracting [================================================> ] 42.21MB/43.48MB e0d55fdb4d15 Extracting [===> ] 7.799MB/109MB 3fadc669ef11 Extracting [==================================================>] 43.48MB/43.48MB eb77aa907276 Extracting [==> ] 41.78MB/907.7MB 3fadc669ef11 Pull complete 7084ac8f4ab6 Extracting [> ] 98.3kB/7.468MB e0d55fdb4d15 Extracting [====> ] 9.47MB/109MB eb77aa907276 Extracting [===> ] 56.82MB/907.7MB 7084ac8f4ab6 Extracting [=========> ] 1.475MB/7.468MB eb77aa907276 Extracting [===> ] 71.3MB/907.7MB e0d55fdb4d15 Extracting [=====> ] 12.81MB/109MB 7084ac8f4ab6 Extracting [======================================> ] 5.8MB/7.468MB 7084ac8f4ab6 Extracting [==================================================>] 7.468MB/7.468MB 7084ac8f4ab6 Extracting [==================================================>] 7.468MB/7.468MB e0d55fdb4d15 Extracting [=======> ] 16.15MB/109MB 7084ac8f4ab6 Pull complete beb0d870d438 Extracting [==================================================>] 9.462kB/9.462kB beb0d870d438 Extracting [==================================================>] 9.462kB/9.462kB eb77aa907276 Extracting [====> ] 81.89MB/907.7MB beb0d870d438 Pull complete d63c4408fdb7 Extracting [> ] 229.4kB/21.31MB e0d55fdb4d15 Extracting [========> ] 18.94MB/109MB eb77aa907276 Extracting [=====> ] 91.36MB/907.7MB d63c4408fdb7 Extracting [=======> ] 3.211MB/21.31MB e0d55fdb4d15 Extracting [==========> ] 22.28MB/109MB eb77aa907276 Extracting [=====> ] 97.48MB/907.7MB e0d55fdb4d15 Extracting [===========> ] 25.62MB/109MB d63c4408fdb7 Extracting [=================> ] 7.569MB/21.31MB eb77aa907276 Extracting [=====> ] 103.1MB/907.7MB e0d55fdb4d15 Extracting [==============> ] 30.64MB/109MB d63c4408fdb7 Extracting [======================> ] 9.404MB/21.31MB eb77aa907276 Extracting [=====> ] 108.6MB/907.7MB e0d55fdb4d15 Extracting [================> ] 36.77MB/109MB d63c4408fdb7 Extracting [===========================> ] 11.7MB/21.31MB eb77aa907276 Extracting [======> ] 114.8MB/907.7MB e0d55fdb4d15 Extracting [===================> ] 42.89MB/109MB d63c4408fdb7 Extracting [=================================> ] 14.22MB/21.31MB eb77aa907276 Extracting [======> ] 120.9MB/907.7MB e0d55fdb4d15 Extracting [======================> ] 49.02MB/109MB d63c4408fdb7 Extracting [====================================> ] 15.6MB/21.31MB eb77aa907276 Extracting [======> ] 126.5MB/907.7MB e0d55fdb4d15 Extracting [========================> ] 52.36MB/109MB d63c4408fdb7 Extracting [=======================================> ] 16.74MB/21.31MB eb77aa907276 Extracting [=======> ] 132MB/907.7MB e0d55fdb4d15 Extracting [=========================> ] 55.15MB/109MB d63c4408fdb7 Extracting [=========================================> ] 17.89MB/21.31MB eb77aa907276 Extracting [=======> ] 137MB/907.7MB e0d55fdb4d15 Extracting [===========================> ] 59.05MB/109MB d63c4408fdb7 Extracting [============================================> ] 19.04MB/21.31MB eb77aa907276 Extracting [=======> ] 142MB/907.7MB e0d55fdb4d15 Extracting [=============================> ] 65.18MB/109MB eb77aa907276 Extracting [========> ] 147.1MB/907.7MB e0d55fdb4d15 Extracting [=================================> ] 72.97MB/109MB eb77aa907276 Extracting [========> ] 152.6MB/907.7MB e0d55fdb4d15 Extracting [===================================> ] 77.99MB/109MB d63c4408fdb7 Extracting [================================================> ] 20.87MB/21.31MB eb77aa907276 Extracting [========> ] 158.8MB/907.7MB d63c4408fdb7 Extracting [==================================================>] 21.31MB/21.31MB e0d55fdb4d15 Extracting [======================================> ] 83.56MB/109MB eb77aa907276 Extracting [=========> ] 169.9MB/907.7MB e0d55fdb4d15 Extracting [=========================================> ] 89.69MB/109MB eb77aa907276 Extracting [==========> ] 185.5MB/907.7MB eb77aa907276 Extracting [===========> ] 203.3MB/907.7MB e0d55fdb4d15 Extracting [==========================================> ] 93.03MB/109MB eb77aa907276 Extracting [===========> ] 208.3MB/907.7MB e0d55fdb4d15 Extracting [===========================================> ] 94.14MB/109MB eb77aa907276 Extracting [===========> ] 217.8MB/907.7MB e0d55fdb4d15 Extracting [============================================> ] 96.93MB/109MB eb77aa907276 Extracting [============> ] 224.5MB/907.7MB e0d55fdb4d15 Extracting [============================================> ] 97.48MB/109MB eb77aa907276 Extracting [============> ] 230.1MB/907.7MB eb77aa907276 Extracting [============> ] 231.7MB/907.7MB e0d55fdb4d15 Extracting [============================================> ] 98.04MB/109MB eb77aa907276 Extracting [============> ] 234.5MB/907.7MB eb77aa907276 Extracting [=============> ] 239MB/907.7MB d63c4408fdb7 Pull complete efa05c660812 Extracting [==================================================>] 189B/189B efa05c660812 Extracting [==================================================>] 189B/189B e0d55fdb4d15 Extracting [=============================================> ] 99.16MB/109MB efa05c660812 Pull complete f4e7f62f4b80 Extracting [==================================================>] 109B/109B f4e7f62f4b80 Extracting [==================================================>] 109B/109B f4e7f62f4b80 Pull complete 5e1c03b67a78 Extracting [==================================================>] 620B/620B 5e1c03b67a78 Extracting [==================================================>] 620B/620B 5e1c03b67a78 Pull complete eb77aa907276 Extracting [=============> ] 245.7MB/907.7MB 14e6209d5fa8 Extracting [==================================================>] 833B/833B 14e6209d5fa8 Extracting [==================================================>] 833B/833B 14e6209d5fa8 Pull complete d686b50ce172 Extracting [> ] 131.1kB/12.47MB e0d55fdb4d15 Extracting [==============================================> ] 101.4MB/109MB eb77aa907276 Extracting [==============> ] 255.7MB/907.7MB d686b50ce172 Extracting [=============> ] 3.277MB/12.47MB e0d55fdb4d15 Extracting [===============================================> ] 103.1MB/109MB eb77aa907276 Extracting [==============> ] 270.2MB/907.7MB d686b50ce172 Extracting [======================> ] 5.505MB/12.47MB eb77aa907276 Extracting [===============> ] 283.5MB/907.7MB e0d55fdb4d15 Extracting [===============================================> ] 104.2MB/109MB d686b50ce172 Extracting [==========================> ] 6.554MB/12.47MB eb77aa907276 Extracting [================> ] 301.4MB/907.7MB e0d55fdb4d15 Extracting [================================================> ] 105.3MB/109MB d686b50ce172 Extracting [============================> ] 7.078MB/12.47MB eb77aa907276 Extracting [=================> ] 316.4MB/907.7MB e0d55fdb4d15 Extracting [================================================> ] 106.4MB/109MB d686b50ce172 Extracting [====================================> ] 9.044MB/12.47MB eb77aa907276 Extracting [==================> ] 329.8MB/907.7MB d686b50ce172 Extracting [=========================================> ] 10.35MB/12.47MB eb77aa907276 Extracting [==================> ] 344.8MB/907.7MB d686b50ce172 Extracting [==============================================> ] 11.67MB/12.47MB eb77aa907276 Extracting [===================> ] 358.2MB/907.7MB d686b50ce172 Extracting [==================================================>] 12.47MB/12.47MB e0d55fdb4d15 Extracting [=================================================> ] 107.5MB/109MB eb77aa907276 Extracting [====================> ] 363.2MB/907.7MB eb77aa907276 Extracting [====================> ] 368.8MB/907.7MB eb77aa907276 Extracting [====================> ] 373.2MB/907.7MB e0d55fdb4d15 Extracting [=================================================> ] 108.6MB/109MB d686b50ce172 Pull complete rabbitmq Pulled eb77aa907276 Extracting [=====================> ] 383.3MB/907.7MB e0d55fdb4d15 Extracting [==================================================>] 109MB/109MB e0d55fdb4d15 Pull complete c1cb13b19080 Extracting [==================================================>] 9.925kB/9.925kB c1cb13b19080 Extracting [==================================================>] 9.925kB/9.925kB c1cb13b19080 Pull complete 873532e5f8c7 Extracting [==================================================>] 128B/128B 873532e5f8c7 Extracting [==================================================>] 128B/128B 873532e5f8c7 Pull complete eb77aa907276 Extracting [=====================> ] 397.2MB/907.7MB 050d9f8c3b1c Extracting [==================================================>] 169B/169B 050d9f8c3b1c Extracting [==================================================>] 169B/169B 050d9f8c3b1c Pull complete 710e142705f8 Extracting [==================================================>] 5.421kB/5.421kB 710e142705f8 Extracting [==================================================>] 5.421kB/5.421kB 710e142705f8 Pull complete cb628c265f09 Extracting [==================================================>] 184B/184B cb628c265f09 Extracting [==================================================>] 184B/184B cb628c265f09 Pull complete postgresql Pulled eb77aa907276 Extracting [=======================> ] 418.3MB/907.7MB eb77aa907276 Extracting [========================> ] 445.1MB/907.7MB eb77aa907276 Extracting [==========================> ] 472.9MB/907.7MB eb77aa907276 Extracting [===========================> ] 500.2MB/907.7MB eb77aa907276 Extracting [=============================> ] 527.5MB/907.7MB eb77aa907276 Extracting [==============================> ] 554.3MB/907.7MB eb77aa907276 Extracting [===============================> ] 580.5MB/907.7MB eb77aa907276 Extracting [=================================> ] 605.5MB/907.7MB eb77aa907276 Extracting [==================================> ] 632.3MB/907.7MB eb77aa907276 Extracting [====================================> ] 659.6MB/907.7MB eb77aa907276 Extracting [=====================================> ] 686.3MB/907.7MB eb77aa907276 Extracting [=======================================> ] 712.5MB/907.7MB eb77aa907276 Extracting [========================================> ] 737.5MB/907.7MB eb77aa907276 Extracting [=========================================> ] 758.7MB/907.7MB eb77aa907276 Extracting [==========================================> ] 779.9MB/907.7MB eb77aa907276 Extracting [============================================> ] 801MB/907.7MB eb77aa907276 Extracting [=============================================> ] 822.2MB/907.7MB eb77aa907276 Extracting [==============================================> ] 842.8MB/907.7MB eb77aa907276 Extracting [===============================================> ] 862.9MB/907.7MB eb77aa907276 Extracting [================================================> ] 885.2MB/907.7MB eb77aa907276 Extracting [=================================================> ] 905.8MB/907.7MB eb77aa907276 Extracting [==================================================>] 907.7MB/907.7MB eb77aa907276 Pull complete 4f4fb700ef54 Extracting [==================================================>] 32B/32B 4f4fb700ef54 Extracting [==================================================>] 32B/32B 4f4fb700ef54 Pull complete 0ffa8f8aba1e Extracting [==================================================>] 226B/226B 0ffa8f8aba1e Extracting [==================================================>] 226B/226B 0ffa8f8aba1e Pull complete 2e81b9cb93cd Extracting [==================================================>] 1.859kB/1.859kB 2e81b9cb93cd Extracting [==================================================>] 1.859kB/1.859kB 2e81b9cb93cd Pull complete 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-rabbitmq-1 Creating Container docker_services_cli-redis-1 Creating Container docker_services_cli-redis-1 Created Container docker_services_cli-postgresql-1 Created Container docker_services_cli-opensearch-1 Created Container docker_services_cli-rabbitmq-1 Created Container docker_services_cli-opensearch-1 Starting Container docker_services_cli-rabbitmq-1 Starting Container docker_services_cli-redis-1 Starting Container docker_services_cli-postgresql-1 Starting Container docker_services_cli-postgresql-1 Started Container docker_services_cli-redis-1 Started Container docker_services_cli-opensearch-1 Started Container docker_services_cli-rabbitmq-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-users-resources/patched configfile: setup.cfg testpaths: docs, tests, invenio_users_resources plugins: flask-1.3.0, black-0.6.0, github-actions-annotate-failures-0.4.2, pycodestyle-2.5.0, cov-7.1.0, invenio-4.0.1, pydocstyle-2.4.0, isort-4.0.0 collected 388 items docs/conf.py ... [ 0%] tests/administration/__init__.py ... [ 1%] tests/administration/domains.py ... [ 2%] tests/administration/records.py ... [ 3%] tests/administration/users.py ... [ 3%] tests/conftest.py ... [ 4%] tests/resources/test_resources_domains.py ............ [ 7%] tests/resources/test_resources_groups.py ...::warning file=workdir/tests/invenio-users-resources/patched/.venv/lib/python3.14/site-packages/invenio_rest/ext.py,line=24::CSRF validation will be enabled by default in the version 1.3.x ......::warning file=workdir/tests/invenio-users-resources/patched/.venv/lib/python3.14/site-packages/cachelib/redis_base.py,line=70::Call to deprecated setex. (Use 'set' instead.) -- Deprecated since version 2.6.12. [ 10%] tests/resources/test_resources_users.py ...::warning file=workdir/tests/invenio-users-resources/patched/.venv/lib/python3.14/site-packages/invenio_rest/ext.py,line=24::CSRF validation will be enabled by default in the version 1.3.x .......::warning file=workdir/tests/invenio-users-resources/patched/.venv/lib/python3.14/site-packages/cachelib/redis_base.py,line=70::Call to deprecated setex. (Use 'set' instead.) -- Deprecated since version 2.6.12. ::warning file=workdir/tests/invenio-users-resources/patched/.venv/lib/python3.14/site-packages/cachelib/redis_base.py,line=70::Call to deprecated setex. (Use 'set' instead.) -- Deprecated since version 2.6.12. .::warning file=workdir/tests/invenio-users-resources/patched/.venv/lib/python3.14/site-packages/cachelib/redis_base.py,line=70::Call to deprecated setex. (Use 'set' instead.) -- Deprecated since version 2.6.12. .::warning file=workdir/tests/invenio-users-resources/patched/.venv/lib/python3.14/site-packages/cachelib/redis_base.py,line=70::Call to deprecated setex. (Use 'set' instead.) -- Deprecated since version 2.6.12. ..::error file=workdir/tests/invenio-users-resources/patched/tests/resources/test_resources_users.py,line=241::test_user_groups_endpoints%0A%0Aopensearchpy.exceptions.ConflictError: ConflictError(409, 'version_conflict_engine_exception', '[2]: version conflict, current version [1] is higher than the one provided [0]') F.::error file=workdir/tests/invenio-users-resources/patched/tests/resources/test_resources_users.py,line=276::test_user_groups_bulk_set%0A%0Aopensearchpy.exceptions.ConflictError: ConflictError(409, 'version_conflict_engine_exception', '[2]: version conflict, current version [1] is higher than the one provided [0]') F::error file=workdir/tests/invenio-users-resources/patched/tests/resources/test_resources_users.py,line=300::test_user_groups_bulk_add%0A%0Aopensearchpy.exceptions.ConflictError: ConflictError(409, 'version_conflict_engine_exception', '[2]: version conflict, current version [1] is higher than the one provided [0]') F::error file=workdir/tests/invenio-users-resources/patched/tests/resources/test_resources_users.py,line=321::test_user_groups_bulk_remove%0A%0Aopensearchpy.exceptions.ConflictError: ConflictError(409, 'version_conflict_engine_exception', '[2]: version conflict, current version [1] is higher than the one provided [0]') F.......... [ 17%] tests/services/test_generators.py ...::warning file=workdir/tests/invenio-users-resources/patched/.venv/lib/python3.14/site-packages/invenio_rest/ext.py,line=24::CSRF validation will be enabled by default in the version 1.3.x . [ 18%] tests/services/test_schemas.py .... [ 19%] tests/services/test_service_groups.py ...::warning file=workdir/tests/invenio-users-resources/patched/.venv/lib/python3.14/site-packages/invenio_rest/ext.py,line=24::CSRF validation will be enabled by default in the version 1.3.x ..................... [ 25%] tests/services/test_service_tasks_domains.py ...::warning file=workdir/tests/invenio-users-resources/patched/.venv/lib/python3.14/site-packages/invenio_rest/ext.py,line=24::CSRF validation will be enabled by default in the version 1.3.x . [ 26%] tests/services/users/test_service_users.py ...::warning file=workdir/tests/invenio-users-resources/patched/.venv/lib/python3.14/site-packages/invenio_rest/ext.py,line=24::CSRF validation will be enabled by default in the version 1.3.x .......................... [ 34%] .................::warning file=workdir/tests/invenio-users-resources/patched/.venv/lib/python3.14/site-packages/cachelib/redis_base.py,line=70::Call to deprecated setex. (Use 'set' instead.) -- Deprecated since version 2.6.12. ::warning file=workdir/tests/invenio-users-resources/patched/.venv/lib/python3.14/site-packages/cachelib/redis_base.py,line=70::Call to deprecated setex. (Use 'set' instead.) -- Deprecated since version 2.6.12. ..::warning file=workdir/tests/invenio-users-resources/patched/.venv/lib/python3.14/site-packages/cachelib/redis_base.py,line=70::Call to deprecated setex. (Use 'set' instead.) -- Deprecated since version 2.6.12. .::warning file=workdir/tests/invenio-users-resources/patched/.venv/lib/python3.14/site-packages/cachelib/redis_base.py,line=70::Call to deprecated setex. (Use 'set' instead.) -- Deprecated since version 2.6.12. ...::warning file=workdir/tests/invenio-users-resources/patched/.venv/lib/python3.14/site-packages/cachelib/redis_base.py,line=70::Call to deprecated setex. (Use 'set' instead.) -- Deprecated since version 2.6.12. ::warning file=workdir/tests/invenio-users-resources/patched/.venv/lib/python3.14/site-packages/cachelib/redis_base.py,line=70::Call to deprecated setex. (Use 'set' instead.) -- Deprecated since version 2.6.12. ...........::error file=workdir/tests/invenio-users-resources/patched/tests/services/users/test_service_users.py,line=594::test_group_mutation_advances_search_revision%0A%0Aassert 0 > 0 F...........::error file=workdir/tests/invenio-users-resources/patched/tests/services/users/test_service_users.py,line=712::test_set_groups_protected_role_allowed%0A%0Aopensearchpy.exceptions.ConflictError: ConflictError(409, 'version_conflict_engine_exception', '[3]: version conflict, current version [1] is higher than the one provided [0]') F.. [ 46%] tests/services/users/test_user_moderation.py ...::warning file=workdir/tests/invenio-users-resources/patched/.venv/lib/python3.14/site-packages/invenio_rest/ext.py,line=24::CSRF validation will be enabled by default in the version 1.3.x ::warning file=workdir/tests/invenio-users-resources/patched/.venv/lib/python3.14/site-packages/cachelib/redis_base.py,line=70::Call to deprecated setex. (Use 'set' instead.) -- Deprecated since version 2.6.12. .::warning file=workdir/tests/invenio-users-resources/patched/.venv/lib/python3.14/site-packages/cachelib/redis_base.py,line=70::Call to deprecated setex. (Use 'set' instead.) -- Deprecated since version 2.6.12. .::warning file=workdir/tests/invenio-users-resources/patched/.venv/lib/python3.14/site-packages/cachelib/redis_base.py,line=70::Call to deprecated setex. (Use 'set' instead.) -- Deprecated since version 2.6.12. .::warning file=workdir/tests/invenio-users-resources/patched/.venv/lib/python3.14/site-packages/cachelib/redis_base.py,line=70::Call to deprecated setex. (Use 'set' instead.) -- Deprecated since version 2.6.12. .::warning file=workdir/tests/invenio-users-resources/patched/.venv/lib/python3.14/site-packages/cachelib/redis_base.py,line=70::Call to deprecated setex. (Use 'set' instead.) -- Deprecated since version 2.6.12. [ 48%] tests/test_invenio_users_resources.py .... [ 49%] tests/test_notifications.py ...::warning file=workdir/tests/invenio-users-resources/patched/.venv/lib/python3.14/site-packages/invenio_rest/ext.py,line=24::CSRF validation will be enabled by default in the version 1.3.x . [ 50%] tests/test_user_roles_admin.py ...::warning file=workdir/tests/invenio-users-resources/patched/.venv/lib/python3.14/site-packages/invenio_rest/ext.py,line=24::CSRF validation will be enabled by default in the version 1.3.x .. [ 52%] invenio_users_resources/__init__.py ... [ 52%] invenio_users_resources/config.py ... [ 53%] invenio_users_resources/entity_resolvers.py ... [ 54%] invenio_users_resources/ext.py ... [ 55%] invenio_users_resources/forms.py ... [ 55%] invenio_users_resources/models.py ... [ 56%] invenio_users_resources/notifications/__init__.py ... [ 57%] invenio_users_resources/notifications/filters.py ... [ 58%] invenio_users_resources/notifications/generators.py ... [ 59%] invenio_users_resources/permissions.py ... [ 59%] invenio_users_resources/proxies.py ... [ 60%] invenio_users_resources/records/__init__.py ... [ 61%] invenio_users_resources/records/api.py ... [ 62%] invenio_users_resources/records/dumpers/__init__.py ... [ 62%] invenio_users_resources/records/dumpers/email.py ... [ 63%] invenio_users_resources/records/hooks.py ... [ 64%] invenio_users_resources/records/mappings/__init__.py ... [ 65%] invenio_users_resources/records/mappings/os-v1/__init__.py ... [ 65%] invenio_users_resources/records/mappings/os-v2/__init__.py ... [ 66%] invenio_users_resources/records/mappings/v7/__init__.py ... [ 67%] invenio_users_resources/records/models.py ... [ 68%] invenio_users_resources/records/systemfields/__init__.py ... [ 69%] invenio_users_resources/resources/__init__.py ... [ 69%] invenio_users_resources/resources/domains/__init__.py ... [ 70%] invenio_users_resources/resources/domains/config.py ... [ 71%] invenio_users_resources/resources/domains/resource.py ... [ 72%] invenio_users_resources/resources/groups/__init__.py ... [ 72%] invenio_users_resources/resources/groups/config.py ... [ 73%] invenio_users_resources/resources/groups/errors.py ... [ 74%] invenio_users_resources/resources/groups/resource.py ... [ 75%] invenio_users_resources/resources/users/__init__.py ... [ 76%] invenio_users_resources/resources/users/config.py ... [ 76%] invenio_users_resources/resources/users/errors.py ... [ 77%] invenio_users_resources/resources/users/resource.py ... [ 78%] invenio_users_resources/services/__init__.py ... [ 79%] invenio_users_resources/services/common.py ... [ 79%] invenio_users_resources/services/domains/__init__.py ... [ 80%] invenio_users_resources/services/domains/components.py ... [ 81%] invenio_users_resources/services/domains/config.py ... [ 82%] invenio_users_resources/services/domains/facets.py ... [ 82%] invenio_users_resources/services/domains/service.py ... [ 83%] invenio_users_resources/services/domains/tasks.py ... [ 84%] invenio_users_resources/services/generators.py ... [ 85%] invenio_users_resources/services/groups/__init__.py ... [ 86%] invenio_users_resources/services/groups/config.py ... [ 86%] invenio_users_resources/services/groups/facets.py ... [ 87%] invenio_users_resources/services/groups/results.py ... [ 88%] invenio_users_resources/services/groups/service.py ... [ 89%] invenio_users_resources/services/groups/tasks.py ... [ 89%] invenio_users_resources/services/params.py ... [ 90%] invenio_users_resources/services/permissions.py ... [ 91%] invenio_users_resources/services/results.py ... [ 92%] invenio_users_resources/services/schemas.py ... [ 93%] invenio_users_resources/services/users/__init__.py ... [ 93%] invenio_users_resources/services/users/config.py ... [ 94%] invenio_users_resources/services/users/facets.py ... [ 95%] invenio_users_resources/services/users/lock.py ... [ 96%] invenio_users_resources/services/users/results.py ... [ 96%] invenio_users_resources/services/users/search_params.py ... [ 97%] invenio_users_resources/services/users/service.py ... [ 98%] invenio_users_resources/services/users/tasks.py ... [ 99%] invenio_users_resources/views.py ... [100%] =================================== FAILURES =================================== __________________________ test_user_groups_endpoints __________________________ client = > headers = {'accept': 'application/json', 'content-type': 'application/json'} user_moderator = user_pub = group = def test_user_groups_endpoints(client, headers, user_moderator, user_pub, group): """Manage user roles through users groups endpoints.""" client = user_moderator.login(client) res = client.get(f"/users/{user_pub.id}/groups", headers=headers) assert res.status_code == 200 assert isinstance(res.json["groups"], list) > res = client.put( f"/users/{user_pub.id}/groups", json={"groups": [" it-dep "]}, headers=headers, ) tests/resources/test_resources_users.py:241: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ .venv/lib/python3.14/site-packages/werkzeug/test.py:1172: in put return self.open(*args, **kw) ^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask/testing.py:235: in open response = super().open( .venv/lib/python3.14/site-packages/werkzeug/test.py:1116: in open response_parts = self.run_wsgi_app(request.environ, buffered=buffered) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/werkzeug/test.py:988: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/werkzeug/test.py:1264: in run_wsgi_app app_rv = app(environ, start_response) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask/app.py:1536: in __call__ return self.wsgi_app(environ, start_response) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask/app.py:1514: in wsgi_app response = self.handle_exception(e) ^^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask/app.py:1511: in wsgi_app response = self.full_dispatch_request() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask/app.py:919: in full_dispatch_request rv = self.handle_user_exception(e) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask/app.py:917: in full_dispatch_request rv = self.dispatch_request() ^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask/app.py:902: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask_resources/resources.py:65: in view return view_meth() ^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask_resources/content_negotiation.py:116: in inner_content_negotiation return f(*args, **kwargs) ^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask_resources/parsers/decorators.py:51: in inner return f(self, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask_resources/parsers/decorators.py:90: in inner return f(self, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^ invenio_users_resources/resources/users/resource.py:160: in set_groups return self._set_groups_response() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ invenio_users_resources/resources/users/resource.py:166: in _set_groups_response data = self.service.set_groups( .venv/lib/python3.14/site-packages/invenio_db/uow.py:248: in inner uow.commit() .venv/lib/python3.14/site-packages/invenio_db/uow.py:192: in commit op.on_commit(self) .venv/lib/python3.14/site-packages/invenio_records_resources/services/uow.py:137: in on_commit self._indexer.index(self._record, arguments=arguments) .venv/lib/python3.14/site-packages/invenio_indexer/api.py:176: in index return self.client.index( .venv/lib/python3.14/site-packages/opensearchpy/client/utils.py:176: in _wrapped return func(*args, params=params, headers=headers, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/opensearchpy/client/__init__.py:491: in index return self.transport.perform_request( .venv/lib/python3.14/site-packages/opensearchpy/transport.py:457: in perform_request raise e .venv/lib/python3.14/site-packages/opensearchpy/transport.py:418: in perform_request status, headers_response, data = connection.perform_request( .venv/lib/python3.14/site-packages/opensearchpy/connection/http_urllib3.py:308: in perform_request self._raise_error( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , status_code = 409 raw_data = '{"error":{"root_cause":[{"type":"version_conflict_engine_exception","reason":"[2]: version conflict, current version ... provided [0]","index":"users-user-v3.0.0-1782199650","shard":"0","index_uuid":"b0TEblJKRCKUfg95lzrc9Q"},"status":409}' content_type = 'application/json' def _raise_error( self, status_code: int, raw_data: Union[str, bytes], content_type: Optional[str] = None, ) -> None: """Locate appropriate exception and raise it.""" error_message = raw_data additional_info = None try: content_type = ( "text/plain" if content_type is None else content_type.split(";")[0].strip() ) if raw_data and content_type == "application/json": additional_info = json.loads(raw_data) error_message = additional_info.get("error", error_message) if isinstance(error_message, dict) and "type" in error_message: error_message = error_message["type"] except (ValueError, TypeError) as err: logger.warning("Undecodable raw error response from server: %s", err) > raise HTTP_EXCEPTIONS.get(status_code, TransportError)( status_code, error_message, additional_info ) E opensearchpy.exceptions.ConflictError: ConflictError(409, 'version_conflict_engine_exception', '[2]: version conflict, current version [1] is higher than the one provided [0]') .venv/lib/python3.14/site-packages/opensearchpy/connection/base.py:315: ConflictError ------------------------------ Captured log call ------------------------------- WARNING opensearch:base.py:280 PUT http://localhost:9200/users-user-v3.0.0/_doc/2?refresh=true&version=0&version_type=external_gte [status:409 request:0.006s] __________________________ test_user_groups_bulk_set ___________________________ client = > headers = {'accept': 'application/json', 'content-type': 'application/json'} user_moderator = user_pub = group = , group2 = def test_user_groups_bulk_set(client, headers, user_moderator, user_pub, group, group2): """Bulk set roles via the groups endpoint.""" client = user_moderator.login(client) > res = client.put( f"/users/{user_pub.id}/groups", json={"groups": ["it-dep", "hr-dep"]}, headers=headers, ) tests/resources/test_resources_users.py:276: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ .venv/lib/python3.14/site-packages/werkzeug/test.py:1172: in put return self.open(*args, **kw) ^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask/testing.py:235: in open response = super().open( .venv/lib/python3.14/site-packages/werkzeug/test.py:1116: in open response_parts = self.run_wsgi_app(request.environ, buffered=buffered) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/werkzeug/test.py:988: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/werkzeug/test.py:1264: in run_wsgi_app app_rv = app(environ, start_response) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask/app.py:1536: in __call__ return self.wsgi_app(environ, start_response) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask/app.py:1514: in wsgi_app response = self.handle_exception(e) ^^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask/app.py:1511: in wsgi_app response = self.full_dispatch_request() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask/app.py:919: in full_dispatch_request rv = self.handle_user_exception(e) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask/app.py:917: in full_dispatch_request rv = self.dispatch_request() ^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask/app.py:902: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask_resources/resources.py:65: in view return view_meth() ^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask_resources/content_negotiation.py:116: in inner_content_negotiation return f(*args, **kwargs) ^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask_resources/parsers/decorators.py:51: in inner return f(self, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask_resources/parsers/decorators.py:90: in inner return f(self, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^ invenio_users_resources/resources/users/resource.py:160: in set_groups return self._set_groups_response() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ invenio_users_resources/resources/users/resource.py:166: in _set_groups_response data = self.service.set_groups( .venv/lib/python3.14/site-packages/invenio_db/uow.py:248: in inner uow.commit() .venv/lib/python3.14/site-packages/invenio_db/uow.py:192: in commit op.on_commit(self) .venv/lib/python3.14/site-packages/invenio_records_resources/services/uow.py:137: in on_commit self._indexer.index(self._record, arguments=arguments) .venv/lib/python3.14/site-packages/invenio_indexer/api.py:176: in index return self.client.index( .venv/lib/python3.14/site-packages/opensearchpy/client/utils.py:176: in _wrapped return func(*args, params=params, headers=headers, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/opensearchpy/client/__init__.py:491: in index return self.transport.perform_request( .venv/lib/python3.14/site-packages/opensearchpy/transport.py:457: in perform_request raise e .venv/lib/python3.14/site-packages/opensearchpy/transport.py:418: in perform_request status, headers_response, data = connection.perform_request( .venv/lib/python3.14/site-packages/opensearchpy/connection/http_urllib3.py:308: in perform_request self._raise_error( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , status_code = 409 raw_data = '{"error":{"root_cause":[{"type":"version_conflict_engine_exception","reason":"[2]: version conflict, current version ... provided [0]","index":"users-user-v3.0.0-1782199650","shard":"0","index_uuid":"b0TEblJKRCKUfg95lzrc9Q"},"status":409}' content_type = 'application/json' def _raise_error( self, status_code: int, raw_data: Union[str, bytes], content_type: Optional[str] = None, ) -> None: """Locate appropriate exception and raise it.""" error_message = raw_data additional_info = None try: content_type = ( "text/plain" if content_type is None else content_type.split(";")[0].strip() ) if raw_data and content_type == "application/json": additional_info = json.loads(raw_data) error_message = additional_info.get("error", error_message) if isinstance(error_message, dict) and "type" in error_message: error_message = error_message["type"] except (ValueError, TypeError) as err: logger.warning("Undecodable raw error response from server: %s", err) > raise HTTP_EXCEPTIONS.get(status_code, TransportError)( status_code, error_message, additional_info ) E opensearchpy.exceptions.ConflictError: ConflictError(409, 'version_conflict_engine_exception', '[2]: version conflict, current version [1] is higher than the one provided [0]') .venv/lib/python3.14/site-packages/opensearchpy/connection/base.py:315: ConflictError ------------------------------ Captured log call ------------------------------- WARNING opensearch:base.py:280 PUT http://localhost:9200/users-user-v3.0.0/_doc/2?refresh=true&version=0&version_type=external_gte [status:409 request:0.004s] __________________________ test_user_groups_bulk_add ___________________________ client = > headers = {'accept': 'application/json', 'content-type': 'application/json'} user_moderator = user_pub = group = , group2 = def test_user_groups_bulk_add(client, headers, user_moderator, user_pub, group, group2): """Bulk add roles appends without removing existing roles.""" client = user_moderator.login(client) > client.put( f"/users/{user_pub.id}/groups", json={"groups": ["it-dep"]}, headers=headers, ) tests/resources/test_resources_users.py:300: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ .venv/lib/python3.14/site-packages/werkzeug/test.py:1172: in put return self.open(*args, **kw) ^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask/testing.py:235: in open response = super().open( .venv/lib/python3.14/site-packages/werkzeug/test.py:1116: in open response_parts = self.run_wsgi_app(request.environ, buffered=buffered) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/werkzeug/test.py:988: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/werkzeug/test.py:1264: in run_wsgi_app app_rv = app(environ, start_response) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask/app.py:1536: in __call__ return self.wsgi_app(environ, start_response) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask/app.py:1514: in wsgi_app response = self.handle_exception(e) ^^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask/app.py:1511: in wsgi_app response = self.full_dispatch_request() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask/app.py:919: in full_dispatch_request rv = self.handle_user_exception(e) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask/app.py:917: in full_dispatch_request rv = self.dispatch_request() ^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask/app.py:902: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask_resources/resources.py:65: in view return view_meth() ^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask_resources/content_negotiation.py:116: in inner_content_negotiation return f(*args, **kwargs) ^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask_resources/parsers/decorators.py:51: in inner return f(self, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask_resources/parsers/decorators.py:90: in inner return f(self, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^ invenio_users_resources/resources/users/resource.py:160: in set_groups return self._set_groups_response() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ invenio_users_resources/resources/users/resource.py:166: in _set_groups_response data = self.service.set_groups( .venv/lib/python3.14/site-packages/invenio_db/uow.py:248: in inner uow.commit() .venv/lib/python3.14/site-packages/invenio_db/uow.py:192: in commit op.on_commit(self) .venv/lib/python3.14/site-packages/invenio_records_resources/services/uow.py:137: in on_commit self._indexer.index(self._record, arguments=arguments) .venv/lib/python3.14/site-packages/invenio_indexer/api.py:176: in index return self.client.index( .venv/lib/python3.14/site-packages/opensearchpy/client/utils.py:176: in _wrapped return func(*args, params=params, headers=headers, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/opensearchpy/client/__init__.py:491: in index return self.transport.perform_request( .venv/lib/python3.14/site-packages/opensearchpy/transport.py:457: in perform_request raise e .venv/lib/python3.14/site-packages/opensearchpy/transport.py:418: in perform_request status, headers_response, data = connection.perform_request( .venv/lib/python3.14/site-packages/opensearchpy/connection/http_urllib3.py:308: in perform_request self._raise_error( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , status_code = 409 raw_data = '{"error":{"root_cause":[{"type":"version_conflict_engine_exception","reason":"[2]: version conflict, current version ... provided [0]","index":"users-user-v3.0.0-1782199650","shard":"0","index_uuid":"b0TEblJKRCKUfg95lzrc9Q"},"status":409}' content_type = 'application/json' def _raise_error( self, status_code: int, raw_data: Union[str, bytes], content_type: Optional[str] = None, ) -> None: """Locate appropriate exception and raise it.""" error_message = raw_data additional_info = None try: content_type = ( "text/plain" if content_type is None else content_type.split(";")[0].strip() ) if raw_data and content_type == "application/json": additional_info = json.loads(raw_data) error_message = additional_info.get("error", error_message) if isinstance(error_message, dict) and "type" in error_message: error_message = error_message["type"] except (ValueError, TypeError) as err: logger.warning("Undecodable raw error response from server: %s", err) > raise HTTP_EXCEPTIONS.get(status_code, TransportError)( status_code, error_message, additional_info ) E opensearchpy.exceptions.ConflictError: ConflictError(409, 'version_conflict_engine_exception', '[2]: version conflict, current version [1] is higher than the one provided [0]') .venv/lib/python3.14/site-packages/opensearchpy/connection/base.py:315: ConflictError ------------------------------ Captured log call ------------------------------- WARNING opensearch:base.py:280 PUT http://localhost:9200/users-user-v3.0.0/_doc/2?refresh=true&version=0&version_type=external_gte [status:409 request:0.005s] _________________________ test_user_groups_bulk_remove _________________________ client = > headers = {'accept': 'application/json', 'content-type': 'application/json'} user_moderator = user_pub = group = , group2 = def test_user_groups_bulk_remove( client, headers, user_moderator, user_pub, group, group2 ): """Bulk remove roles via a single request.""" client = user_moderator.login(client) > client.put( f"/users/{user_pub.id}/groups", json={"groups": ["it-dep", "hr-dep"]}, headers=headers, ) tests/resources/test_resources_users.py:321: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ .venv/lib/python3.14/site-packages/werkzeug/test.py:1172: in put return self.open(*args, **kw) ^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask/testing.py:235: in open response = super().open( .venv/lib/python3.14/site-packages/werkzeug/test.py:1116: in open response_parts = self.run_wsgi_app(request.environ, buffered=buffered) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/werkzeug/test.py:988: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/werkzeug/test.py:1264: in run_wsgi_app app_rv = app(environ, start_response) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask/app.py:1536: in __call__ return self.wsgi_app(environ, start_response) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask/app.py:1514: in wsgi_app response = self.handle_exception(e) ^^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask/app.py:1511: in wsgi_app response = self.full_dispatch_request() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask/app.py:919: in full_dispatch_request rv = self.handle_user_exception(e) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask/app.py:917: in full_dispatch_request rv = self.dispatch_request() ^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask/app.py:902: in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask_resources/resources.py:65: in view return view_meth() ^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask_resources/content_negotiation.py:116: in inner_content_negotiation return f(*args, **kwargs) ^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask_resources/parsers/decorators.py:51: in inner return f(self, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/flask_resources/parsers/decorators.py:90: in inner return f(self, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^ invenio_users_resources/resources/users/resource.py:160: in set_groups return self._set_groups_response() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ invenio_users_resources/resources/users/resource.py:166: in _set_groups_response data = self.service.set_groups( .venv/lib/python3.14/site-packages/invenio_db/uow.py:248: in inner uow.commit() .venv/lib/python3.14/site-packages/invenio_db/uow.py:192: in commit op.on_commit(self) .venv/lib/python3.14/site-packages/invenio_records_resources/services/uow.py:137: in on_commit self._indexer.index(self._record, arguments=arguments) .venv/lib/python3.14/site-packages/invenio_indexer/api.py:176: in index return self.client.index( .venv/lib/python3.14/site-packages/opensearchpy/client/utils.py:176: in _wrapped return func(*args, params=params, headers=headers, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/opensearchpy/client/__init__.py:491: in index return self.transport.perform_request( .venv/lib/python3.14/site-packages/opensearchpy/transport.py:457: in perform_request raise e .venv/lib/python3.14/site-packages/opensearchpy/transport.py:418: in perform_request status, headers_response, data = connection.perform_request( .venv/lib/python3.14/site-packages/opensearchpy/connection/http_urllib3.py:308: in perform_request self._raise_error( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , status_code = 409 raw_data = '{"error":{"root_cause":[{"type":"version_conflict_engine_exception","reason":"[2]: version conflict, current version ... provided [0]","index":"users-user-v3.0.0-1782199650","shard":"0","index_uuid":"b0TEblJKRCKUfg95lzrc9Q"},"status":409}' content_type = 'application/json' def _raise_error( self, status_code: int, raw_data: Union[str, bytes], content_type: Optional[str] = None, ) -> None: """Locate appropriate exception and raise it.""" error_message = raw_data additional_info = None try: content_type = ( "text/plain" if content_type is None else content_type.split(";")[0].strip() ) if raw_data and content_type == "application/json": additional_info = json.loads(raw_data) error_message = additional_info.get("error", error_message) if isinstance(error_message, dict) and "type" in error_message: error_message = error_message["type"] except (ValueError, TypeError) as err: logger.warning("Undecodable raw error response from server: %s", err) > raise HTTP_EXCEPTIONS.get(status_code, TransportError)( status_code, error_message, additional_info ) E opensearchpy.exceptions.ConflictError: ConflictError(409, 'version_conflict_engine_exception', '[2]: version conflict, current version [1] is higher than the one provided [0]') .venv/lib/python3.14/site-packages/opensearchpy/connection/base.py:315: ConflictError ------------------------------ Captured log call ------------------------------- WARNING opensearch:base.py:280 PUT http://localhost:9200/users-user-v3.0.0/_doc/2?refresh=true&version=0&version_type=external_gte [status:409 request:0.004s] _________________ test_group_mutation_advances_search_revision _________________ user_service = user_moderator = user_pub = group = def test_group_mutation_advances_search_revision( user_service, user_moderator, user_pub, group ): """Role-only mutations advance the revision used for search indexing.""" before_revision_id = user_service.record_cls.get_record(user_pub.id).revision_id user_service.add_group(user_moderator.identity, user_pub.id, "it-dep") after_revision_id = user_service.record_cls.get_record(user_pub.id).revision_id > assert after_revision_id > before_revision_id E assert 0 > 0 tests/services/users/test_service_users.py:594: AssertionError ____________________ test_set_groups_protected_role_allowed ____________________ app = user_service = user_moderator = user_pub = user_res = group = def test_set_groups_protected_role_allowed( app, user_service, user_moderator, user_pub, user_res, group ): """Protected roles can be managed through user-role assignment endpoints.""" user_service.set_groups(user_moderator.identity, user_pub.id, ["it-dep"]) previous = app.config.get("USERS_RESOURCES_PROTECTED_GROUP_NAMES", []) app.config["USERS_RESOURCES_PROTECTED_GROUP_NAMES"] = ["it-dep"] try: result_remove = user_service.set_groups( user_moderator.identity, user_pub.id, [] ) assert result_remove["removed"] == ["it-dep"] > result_add = user_service.set_groups( user_moderator.identity, user_res.id, ["it-dep"] ) tests/services/users/test_service_users.py:712: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ .venv/lib/python3.14/site-packages/invenio_db/uow.py:248: in inner uow.commit() .venv/lib/python3.14/site-packages/invenio_db/uow.py:192: in commit op.on_commit(self) .venv/lib/python3.14/site-packages/invenio_records_resources/services/uow.py:137: in on_commit self._indexer.index(self._record, arguments=arguments) .venv/lib/python3.14/site-packages/invenio_indexer/api.py:176: in index return self.client.index( .venv/lib/python3.14/site-packages/opensearchpy/client/utils.py:176: in _wrapped return func(*args, params=params, headers=headers, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .venv/lib/python3.14/site-packages/opensearchpy/client/__init__.py:491: in index return self.transport.perform_request( .venv/lib/python3.14/site-packages/opensearchpy/transport.py:457: in perform_request raise e .venv/lib/python3.14/site-packages/opensearchpy/transport.py:418: in perform_request status, headers_response, data = connection.perform_request( .venv/lib/python3.14/site-packages/opensearchpy/connection/http_urllib3.py:308: in perform_request self._raise_error( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , status_code = 409 raw_data = '{"error":{"root_cause":[{"type":"version_conflict_engine_exception","reason":"[3]: version conflict, current version ... provided [0]","index":"users-user-v3.0.0-1782199666","shard":"0","index_uuid":"B-zYKjpSRmijHZzFf5KoCQ"},"status":409}' content_type = 'application/json' def _raise_error( self, status_code: int, raw_data: Union[str, bytes], content_type: Optional[str] = None, ) -> None: """Locate appropriate exception and raise it.""" error_message = raw_data additional_info = None try: content_type = ( "text/plain" if content_type is None else content_type.split(";")[0].strip() ) if raw_data and content_type == "application/json": additional_info = json.loads(raw_data) error_message = additional_info.get("error", error_message) if isinstance(error_message, dict) and "type" in error_message: error_message = error_message["type"] except (ValueError, TypeError) as err: logger.warning("Undecodable raw error response from server: %s", err) > raise HTTP_EXCEPTIONS.get(status_code, TransportError)( status_code, error_message, additional_info ) E opensearchpy.exceptions.ConflictError: ConflictError(409, 'version_conflict_engine_exception', '[3]: version conflict, current version [1] is higher than the one provided [0]') .venv/lib/python3.14/site-packages/opensearchpy/connection/base.py:315: ConflictError ------------------------------ Captured log call ------------------------------- WARNING opensearch:base.py:280 PUT http://localhost:9200/users-user-v3.0.0/_doc/3?refresh=true&version=0&version_type=external_gte [status:409 request:0.003s] =============================== warnings summary =============================== tests/resources/test_resources_groups.py::test_group_create_api tests/resources/test_resources_users.py::test_read_self_serialization tests/services/test_generators.py::test_group_not_managed_generator tests/services/test_service_groups.py::test_groups_sort tests/services/test_service_tasks_domains.py::test_import_domain_blocklist tests/services/users/test_service_users.py::test_search_restricted tests/services/users/test_user_moderation.py::test_moderation_callbacks_success tests/test_notifications.py::test_user_recipient_generator tests/test_user_roles_admin.py::test_read_includes_roles /home/runner/work/rdm-14-tests/rdm-14-tests/workdir/tests/invenio-users-resources/patched/.venv/lib/python3.14/site-packages/invenio_rest/ext.py:24: FutureWarning: CSRF validation will be enabled by default in the version 1.3.x self.init_app(app) tests/resources/test_resources_groups.py: 1 warning tests/resources/test_resources_users.py: 4 warnings tests/services/users/test_service_users.py: 6 warnings tests/services/users/test_user_moderation.py: 5 warnings /home/runner/work/rdm-14-tests/rdm-14-tests/workdir/tests/invenio-users-resources/patched/.venv/lib/python3.14/site-packages/cachelib/redis_base.py:70: DeprecationWarning: Call to deprecated setex. (Use 'set' instead.) -- Deprecated since version 2.6.12. result = self._write_client.setex( -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ================================ tests coverage ================================ _______________ coverage: platform linux, python 3.14.2-final-0 ________________ Name Stmts Miss Cover Missing ------------------------------------------------------------------------------------------ invenio_users_resources/__init__.py 2 0 100% invenio_users_resources/config.py 39 0 100% invenio_users_resources/entity_resolvers.py 86 48 44% 31-40, 44-50, 54, 58, 62-63, 67-91, 103-104, 108, 112, 116, 120, 129-133, 137-142, 146-147, 157, 170-171, 175, 179, 183, 187 invenio_users_resources/ext.py 64 5 92% 111-114, 122 invenio_users_resources/forms.py 14 5 64% 25-27, 33-34 invenio_users_resources/models.py 10 4 60% 16, 20, 24, 34 invenio_users_resources/notifications/__init__.py 0 0 100% invenio_users_resources/notifications/filters.py 11 1 91% 18 invenio_users_resources/notifications/generators.py 37 15 59% 20, 42, 46-48, 56-57, 62-63, 71-72, 75-80 invenio_users_resources/permissions.py 3 0 100% invenio_users_resources/proxies.py 12 0 100% invenio_users_resources/records/__init__.py 2 0 100% invenio_users_resources/records/api.py 387 31 92% 88, 92, 101, 107, 146, 155, 157, 260-264, 285-286, 295, 302, 309, 316, 329-330, 334-335, 376, 447, 508, 545-553, 575, 589 invenio_users_resources/records/dumpers/__init__.py 2 0 100% invenio_users_resources/records/dumpers/email.py 15 0 100% invenio_users_resources/records/hooks.py 57 27 53% 18-25, 44-51, 54-61, 85, 90, 94, 100 invenio_users_resources/records/mappings/__init__.py 0 0 100% invenio_users_resources/records/mappings/os-v1/__init__.py 0 0 100% invenio_users_resources/records/mappings/os-v2/__init__.py 0 0 100% invenio_users_resources/records/mappings/v7/__init__.py 0 0 100% invenio_users_resources/records/models.py 98 6 94% 50, 81, 86, 179-181 invenio_users_resources/records/systemfields/__init__.py 76 0 100% invenio_users_resources/resources/__init__.py 4 0 100% invenio_users_resources/resources/domains/__init__.py 3 0 100% invenio_users_resources/resources/domains/config.py 11 0 100% invenio_users_resources/resources/domains/resource.py 6 0 100% invenio_users_resources/resources/groups/__init__.py 3 0 100% invenio_users_resources/resources/groups/config.py 24 0 100% invenio_users_resources/resources/groups/errors.py 8 0 100% invenio_users_resources/resources/groups/resource.py 39 1 97% 80 invenio_users_resources/resources/users/__init__.py 3 0 100% invenio_users_resources/resources/users/config.py 25 0 100% invenio_users_resources/resources/users/errors.py 4 0 100% invenio_users_resources/resources/users/resource.py 106 17 84% 47, 80, 87-92, 147-154, 171, 177-184, 212-216, 230-234 invenio_users_resources/services/__init__.py 4 0 100% invenio_users_resources/services/common.py 13 0 100% invenio_users_resources/services/domains/__init__.py 3 0 100% invenio_users_resources/services/domains/components.py 27 6 78% 45-54 invenio_users_resources/services/domains/config.py 27 0 100% invenio_users_resources/services/domains/facets.py 7 0 100% invenio_users_resources/services/domains/service.py 8 0 100% invenio_users_resources/services/domains/tasks.py 61 15 75% 20-25, 31-36, 66-68 invenio_users_resources/services/generators.py 149 13 91% 45, 62-67, 94, 103, 190, 205, 230, 281, 306 invenio_users_resources/services/groups/__init__.py 3 0 100% invenio_users_resources/services/groups/config.py 32 0 100% invenio_users_resources/services/groups/facets.py 3 0 100% invenio_users_resources/services/groups/results.py 57 4 93% 34, 54, 72, 78 invenio_users_resources/services/groups/service.py 74 12 84% 40-41, 46-47, 74-75, 99-100, 156, 162-166 invenio_users_resources/services/groups/tasks.py 21 8 62% 22-23, 29-34 invenio_users_resources/services/params.py 9 0 100% invenio_users_resources/services/permissions.py 37 0 100% invenio_users_resources/services/results.py 29 0 100% invenio_users_resources/services/schemas.py 158 10 94% 235-238, 246, 249, 252, 295, 307, 317 invenio_users_resources/services/users/__init__.py 3 0 100% invenio_users_resources/services/users/config.py 54 4 93% 70-73 invenio_users_resources/services/users/facets.py 8 0 100% invenio_users_resources/services/users/lock.py 11 0 100% invenio_users_resources/services/users/results.py 93 9 90% 15, 21-23, 33, 83, 87, 124, 130 invenio_users_resources/services/users/search_params.py 23 8 65% 32-50 invenio_users_resources/services/users/service.py 226 14 94% 142, 148-149, 158, 164-166, 178, 355, 384, 408, 431, 443, 457 invenio_users_resources/services/users/tasks.py 54 10 81% 51-52, 58-63, 103-108 invenio_users_resources/views.py 11 0 100% ------------------------------------------------------------------------------------------ TOTAL 2356 273 88% =========================== short test summary info ============================ FAILED tests/resources/test_resources_users.py::test_user_groups_endpoints - opensearchpy.exceptions.ConflictError: ConflictError(409, 'version_conflict_engine_exception', '[2]: version conflict, current version [1] is higher than the one provided [0]') FAILED tests/resources/test_resources_users.py::test_user_groups_bulk_set - opensearchpy.exceptions.ConflictError: ConflictError(409, 'version_conflict_engine_exception', '[2]: version conflict, current version [1] is higher than the one provided [0]') FAILED tests/resources/test_resources_users.py::test_user_groups_bulk_add - opensearchpy.exceptions.ConflictError: ConflictError(409, 'version_conflict_engine_exception', '[2]: version conflict, current version [1] is higher than the one provided [0]') FAILED tests/resources/test_resources_users.py::test_user_groups_bulk_remove - opensearchpy.exceptions.ConflictError: ConflictError(409, 'version_conflict_engine_exception', '[2]: version conflict, current version [1] is higher than the one provided [0]') FAILED tests/services/users/test_service_users.py::test_group_mutation_advances_search_revision - assert 0 > 0 FAILED tests/services/users/test_service_users.py::test_set_groups_protected_role_allowed - opensearchpy.exceptions.ConflictError: ConflictError(409, 'version_conflict_engine_exception', '[3]: version conflict, current version [1] is higher than the one provided [0]') ============ 6 failed, 382 passed, 25 warnings in 67.50s (0:01:07) ============= 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-rabbitmq-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-postgresql-1 Removed 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-rabbitmq-1 Stopped Container docker_services_cli-rabbitmq-1 Removing Container docker_services_cli-rabbitmq-1 Removed Network docker_services_cli_default Removing Network docker_services_cli_default Removed