From 124d655dc67dc72ffec1a19217aca3cf92a16922 Mon Sep 17 00:00:00 2001 From: Blake Harnden <32446120+bharnden@users.noreply.github.com> Date: Mon, 11 May 2020 12:41:57 -0700 Subject: [PATCH] fixed issue when sorting hook when saving to xml, due to enum refactoring, updated test case to hit this potential issue in the future --- daemon/core/xml/corexml.py | 2 +- daemon/tests/test_xml.py | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/daemon/core/xml/corexml.py b/daemon/core/xml/corexml.py index 891db1cd..deedd139 100644 --- a/daemon/core/xml/corexml.py +++ b/daemon/core/xml/corexml.py @@ -312,7 +312,7 @@ class CoreXmlWriter: def write_session_hooks(self) -> None: # hook scripts hooks = etree.Element("session_hooks") - for state in sorted(self.session._hooks.keys()): + for state in sorted(self.session._hooks, key=lambda x: x.value): for file_name, data in self.session._hooks[state]: hook = etree.SubElement(hooks, "hook") add_attribute(hook, "name", file_name) diff --git a/daemon/tests/test_xml.py b/daemon/tests/test_xml.py index 783e2722..04f1192d 100644 --- a/daemon/tests/test_xml.py +++ b/daemon/tests/test_xml.py @@ -17,12 +17,17 @@ class TestXml: :param session: session for test :param tmpdir: tmpdir to create data in """ - # create hook + # create hooks file_name = "runtime_hook.sh" data = "#!/bin/sh\necho hello" state = EventTypes.RUNTIME_STATE session.add_hook(state, file_name, None, data) + file_name = "instantiation_hook.sh" + data = "#!/bin/sh\necho hello" + state = EventTypes.INSTANTIATION_STATE + session.add_hook(state, file_name, None, data) + # save xml xml_file = tmpdir.join("session.xml") file_path = xml_file.strpath