Skip to content
Snippets Groups Projects
Commit 3041fc0b authored by Viktor Vorobev's avatar Viktor Vorobev
Browse files

Merged in NRRPLT-8986-override-string-quotes (pull request #9)

[NRRPLT-8986] npr-core overridden parameters are double quoted

* [NRRPLT-8986] Add escaped double quotest to the overriding parameters

* [NRRPLT-8986] Fix tests

* [NRRPLT-8986] Use double quotes in single quotes instead of escaping them.


Approved-by: Ugo Albanese
parent 8328ad8d
No related branches found
No related tags found
No related merge requests found
......@@ -85,15 +85,15 @@ class NrpCoreWrapper:
data_engine_conf_prefix_str: str = f"EngineConfigs.{data_engine_index}"
conf_overrides: List[str] = [""] # empty string to ease string joining with str.join()
conf_overrides.append(f"{data_engine_conf_prefix_str}.simulationID={sim_id}")
conf_overrides.append(f'{data_engine_conf_prefix_str}.simulationID="{sim_id}"')
# We override the MQTTBroker address if specified in workspace.Settings via Env Vars
if not Settings.is_mqtt_broker_default:
mqtt_address_str = f"{Settings.mqtt_broker_host}:{Settings.mqtt_broker_port}"
conf_overrides.append(f"{data_engine_conf_prefix_str}.MQTTBroker={mqtt_address_str}")
conf_overrides.append(f'{data_engine_conf_prefix_str}.MQTTBroker="{mqtt_address_str}"')
# override MQTTPrefix (specified in workspace.Settings via Env Var) in any case (set/empty string)
conf_overrides.append(f'{data_engine_conf_prefix_str}.MQTTPrefix={Settings.mqtt_topics_prefix}')
conf_overrides.append(f'{data_engine_conf_prefix_str}.MQTTPrefix="{Settings.mqtt_topics_prefix}"')
conf_overrides_str = ' -o '.join(conf_overrides).strip()
......
......@@ -93,11 +93,11 @@ class TestNrpCoreWrapper(unittest.TestCase):
engine_configs_arg = "EngineConfigs"
sim_id = "3"
field_sep = "."
args_to_override_dict = {"simulationID" : "42",
"MQTTBroker": f"{self.settings_mock.mqtt_broker_host}:{self.settings_mock.mqtt_broker_port}",
"MQTTPrefix": self.settings_mock.mqtt_topics_prefix}
args_to_override_dict = {"simulationID": '"42"',
"MQTTBroker": f'"{self.settings_mock.mqtt_broker_host}:{self.settings_mock.mqtt_broker_port}"',
"MQTTPrefix": f'"{self.settings_mock.mqtt_topics_prefix}"'}
args_to_override_mappings = [f"{k}={v}" for k,v in args_to_override_dict.items()]
args_to_override_mappings = [f"{k}={v}" for k, v in args_to_override_dict.items()]
#e.g. -o EngineConfigs.3.simulationID=42 -o EngineConfigs.3.MQTTBroker=localhost_mock:4242 -o EngineConfigs.3.MQTTPrefix='
args_to_override_str = " ".join([f"{engine_param_override_arg} {field_sep.join([engine_configs_arg, sim_id, args_to_override_mapping])}"
......@@ -118,7 +118,7 @@ class TestNrpCoreWrapper(unittest.TestCase):
paused_event=self.paused_event_mock,
stopped_event=self.stopped_event_mock)
mqtt_prefix_arg = '-o EngineConfigs.3.MQTTPrefix=mqtt_prefix'
mqtt_prefix_arg = '-o EngineConfigs.3.MQTTPrefix="mqtt_prefix"'
self.assertIn(mqtt_prefix_arg, self.nrp_core_class_mock.call_args.kwargs["args"])
def test_init_topics_empty_prefix(self):
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment