Example #1
0
    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"]
        )
Example #2
0
    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"]
        )
Example #3
0
 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"]
     )