def test_unmatched(self): """ `PolicyExceptionDetail.from_element` returns ``None`` if the element's tag is not a policy exception detail. """ elem = L.WhatIsThis(L.foo('a'), L.bar('b')) self.assertIdentical(None, PolicyExceptionDetail.from_element(elem))
def test_expected_faults(self): """ `SoapFault.from_element` creates an instance of a specified `SoapFault` subclass if a fault detail of a recognised type occurs. """ detail = [ L.WhatIsThis(L.foo('a'), L.bar('b')), L.ToyFaultDetail(L.foo('c'), L.bar('d')) ] fault = SoapFault.from_element(_make_fault('soapenv:Client', 'message', 'actor', detail=detail), expected_faults=[ToyFault]) self.assertEqual(('soapenv:Client', 'message', 'actor'), (fault.code, fault.string, fault.actor)) parsed_detail = fault.parsed_detail self.assertEqual(('c', 'd'), (parsed_detail.foo, parsed_detail.bar))