diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 06:48:59 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 06:48:59 +0000 |
commit | d835b2cae8abc71958b69362162e6a70c3d7ef63 (patch) | |
tree | 81052e3d2ce3e1bcda085f73d925e9d6257dec15 /test/unittests/test_xmlutil.py | |
parent | Initial commit. (diff) | |
download | crmsh-upstream.tar.xz crmsh-upstream.zip |
Adding upstream version 4.6.0.upstream/4.6.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'test/unittests/test_xmlutil.py')
-rw-r--r-- | test/unittests/test_xmlutil.py | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/test/unittests/test_xmlutil.py b/test/unittests/test_xmlutil.py new file mode 100644 index 0000000..48393bf --- /dev/null +++ b/test/unittests/test_xmlutil.py @@ -0,0 +1,61 @@ +import unittest + +try: + from unittest import mock +except ImportError: + import mock + +from crmsh import xmlutil, constants + + +class TestCrmMonXmlParser(unittest.TestCase): + """ + Unitary tests for crmsh.xmlutil.CrmMonXmlParser + """ + @mock.patch('crmsh.sh.cluster_shell') + def setUp(self, mock_cluster_shell): + """ + Test setUp. + """ + data = ''' +<data> + <nodes> + <node name="tbw-1" id="1084783148" online="true" standby="true" standby_onfail="false" maintenance="false" pending="false" unclean="false" shutdown="false" expected_up="true" is_dc="true" resources_running="3" type="member"/> + <node name="tbw-2" id="1084783312" online="false" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" shutdown="false" expected_up="true" is_dc="false" resources_running="2" type="member"/> + </nodes> + <resources> + <resource id="ocfs2-dlm" resource_agent="ocf::pacemaker:controld" role="Started" active="true" orphaned="false" blocked="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1"> + <node name="tbw-2" id="1084783312" cached="true"/> + </resource> + <resource id="ocfs2-clusterfs" resource_agent="ocf::heartbeat:Filesystem" role="Started" active="true" orphaned="false" blocked="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1"> + <node name="tbw-2" id="1084783312" cached="true"/> + </resource> + </resources> +</data> + ''' + mock_cluster_shell().get_rc_stdout_stderr_without_input.return_value = (0, data, '') + self.parser_inst = xmlutil.CrmMonXmlParser() + + def test_is_node_online(self): + assert self.parser_inst.is_node_online("tbw-1") is True + assert self.parser_inst.is_node_online("tbw-2") is False + + def test_get_node_list(self): + assert self.parser_inst.get_node_list("standby") == ['tbw-1'] + assert self.parser_inst.get_node_list("online") == ['tbw-2'] + + def test_is_resource_configured(self): + assert self.parser_inst.is_resource_configured("test") is False + assert self.parser_inst.is_resource_configured("ocf::heartbeat:Filesystem") is True + + def test_is_any_resource_running(self): + assert self.parser_inst.is_any_resource_running() is True + + def test_is_resource_started(self): + assert self.parser_inst.is_resource_started("test") is False + assert self.parser_inst.is_resource_started("ocfs2-clusterfs") is True + assert self.parser_inst.is_resource_started("ocf::pacemaker:controld") is True + + def test_get_resource_id_list_via_type(self): + assert self.parser_inst.get_resource_id_list_via_type("test") == [] + assert self.parser_inst.get_resource_id_list_via_type("ocf::pacemaker:controld")[0] == "ocfs2-dlm" |