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, )
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'))