The create_demo_record fixture is failing because it isn't configured with information to populate the mdps:software_repository_url custom field we added.
We need to decide on a course of action:
- Do we want to, and can, disable this fixture so that it doesn't error during local development.
OR
- Investigate how to update the fixture to auto install test records that conform to the needs of our custom fields. For local development, having this fixture is helpful so that we have test records automatically inserted for us.
OR
- Ignore the issue as it isn't technically breaking our installation.
Error log when invenio-cli run is executed:
...
[2025-08-18 14:14:15,847: ERROR/ForkPoolWorker-10] Task invenio_rdm_records.fixtures.tasks.create_demo_record[fdab46af-47c0-43a1-988a-6f9776cbff2c] raised unexpected: ValidationError({'custom_fields': {'mdps:software_repository_url': ['You must provide the software repository URL.']}})
Traceback (most recent call last):
File "/Users/anatha/Projects/Unity/Repos/mdps-application-catalog/.venv/lib/python3.12/site-packages/celery/app/trace.py", line 453, in trace_task
R = retval = fun(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^
File "/Users/anatha/Projects/Unity/Repos/mdps-application-catalog/.venv/lib/python3.12/site-packages/flask_celeryext/app.py", line 71, in __call__
return Task.__call__(self, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/anatha/Projects/Unity/Repos/mdps-application-catalog/.venv/lib/python3.12/site-packages/celery/app/trace.py", line 736, in __protected_call__
return self.run(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/anatha/Projects/Unity/Repos/mdps-application-catalog/.venv/lib/python3.12/site-packages/invenio_rdm_records/fixtures/tasks.py", line 80, in create_demo_record
service.publish(id_=draft.id, identity=identity)
File "/Users/anatha/Projects/Unity/Repos/mdps-application-catalog/.venv/lib/python3.12/site-packages/invenio_db/uow.py", line 251, in inner
res = f(self, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/anatha/Projects/Unity/Repos/mdps-application-catalog/.venv/lib/python3.12/site-packages/invenio_rdm_records/services/services.py", line 432, in publish
return super().publish(identity, id_, uow=uow, expand=expand)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/anatha/Projects/Unity/Repos/mdps-application-catalog/.venv/lib/python3.12/site-packages/invenio_db/uow.py", line 255, in inner
return f(self, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/anatha/Projects/Unity/Repos/mdps-application-catalog/.venv/lib/python3.12/site-packages/invenio_drafts_resources/services/records/service.py", line 410, in publish
self._validate_draft(identity, draft)
File "/Users/anatha/Projects/Unity/Repos/mdps-application-catalog/.venv/lib/python3.12/site-packages/invenio_drafts_resources/services/records/service.py", line 626, in _validate_draft
self.schema.load(
File "/Users/anatha/Projects/Unity/Repos/mdps-application-catalog/.venv/lib/python3.12/site-packages/invenio_records_resources/services/records/schema.py", line 90, in load
valid_data = self.schema(context=context, **schema_args).load(data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/anatha/Projects/Unity/Repos/mdps-application-catalog/.venv/lib/python3.12/site-packages/marshmallow/schema.py", line 792, in load
return self._do_load(
^^^^^^^^^^^^^^
File "/Users/anatha/Projects/Unity/Repos/mdps-application-catalog/.venv/lib/python3.12/site-packages/marshmallow/schema.py", line 999, in _do_load
raise exc
marshmallow.exceptions.ValidationError: {'custom_fields': {'mdps:software_repository_url': ['You must provide the software repository URL.']}}
...
The
create_demo_recordfixture is failing because it isn't configured with information to populate themdps:software_repository_urlcustom field we added.We need to decide on a course of action:
OR
OR
Error log when
invenio-cli runis executed:... [2025-08-18 14:14:15,847: ERROR/ForkPoolWorker-10] Task invenio_rdm_records.fixtures.tasks.create_demo_record[fdab46af-47c0-43a1-988a-6f9776cbff2c] raised unexpected: ValidationError({'custom_fields': {'mdps:software_repository_url': ['You must provide the software repository URL.']}}) Traceback (most recent call last): File "/Users/anatha/Projects/Unity/Repos/mdps-application-catalog/.venv/lib/python3.12/site-packages/celery/app/trace.py", line 453, in trace_task R = retval = fun(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^ File "/Users/anatha/Projects/Unity/Repos/mdps-application-catalog/.venv/lib/python3.12/site-packages/flask_celeryext/app.py", line 71, in __call__ return Task.__call__(self, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/anatha/Projects/Unity/Repos/mdps-application-catalog/.venv/lib/python3.12/site-packages/celery/app/trace.py", line 736, in __protected_call__ return self.run(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/anatha/Projects/Unity/Repos/mdps-application-catalog/.venv/lib/python3.12/site-packages/invenio_rdm_records/fixtures/tasks.py", line 80, in create_demo_record service.publish(id_=draft.id, identity=identity) File "/Users/anatha/Projects/Unity/Repos/mdps-application-catalog/.venv/lib/python3.12/site-packages/invenio_db/uow.py", line 251, in inner res = f(self, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/anatha/Projects/Unity/Repos/mdps-application-catalog/.venv/lib/python3.12/site-packages/invenio_rdm_records/services/services.py", line 432, in publish return super().publish(identity, id_, uow=uow, expand=expand) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/anatha/Projects/Unity/Repos/mdps-application-catalog/.venv/lib/python3.12/site-packages/invenio_db/uow.py", line 255, in inner return f(self, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/anatha/Projects/Unity/Repos/mdps-application-catalog/.venv/lib/python3.12/site-packages/invenio_drafts_resources/services/records/service.py", line 410, in publish self._validate_draft(identity, draft) File "/Users/anatha/Projects/Unity/Repos/mdps-application-catalog/.venv/lib/python3.12/site-packages/invenio_drafts_resources/services/records/service.py", line 626, in _validate_draft self.schema.load( File "/Users/anatha/Projects/Unity/Repos/mdps-application-catalog/.venv/lib/python3.12/site-packages/invenio_records_resources/services/records/schema.py", line 90, in load valid_data = self.schema(context=context, **schema_args).load(data) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/anatha/Projects/Unity/Repos/mdps-application-catalog/.venv/lib/python3.12/site-packages/marshmallow/schema.py", line 792, in load return self._do_load( ^^^^^^^^^^^^^^ File "/Users/anatha/Projects/Unity/Repos/mdps-application-catalog/.venv/lib/python3.12/site-packages/marshmallow/schema.py", line 999, in _do_load raise exc marshmallow.exceptions.ValidationError: {'custom_fields': {'mdps:software_repository_url': ['You must provide the software repository URL.']}} ...