def as_dict(s): return MessageFromExc()(type(error2), error2, None)
def message_from_exc(exc_type, exc, tb): if hasattr(exc, "as_dict"): return {"error_code": exc_type.__name__, "error": exc.as_dict()} else: return MessageFromExc()(exc_type, exc, tb)
assert json.loads(got) == expected it "hexlifies bytes objects": val = str(uuid.uuid1()).replace("-", "") unhexlified = binascii.unhexlify(val) thing = {"status": 302, "thing": unhexlified} got = json.dumps(thing, default=reprer) expected = {"status": 302, "thing": val} assert json.loads(got) == expected describe "MessageFromExc": it "returns the kwargs from a Finished": error = Finished(status=418, one=1) info = MessageFromExc()(Finished, error, None) assert info == {"status": 418, "one": 1} it "uses process if not a finished": message_from_exc = MessageFromExc() exc_type = mock.Mock(name="exc_type") exc = mock.Mock(nme="exc") tb = mock.Mock(name="tb") info = mock.Mock(name="info") process = mock.Mock(name="process", return_value=info) exc = mock.Mock(name="exc") with mock.patch.object(message_from_exc, "process", process): assert message_from_exc(exc_type, exc, tb) is info
def initialize(self, *args, **kwargs): super().initialize(*args, **kwargs) self.reprer = better_reprer self.message_from_exc = MessageFromExc()
def initialize(self, *args, **kwargs): super().initialize(*args, **kwargs) self.reprer = better_reprer self.message_from_exc = MessageFromExc( see_exception=self.see_returned_exception)