Esempio n. 1
0
    def from_xml(xml):
        """Creates a Resource from a cibadmin XML string.

        :param xml: The XML to parse
        """

        res_id = xml.get("id")
        state = utils.get_state(res_id)

        attributes = dict((el.get("name"), el.get("value")) for el in pq(xml).find("nvpair"))

        operations = dict(
            (el.get("name"), {"interval": el.get("interval"), "timeout": el.get("timeout")})
            for el in pq(xml).find("op")
        )

        return Resource(
            name=res_id,
            cls=xml.get("class"),
            provider=xml.get("provider"),
            type=xml.get("type"),
            state=state,
            attributes=attributes,
            operations=operations,
        )
Esempio n. 2
0
    def test_get_state(self):
        # Existing resources
        self.assertEqual('Started', utils.get_state('Resource1'))
        self.assertEqual('Stopped', utils.get_state('Resource2'))
        self.assertEqual('Started', utils.get_state('Resource3'))
        self.assertEqual('Stopped', utils.get_state('Resource4'))

        # Non-existent resources
        self.assertEqual(None, utils.get_state('Resource0'))
        self.assertEqual(None, utils.get_state('Resource5'))