Exemplo n.º 1
0
 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))
Exemplo n.º 2
0
    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))