From 991abb1895db4e16abd27ebb703b9c730182e058 Mon Sep 17 00:00:00 2001 From: "Blake J. Harnden" Date: Fri, 17 Aug 2018 08:25:57 -0700 Subject: [PATCH] added test for utils.make_tuple_fromstr and fixed send_objects to ignore checking nodes for all configs, since that is not always the case --- daemon/core/corehandlers.py | 8 ++++---- daemon/core/misc/utils.py | 2 +- daemon/tests/test_utils.py | 22 ++++++++++++++++++++++ 3 files changed, 27 insertions(+), 5 deletions(-) create mode 100644 daemon/tests/test_utils.py diff --git a/daemon/core/corehandlers.py b/daemon/core/corehandlers.py index ecd4f348..3efb7a23 100644 --- a/daemon/core/corehandlers.py +++ b/daemon/core/corehandlers.py @@ -1697,16 +1697,16 @@ class CoreHandler(SocketServer.BaseRequestHandler): # send mobility model info for node_id in self.session.mobility.nodes(): - node = self.session.get_object(node_id) - for model_class, config in self.session.mobility.get_models(node): + for model_name, config in self.session.mobility.get_all_configs(node_id).iteritems(): + model_class = self.session.mobility.models[model_name] logger.debug("mobility config: node(%s) class(%s) values(%s)", node_id, model_class, config) config_data = ConfigShim.config_data(0, node_id, ConfigFlags.UPDATE.value, model_class, config) self.session.broadcast_config(config_data) # send emane model info for node_id in self.session.emane.nodes(): - node = self.session.get_object(node_id) - for model_class, config in self.session.emane.get_models(node): + for model_name, config in self.session.emane.get_all_configs(node_id).iteritems(): + model_class = self.session.emane.models[model_name] logger.debug("emane config: node(%s) class(%s) values(%s)", node_id, model_class, config) config_data = ConfigShim.config_data(0, node_id, ConfigFlags.UPDATE.value, model_class, config) self.session.broadcast_config(config_data) diff --git a/daemon/core/misc/utils.py b/daemon/core/misc/utils.py index b97fe98b..3ad527eb 100644 --- a/daemon/core/misc/utils.py +++ b/daemon/core/misc/utils.py @@ -126,7 +126,7 @@ def make_tuple_fromstr(s, value_type): """ Create a tuple from a string. - :param str s: string to convert to a tuple + :param str|unicode s: string to convert to a tuple :param value_type: type of values to be contained within tuple :return: tuple from string :rtype: tuple diff --git a/daemon/tests/test_utils.py b/daemon/tests/test_utils.py new file mode 100644 index 00000000..997dce0f --- /dev/null +++ b/daemon/tests/test_utils.py @@ -0,0 +1,22 @@ +from core.misc import utils + + +class TestUtils: + def test_make_tuple_fromstr(self): + # given + no_args = "()" + one_arg = "('one',)" + two_args = "('one', 'two')" + unicode_args = u"('one', 'two', 'three')" + + # when + no_args = utils.make_tuple_fromstr(no_args, str) + one_arg = utils.make_tuple_fromstr(one_arg, str) + two_args = utils.make_tuple_fromstr(two_args, str) + unicode_args = utils.make_tuple_fromstr(unicode_args, str) + + # then + assert no_args == () + assert len(one_arg) == 1 + assert len(two_args) == 2 + assert len(unicode_args) == 3