diff --git a/solar/core/resource/virtual_resource.py b/solar/core/resource/virtual_resource.py index b12a07f4..5cf10b44 100644 --- a/solar/core/resource/virtual_resource.py +++ b/solar/core/resource/virtual_resource.py @@ -276,7 +276,7 @@ def parse_list_input(r_input, args): c = parse_connection(r_input, arg) connections.append(c) else: - add_assignment(assignments, arg) + add_assignment(assignments, r_input, arg) return connections, assignments diff --git a/solar/test/test_virtual_resource.py b/solar/test/test_virtual_resource.py index 997040b6..ec870095 100644 --- a/solar/test/test_virtual_resource.py +++ b/solar/test/test_virtual_resource.py @@ -202,6 +202,19 @@ def test_parse_connection_disable_events(): assert correct_connection == connection +def test_parse_list_of_connected_dicts(): + inputs = {'list': [ + {'key': 'emitter1::key'}, + {'key': 'emitter2::key'}]} + connections, assignments = vr.parse_inputs(inputs) + assert assignments == {} + assert connections == [ + {'child_input': 'list:key', 'parent_input': 'key', + 'parent': 'emitter1', 'events': None}, + {'child_input': 'list:key', 'parent_input': 'key', + 'parent': 'emitter2', 'events': None}] + + def test_setting_location(tmpdir): # XXX: make helper for it base_path = os.path.join(