예제 #1
0
 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")
예제 #2
0
 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")
예제 #3
0
 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")
예제 #4
0
 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