def test_illegal_bes_state(self): xml = """ <bes:ActivityStatus xmlns:bes="http://schemas.ggf.org/bes/2006/08/bes-activity" state="IllegalBESState"/>""" try: bes_elem = etree.fromstring(xml) bes.toXBETaskState(bes_elem) except ValueError: pass else: self.fail("ValueError expected, illegal bes state")
def test_legal_pending_no_substate(self): xml = """ <bes:ActivityStatus xmlns:bes="http://schemas.ggf.org/bes/2006/08/bes-activity" state="Pending"/>""" bes_elem = etree.fromstring(xml) state = bes.toXBETaskState(bes_elem) self.assertEqual(state, "Pending")
def test_legal_with_xbe_substate(self): xml = """ <bes:ActivityStatus xmlns:bes="http://schemas.ggf.org/bes/2006/08/bes-activity" state="Running"> <ns0:Instance-Starting xmlns:ns0="http://www.example.com/schemas/xbe/2007/01/xbe"/> </bes:ActivityStatus> """ bes_elem = etree.fromstring(xml) state = bes.toXBETaskState(bes_elem) self.assertEqual(state, "Running:Instance-Starting")
def from_xml(cls, root, hdr, body): status_list = cls() entries = body.find(cls.tag) for entry in entries.findall(XBE("Status")): task_id = entry.attrib["task-id"] state = bes.toXBETaskState(entry.find(BES_ACTIVITY("ActivityStatus"))) meta = parse_dictionary(entry.find(XBE("Meta/Dict")), {}) status_list.add(task_id, state, meta) return status_list