def test_invalid_xml(self): mock_runner = mock.MagicMock(spec_set=CommandRunner) mock_runner.run.return_value = ("invalid XML", "", 0) self.assertRaises( lib_ra.InvalidMetadataFormat, lambda: lib_ra._get_pcmk_advanced_stonith_parameters(mock_runner) ) mock_runner.run.assert_called_once_with( [settings.stonithd_binary, "metadata"] )
def test_failed_to_get_xml(self): mock_runner = mock.MagicMock(spec_set=CommandRunner) mock_runner.run.return_value = ("", "some error", 1) self.assert_raises( lib_ra.UnableToGetAgentMetadata, lambda: lib_ra._get_pcmk_advanced_stonith_parameters(mock_runner), {"agent": "stonithd"} ) mock_runner.run.assert_called_once_with( [settings.stonithd_binary, "metadata"] )
def test_all_advanced(self): xml = """ <resource-agent> <parameters> <parameter name="test_param" required="0"> <longdesc> Long description </longdesc> <shortdesc> Advanced use only: short description </shortdesc> <content type="test_type" default="default_value" /> </parameter> <parameter name="another parameter"/> </parameters> </resource-agent> """ mock_runner = mock.MagicMock(spec_set=CommandRunner) mock_runner.run.return_value = (xml, "", 0) self.assertEqual( [ { "name": "test_param", "longdesc": "Advanced use only: short description\nLong " "description", "shortdesc": "Advanced use only: short description", "type": "test_type", "required": False, "default": "default_value", "advanced": True }, { "name": "another parameter", "longdesc": "", "shortdesc": "", "type": "string", "required": False, "default": None, "advanced": False } ], lib_ra._get_pcmk_advanced_stonith_parameters(mock_runner) ) mock_runner.run.assert_called_once_with( [settings.stonithd_binary, "metadata"] )