mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2025-08-02 11:10:18 +03:00
Add unpickling tests for RPCErrors
This commit is contained in:
parent
879dcb0a95
commit
b54716c2ef
35
tests/telethon/test_pickle.py
Normal file
35
tests/telethon/test_pickle.py
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
import pickle
|
||||||
|
|
||||||
|
from telethon.errors import RPCError, BadRequestError, FileIdInvalidError, NetworkMigrateError
|
||||||
|
|
||||||
|
|
||||||
|
def _assert_equality(error, unpickled_error):
|
||||||
|
assert error.code == unpickled_error.code
|
||||||
|
assert error.message == unpickled_error.message
|
||||||
|
assert type(error) == type(unpickled_error)
|
||||||
|
assert str(error) == str(unpickled_error)
|
||||||
|
|
||||||
|
|
||||||
|
def test_base_rpcerror_pickle():
|
||||||
|
error = RPCError("request", "message", 123)
|
||||||
|
unpickled_error = pickle.loads(pickle.dumps(error))
|
||||||
|
_assert_equality(error, unpickled_error)
|
||||||
|
|
||||||
|
|
||||||
|
def test_rpcerror_pickle():
|
||||||
|
error = BadRequestError("request", "BAD_REQUEST", 400)
|
||||||
|
unpickled_error = pickle.loads(pickle.dumps(error))
|
||||||
|
_assert_equality(error, unpickled_error)
|
||||||
|
|
||||||
|
|
||||||
|
def test_fancy_rpcerror_pickle():
|
||||||
|
error = FileIdInvalidError("request")
|
||||||
|
unpickled_error = pickle.loads(pickle.dumps(error))
|
||||||
|
_assert_equality(error, unpickled_error)
|
||||||
|
|
||||||
|
|
||||||
|
def test_fancy_rpcerror_capture_pickle():
|
||||||
|
error = NetworkMigrateError(request="request", capture=5)
|
||||||
|
unpickled_error = pickle.loads(pickle.dumps(error))
|
||||||
|
_assert_equality(error, unpickled_error)
|
||||||
|
assert error.new_dc == unpickled_error.new_dc
|
Loading…
Reference in New Issue
Block a user