diff --git a/swh/scheduler/model.py b/swh/scheduler/model.py --- a/swh/scheduler/model.py +++ b/swh/scheduler/model.py @@ -145,7 +145,7 @@ type=str, validator=[type_validator()], metadata={"primary_key": True} ) extra_loader_arguments = attr.ib( - type=Dict[str, str], validator=[type_validator()], factory=dict + type=Dict[str, Any], validator=[type_validator()], factory=dict ) last_update = attr.ib( diff --git a/swh/scheduler/tests/test_model.py b/swh/scheduler/tests/test_model.py --- a/swh/scheduler/tests/test_model.py +++ b/swh/scheduler/tests/test_model.py @@ -106,11 +106,13 @@ "arguments": {"args": [], "kwargs": {"url": "http://example.com/"}}, } + loader_args = {"foo": "bar", "baz": {"foo": "bar"}} + origin_w_args = model.ListedOrigin( lister_id=uuid.uuid4(), url="http://example.com/svn/", visit_type="svn", - extra_loader_arguments={"foo": "bar"}, + extra_loader_arguments=loader_args, ) task_w_args = origin_w_args.as_task_dict() @@ -118,6 +120,6 @@ "type": "load-svn", "arguments": { "args": [], - "kwargs": {"url": "http://example.com/svn/", "foo": "bar"}, + "kwargs": {"url": "http://example.com/svn/", **loader_args}, }, }