mirror of
https://github.com/gentoo-mirror/guru.git
synced 2025-04-20 00:08:58 -04:00
dev-python/python-telegram-bot: add 20.3
Signed-off-by: Pedro Arizmendi <dwosky@pm.me>
This commit is contained in:
parent
765b46a436
commit
9b82b2883c
@ -1,2 +1,3 @@
|
||||
DIST python-telegram-bot-13.14.tar.gz 2282098 BLAKE2B 549c87737585f3b2b4bae9f9430fcf8dbaf4f9048013f623b5ef910534a0c70792e36eedffa707b4ff68d6de53c69d4befe64618fc8944c35c3efe680294c4a9 SHA512 859d9852feaaf147b608c1ef4e5f388c345f7efcd699a828d690b110fb499cb9391a51bafe8e0b533d106dccf038a4c845fa13c0dab12bb7792dffe5d059af27
|
||||
DIST python-telegram-bot-20.2.tar.gz 1940084 BLAKE2B a575f7ea616e29c32f3773adc66153ddbe4563420697d5eb2dcb1ad7df72d5ea348b0900552d65a91fdfe9c4d65c4fc1d43e9e5e7bb18d5943ae0d329878a6a0 SHA512 1d25a7c0c8b97c3292af364f1c9f94289de340d19587f2d43817f36bd89c3862fe6c1cf58b68dcdfa5aca6a94acb8da99bb49a9f4ad76e3a61b3b59810dae6e5
|
||||
DIST python-telegram-bot-20.3.tar.gz 1957466 BLAKE2B 47e68846bb6c092648aa2bcd53289f7ac78d7335a8f84fd6a1c6440ee8b38c150f2e2df56f537e0de9e01af3c98a49fd0a8d8771c15ebd9be1658b0ee17a355b SHA512 6594eb991a14acdd247505b904ca2bd5022ef8abe4b45b57218508fa53de765a6a9e05c78997723a8385b45a0950e87dc102264ed3338eed9d569d1eb596e1f9
|
||||
|
@ -0,0 +1,704 @@
|
||||
--- a/tests/_files/test_animation.py
|
||||
+++ b/tests/_files/test_animation.py
|
||||
@@ -69,11 +69,13 @@ class TestAnimationBase:
|
||||
|
||||
|
||||
class TestAnimationWithoutRequest(TestAnimationBase):
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_slot_behaviour(self, animation):
|
||||
for attr in animation.__slots__:
|
||||
assert getattr(animation, attr, "err") != "err", f"got extra slot '{attr}'"
|
||||
assert len(mro_slots(animation)) == len(set(mro_slots(animation))), "duplicate slot"
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_creation(self, animation):
|
||||
assert isinstance(animation, Animation)
|
||||
assert isinstance(animation.file_id, str)
|
||||
@@ -81,6 +83,7 @@ class TestAnimationWithoutRequest(TestAnimationBase):
|
||||
assert animation.file_id
|
||||
assert animation.file_unique_id
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_expected_values(self, animation):
|
||||
assert animation.mime_type == self.mime_type
|
||||
assert animation.file_name.startswith("game.gif") == self.file_name.startswith("game.gif")
|
||||
@@ -98,6 +101,7 @@ class TestAnimationWithoutRequest(TestAnimationBase):
|
||||
assert animation.thumb is animation.thumbnail
|
||||
check_thumb_deprecation_warnings_for_args_and_attrs(recwarn, __file__)
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_de_json(self, bot, animation):
|
||||
json_dict = {
|
||||
"file_id": self.animation_file_id,
|
||||
@@ -118,6 +122,7 @@ class TestAnimationWithoutRequest(TestAnimationBase):
|
||||
assert animation.mime_type == self.mime_type
|
||||
assert animation.file_size == self.file_size
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_to_dict(self, animation):
|
||||
animation_dict = animation.to_dict()
|
||||
|
||||
@@ -187,6 +192,7 @@ class TestAnimationWithoutRequest(TestAnimationBase):
|
||||
finally:
|
||||
bot._local_mode = False
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
async def test_send_with_animation(self, monkeypatch, bot, chat_id, animation):
|
||||
async def make_assertion(url, request_data: RequestData, *args, **kwargs):
|
||||
return request_data.json_parameters["animation"] == animation.file_id
|
||||
@@ -195,6 +201,7 @@ class TestAnimationWithoutRequest(TestAnimationBase):
|
||||
assert await bot.send_animation(animation=animation, chat_id=chat_id)
|
||||
|
||||
@pytest.mark.parametrize("bot_class", ["Bot", "ExtBot"])
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
async def test_send_animation_thumb_deprecation_warning(
|
||||
self, recwarn, monkeypatch, bot_class, bot, raw_bot, chat_id, animation
|
||||
):
|
||||
@@ -216,6 +223,7 @@ class TestAnimationWithoutRequest(TestAnimationBase):
|
||||
with pytest.raises(ValueError, match="different entities as 'thumb' and 'thumbnail'"):
|
||||
await bot.send_animation(chat_id, file, thumbnail=file, thumb=different_file)
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
async def test_get_file_instance_method(self, monkeypatch, animation):
|
||||
async def make_assertion(*_, **kwargs):
|
||||
return kwargs["file_id"] == animation.file_id
|
||||
--- a/tests/_files/test_audio.py
|
||||
+++ b/tests/_files/test_audio.py
|
||||
@@ -70,11 +70,13 @@ class TestAudioBase:
|
||||
|
||||
|
||||
class TestAudioWithoutRequest(TestAudioBase):
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_slot_behaviour(self, audio):
|
||||
for attr in audio.__slots__:
|
||||
assert getattr(audio, attr, "err") != "err", f"got extra slot '{attr}'"
|
||||
assert len(mro_slots(audio)) == len(set(mro_slots(audio))), "duplicate slot"
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_creation(self, audio):
|
||||
# Make sure file has been uploaded.
|
||||
assert isinstance(audio, Audio)
|
||||
@@ -83,6 +85,7 @@ class TestAudioWithoutRequest(TestAudioBase):
|
||||
assert audio.file_id
|
||||
assert audio.file_unique_id
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_expected_values(self, audio):
|
||||
assert audio.duration == self.duration
|
||||
assert audio.performer is None
|
||||
@@ -98,6 +101,7 @@ class TestAudioWithoutRequest(TestAudioBase):
|
||||
assert audio.thumb is audio.thumbnail
|
||||
check_thumb_deprecation_warnings_for_args_and_attrs(recwarn, __file__)
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_de_json(self, bot, audio):
|
||||
json_dict = {
|
||||
"file_id": self.audio_file_id,
|
||||
@@ -123,6 +127,7 @@ class TestAudioWithoutRequest(TestAudioBase):
|
||||
assert json_audio.file_size == self.file_size
|
||||
assert json_audio.thumbnail == audio.thumbnail
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_to_dict(self, audio):
|
||||
audio_dict = audio.to_dict()
|
||||
|
||||
@@ -134,6 +139,7 @@ class TestAudioWithoutRequest(TestAudioBase):
|
||||
assert audio_dict["file_size"] == audio.file_size
|
||||
assert audio_dict["file_name"] == audio.file_name
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_equality(self, audio):
|
||||
a = Audio(audio.file_id, audio.file_unique_id, audio.duration)
|
||||
b = Audio("", audio.file_unique_id, audio.duration)
|
||||
@@ -154,6 +160,7 @@ class TestAudioWithoutRequest(TestAudioBase):
|
||||
assert a != e
|
||||
assert hash(a) != hash(e)
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
async def test_send_with_audio(self, monkeypatch, bot, chat_id, audio):
|
||||
async def make_assertion(url, request_data: RequestData, *args, **kwargs):
|
||||
return request_data.json_parameters["audio"] == audio.file_id
|
||||
@@ -162,6 +169,7 @@ class TestAudioWithoutRequest(TestAudioBase):
|
||||
assert await bot.send_audio(audio=audio, chat_id=chat_id)
|
||||
|
||||
@pytest.mark.parametrize("bot_class", ["Bot", "ExtBot"])
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
async def test_send_audio_thumb_deprecation_warning(
|
||||
self, recwarn, monkeypatch, bot_class, bot, raw_bot, chat_id, audio
|
||||
):
|
||||
@@ -214,6 +222,7 @@ class TestAudioWithoutRequest(TestAudioBase):
|
||||
with pytest.raises(ValueError, match="different entities as 'thumb' and 'thumbnail'"):
|
||||
await bot.send_audio(chat_id, file, thumbnail=file, thumb=different_file)
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
async def test_get_file_instance_method(self, monkeypatch, audio):
|
||||
async def make_assertion(*_, **kwargs):
|
||||
return kwargs["file_id"] == audio.file_id
|
||||
--- a/tests/_files/test_chatphoto.py
|
||||
+++ b/tests/_files/test_chatphoto.py
|
||||
@@ -61,11 +61,13 @@ class TestChatPhotoBase:
|
||||
|
||||
|
||||
class TestChatPhotoWithoutRequest(TestChatPhotoBase):
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_slot_behaviour(self, chat_photo):
|
||||
for attr in chat_photo.__slots__:
|
||||
assert getattr(chat_photo, attr, "err") != "err", f"got extra slot '{attr}'"
|
||||
assert len(mro_slots(chat_photo)) == len(set(mro_slots(chat_photo))), "duplicate slot"
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_de_json(self, bot, chat_photo):
|
||||
json_dict = {
|
||||
"small_file_id": self.chatphoto_small_file_id,
|
||||
@@ -80,6 +82,7 @@ class TestChatPhotoWithoutRequest(TestChatPhotoBase):
|
||||
assert chat_photo.small_file_unique_id == self.chatphoto_small_file_unique_id
|
||||
assert chat_photo.big_file_unique_id == self.chatphoto_big_file_unique_id
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
async def test_to_dict(self, chat_photo):
|
||||
chat_photo_dict = chat_photo.to_dict()
|
||||
|
||||
@@ -121,6 +124,7 @@ class TestChatPhotoWithoutRequest(TestChatPhotoBase):
|
||||
assert a != e
|
||||
assert hash(a) != hash(e)
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
async def test_send_with_chat_photo(self, monkeypatch, bot, super_group_id, chat_photo):
|
||||
async def make_assertion(url, request_data: RequestData, *args, **kwargs):
|
||||
return request_data.parameters["photo"] == chat_photo.to_dict()
|
||||
@@ -129,6 +133,7 @@ class TestChatPhotoWithoutRequest(TestChatPhotoBase):
|
||||
message = await bot.set_chat_photo(photo=chat_photo, chat_id=super_group_id)
|
||||
assert message
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
async def test_get_small_file_instance_method(self, monkeypatch, chat_photo):
|
||||
async def make_assertion(*_, **kwargs):
|
||||
return kwargs["file_id"] == chat_photo.small_file_id
|
||||
@@ -142,6 +147,7 @@ class TestChatPhotoWithoutRequest(TestChatPhotoBase):
|
||||
monkeypatch.setattr(chat_photo.get_bot(), "get_file", make_assertion)
|
||||
assert await chat_photo.get_small_file()
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
async def test_get_big_file_instance_method(self, monkeypatch, chat_photo):
|
||||
async def make_assertion(*_, **kwargs):
|
||||
return kwargs["file_id"] == chat_photo.big_file_id
|
||||
--- a/tests/_files/test_document.py
|
||||
+++ b/tests/_files/test_document.py
|
||||
@@ -65,11 +65,13 @@ class TestDocumentBase:
|
||||
|
||||
|
||||
class TestDocumentWithoutRequest(TestDocumentBase):
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_slot_behaviour(self, document):
|
||||
for attr in document.__slots__:
|
||||
assert getattr(document, attr, "err") != "err", f"got extra slot '{attr}'"
|
||||
assert len(mro_slots(document)) == len(set(mro_slots(document))), "duplicate slot"
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_creation(self, document):
|
||||
assert isinstance(document, Document)
|
||||
assert isinstance(document.file_id, str)
|
||||
@@ -77,6 +79,7 @@ class TestDocumentWithoutRequest(TestDocumentBase):
|
||||
assert document.file_id
|
||||
assert document.file_unique_id
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_expected_values(self, document):
|
||||
assert document.file_size == self.file_size
|
||||
assert document.mime_type == self.mime_type
|
||||
@@ -90,6 +93,7 @@ class TestDocumentWithoutRequest(TestDocumentBase):
|
||||
assert document.thumb is document.thumbnail
|
||||
check_thumb_deprecation_warnings_for_args_and_attrs(recwarn, __file__)
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_de_json(self, bot, document):
|
||||
json_dict = {
|
||||
"file_id": self.document_file_id,
|
||||
@@ -109,6 +113,7 @@ class TestDocumentWithoutRequest(TestDocumentBase):
|
||||
assert test_document.mime_type == self.mime_type
|
||||
assert test_document.file_size == self.file_size
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_to_dict(self, document):
|
||||
document_dict = document.to_dict()
|
||||
|
||||
@@ -119,6 +124,7 @@ class TestDocumentWithoutRequest(TestDocumentBase):
|
||||
assert document_dict["mime_type"] == document.mime_type
|
||||
assert document_dict["file_size"] == document.file_size
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_equality(self, document):
|
||||
a = Document(document.file_id, document.file_unique_id)
|
||||
b = Document("", document.file_unique_id)
|
||||
@@ -140,6 +146,7 @@ class TestDocumentWithoutRequest(TestDocumentBase):
|
||||
await bot.send_document(chat_id=chat_id)
|
||||
|
||||
@pytest.mark.parametrize("disable_content_type_detection", [True, False, None])
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
async def test_send_with_document(
|
||||
self, monkeypatch, bot, chat_id, document, disable_content_type_detection
|
||||
):
|
||||
@@ -161,6 +168,7 @@ class TestDocumentWithoutRequest(TestDocumentBase):
|
||||
assert message
|
||||
|
||||
@pytest.mark.parametrize("bot_class", ["Bot", "ExtBot"])
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
async def test_send_document_thumb_deprecation_warning(
|
||||
self, recwarn, monkeypatch, bot_class, bot, raw_bot, chat_id, document
|
||||
):
|
||||
@@ -208,6 +216,7 @@ class TestDocumentWithoutRequest(TestDocumentBase):
|
||||
with pytest.raises(ValueError, match="different entities as 'thumb' and 'thumbnail'"):
|
||||
await bot.send_document(chat_id, file, thumbnail=file, thumb=different_file)
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
async def test_get_file_instance_method(self, monkeypatch, document):
|
||||
async def make_assertion(*_, **kwargs):
|
||||
return kwargs["file_id"] == document.file_id
|
||||
--- a/tests/_files/test_inputmedia.py
|
||||
+++ b/tests/_files/test_inputmedia.py
|
||||
@@ -186,6 +186,7 @@ class TestInputMediaVideoWithoutRequest(TestInputMediaVideoBase):
|
||||
assert input_media_video_dict["supports_streaming"] == input_media_video.supports_streaming
|
||||
assert input_media_video_dict["has_spoiler"] == input_media_video.has_spoiler
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_with_video(self, video): # noqa: F811
|
||||
# fixture found in test_video
|
||||
input_media_video = InputMediaVideo(video, caption="test 3")
|
||||
@@ -258,6 +259,7 @@ class TestInputMediaPhotoWithoutRequest(TestInputMediaPhotoBase):
|
||||
]
|
||||
assert input_media_photo_dict["has_spoiler"] == input_media_photo.has_spoiler
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_with_photo(self, photo): # noqa: F811
|
||||
# fixture found in test_photo
|
||||
input_media_photo = InputMediaPhoto(photo, caption="test 2")
|
||||
@@ -329,6 +331,7 @@ class TestInputMediaAnimationWithoutRequest(TestInputMediaAnimationBase):
|
||||
assert input_media_animation_dict["duration"] == input_media_animation.duration
|
||||
assert input_media_animation_dict["has_spoiler"] == input_media_animation.has_spoiler
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_with_animation(self, animation): # noqa: F811
|
||||
# fixture found in test_animation
|
||||
input_media_animation = InputMediaAnimation(animation, caption="test 2")
|
||||
@@ -411,6 +414,7 @@ class TestInputMediaAudioWithoutRequest(TestInputMediaAudioBase):
|
||||
ce.to_dict() for ce in input_media_audio.caption_entities
|
||||
]
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_with_audio(self, audio): # noqa: F811
|
||||
# fixture found in test_audio
|
||||
input_media_audio = InputMediaAudio(audio, caption="test 3")
|
||||
@@ -496,6 +500,7 @@ class TestInputMediaDocumentWithoutRequest(TestInputMediaDocumentBase):
|
||||
== input_media_document.disable_content_type_detection
|
||||
)
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_with_document(self, document): # noqa: F811
|
||||
# fixture found in test_document
|
||||
input_media_document = InputMediaDocument(document, caption="test 3")
|
||||
@@ -559,6 +564,7 @@ def media_group_no_caption_only_parse_mode(photo, thumb): # noqa: F811
|
||||
|
||||
|
||||
class TestSendMediaGroupWithoutRequest:
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
async def test_send_media_group_throws_error_with_group_caption_and_individual_captions(
|
||||
self,
|
||||
bot,
|
||||
--- a/tests/_files/test_photo.py
|
||||
+++ b/tests/_files/test_photo.py
|
||||
@@ -74,11 +74,13 @@ class TestPhotoBase:
|
||||
|
||||
|
||||
class TestPhotoWithoutRequest(TestPhotoBase):
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_slot_behaviour(self, photo):
|
||||
for attr in photo.__slots__:
|
||||
assert getattr(photo, attr, "err") != "err", f"got extra slot '{attr}'"
|
||||
assert len(mro_slots(photo)) == len(set(mro_slots(photo))), "duplicate slot"
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_creation(self, thumb, photo):
|
||||
# Make sure file has been uploaded.
|
||||
assert isinstance(photo, PhotoSize)
|
||||
@@ -93,6 +95,7 @@ class TestPhotoWithoutRequest(TestPhotoBase):
|
||||
assert thumb.file_id
|
||||
assert thumb.file_unique_id
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_expected_values(self, photo, thumb):
|
||||
assert photo.width == self.width
|
||||
assert photo.height == self.height
|
||||
@@ -101,6 +104,7 @@ class TestPhotoWithoutRequest(TestPhotoBase):
|
||||
assert thumb.height == 90
|
||||
assert thumb.file_size == 1477
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_de_json(self, bot, photo):
|
||||
json_dict = {
|
||||
"file_id": photo.file_id,
|
||||
@@ -118,6 +122,7 @@ class TestPhotoWithoutRequest(TestPhotoBase):
|
||||
assert json_photo.height == self.height
|
||||
assert json_photo.file_size == self.file_size
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_to_dict(self, photo):
|
||||
photo_dict = photo.to_dict()
|
||||
|
||||
@@ -128,6 +133,7 @@ class TestPhotoWithoutRequest(TestPhotoBase):
|
||||
assert photo_dict["height"] == photo.height
|
||||
assert photo_dict["file_size"] == photo.file_size
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_equality(self, photo):
|
||||
a = PhotoSize(photo.file_id, photo.file_unique_id, self.width, self.height)
|
||||
b = PhotoSize("", photo.file_unique_id, self.width, self.height)
|
||||
@@ -189,6 +195,7 @@ class TestPhotoWithoutRequest(TestPhotoBase):
|
||||
finally:
|
||||
bot._local_mode = False
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
async def test_send_with_photosize(self, monkeypatch, bot, chat_id, photo):
|
||||
async def make_assertion(url, request_data: RequestData, *args, **kwargs):
|
||||
return request_data.json_parameters["photo"] == photo.file_id
|
||||
@@ -196,6 +203,7 @@ class TestPhotoWithoutRequest(TestPhotoBase):
|
||||
monkeypatch.setattr(bot.request, "post", make_assertion)
|
||||
assert await bot.send_photo(photo=photo, chat_id=chat_id)
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
async def test_get_file_instance_method(self, monkeypatch, photo):
|
||||
async def make_assertion(*_, **kwargs):
|
||||
return kwargs["file_id"] == photo.file_id
|
||||
--- a/tests/_files/test_sticker.py
|
||||
+++ b/tests/_files/test_sticker.py
|
||||
@@ -117,11 +117,13 @@ class TestStickerBase:
|
||||
|
||||
|
||||
class TestStickerWithoutRequest(TestStickerBase):
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_slot_behaviour(self, sticker):
|
||||
for attr in sticker.__slots__:
|
||||
assert getattr(sticker, attr, "err") != "err", f"got extra slot '{attr}'"
|
||||
assert len(mro_slots(sticker)) == len(set(mro_slots(sticker))), "duplicate slot"
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_creation(self, sticker):
|
||||
# Make sure file has been uploaded.
|
||||
assert isinstance(sticker, Sticker)
|
||||
@@ -136,6 +138,7 @@ class TestStickerWithoutRequest(TestStickerBase):
|
||||
assert sticker.thumbnail.file_unique_id
|
||||
assert isinstance(sticker.needs_repainting, bool)
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_expected_values(self, sticker):
|
||||
assert sticker.width == self.width
|
||||
assert sticker.height == self.height
|
||||
@@ -164,6 +167,7 @@ class TestStickerWithoutRequest(TestStickerBase):
|
||||
assert sticker.thumb is sticker.thumbnail
|
||||
check_thumb_deprecation_warnings_for_args_and_attrs(recwarn, __file__)
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_to_dict(self, sticker):
|
||||
sticker_dict = sticker.to_dict()
|
||||
|
||||
@@ -179,6 +183,7 @@ class TestStickerWithoutRequest(TestStickerBase):
|
||||
assert sticker_dict["type"] == sticker.type
|
||||
assert sticker_dict["needs_repainting"] == sticker.needs_repainting
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_de_json(self, bot, sticker):
|
||||
json_dict = {
|
||||
"file_id": self.sticker_file_id,
|
||||
@@ -212,6 +217,7 @@ class TestStickerWithoutRequest(TestStickerBase):
|
||||
assert json_sticker.custom_emoji_id == self.custom_emoji_id
|
||||
assert json_sticker.needs_repainting == self.needs_repainting
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_equality(self, sticker):
|
||||
a = Sticker(
|
||||
sticker.file_id,
|
||||
@@ -274,6 +280,7 @@ class TestStickerWithoutRequest(TestStickerBase):
|
||||
with pytest.raises(TypeError):
|
||||
await bot.send_sticker(chat_id)
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
async def test_send_with_sticker(self, monkeypatch, bot, chat_id, sticker):
|
||||
async def make_assertion(url, request_data: RequestData, *args, **kwargs):
|
||||
return request_data.json_parameters["sticker"] == sticker.file_id
|
||||
@@ -565,6 +572,7 @@ class TestStickerSetWithoutRequest(TestStickerSetBase):
|
||||
assert sticker_set.thumb is sticker_set.thumbnail
|
||||
check_thumb_deprecation_warnings_for_args_and_attrs(recwarn, __file__)
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_de_json(self, bot, sticker):
|
||||
name = f"test_by_{bot.username}"
|
||||
json_dict = {
|
||||
@@ -588,6 +596,7 @@ class TestStickerSetWithoutRequest(TestStickerSetBase):
|
||||
assert sticker_set.sticker_type == self.sticker_type
|
||||
assert sticker_set.api_kwargs == {"contains_masks": self.contains_masks}
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_sticker_set_to_dict(self, sticker_set):
|
||||
sticker_set_dict = sticker_set.to_dict()
|
||||
|
||||
@@ -960,6 +969,7 @@ class TestStickerSetWithoutRequest(TestStickerSetBase):
|
||||
assert recwarn[0].filename == __file__, "incorrect stacklevel!"
|
||||
recwarn.clear()
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
async def test_get_file_instance_method(self, monkeypatch, sticker):
|
||||
async def make_assertion(*_, **kwargs):
|
||||
return kwargs["file_id"] == sticker.file_id
|
||||
--- a/tests/_files/test_video.py
|
||||
+++ b/tests/_files/test_video.py
|
||||
@@ -69,11 +69,13 @@ class TestVideoBase:
|
||||
|
||||
|
||||
class TestVideoWithoutRequest(TestVideoBase):
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_slot_behaviour(self, video):
|
||||
for attr in video.__slots__:
|
||||
assert getattr(video, attr, "err") != "err", f"got extra slot '{attr}'"
|
||||
assert len(mro_slots(video)) == len(set(mro_slots(video))), "duplicate slot"
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_creation(self, video):
|
||||
# Make sure file has been uploaded.
|
||||
assert isinstance(video, Video)
|
||||
@@ -88,6 +90,7 @@ class TestVideoWithoutRequest(TestVideoBase):
|
||||
assert video.thumbnail.file_id
|
||||
assert video.thumbnail.file_unique_id
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_expected_values(self, video):
|
||||
assert video.width == self.width
|
||||
assert video.height == self.height
|
||||
@@ -130,6 +133,7 @@ class TestVideoWithoutRequest(TestVideoBase):
|
||||
assert json_video.file_size == self.file_size
|
||||
assert json_video.file_name == self.file_name
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_to_dict(self, video):
|
||||
video_dict = video.to_dict()
|
||||
|
||||
@@ -143,6 +147,7 @@ class TestVideoWithoutRequest(TestVideoBase):
|
||||
assert video_dict["file_size"] == video.file_size
|
||||
assert video_dict["file_name"] == video.file_name
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_equality(self, video):
|
||||
a = Video(video.file_id, video.file_unique_id, self.width, self.height, self.duration)
|
||||
b = Video("", video.file_unique_id, self.width, self.height, self.duration)
|
||||
@@ -167,6 +172,7 @@ class TestVideoWithoutRequest(TestVideoBase):
|
||||
with pytest.raises(TypeError):
|
||||
await bot.send_video(chat_id=chat_id)
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
async def test_send_with_video(self, monkeypatch, bot, chat_id, video):
|
||||
async def make_assertion(url, request_data: RequestData, *args, **kwargs):
|
||||
return request_data.json_parameters["video"] == video.file_id
|
||||
@@ -175,6 +181,7 @@ class TestVideoWithoutRequest(TestVideoBase):
|
||||
assert await bot.send_video(chat_id, video=video)
|
||||
|
||||
@pytest.mark.parametrize("bot_class", ["Bot", "ExtBot"])
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
async def test_send_video_thumb_deprecation_warning(
|
||||
self, recwarn, monkeypatch, bot_class, bot, raw_bot, chat_id, video
|
||||
):
|
||||
@@ -228,6 +235,7 @@ class TestVideoWithoutRequest(TestVideoBase):
|
||||
with pytest.raises(ValueError, match="different entities as 'thumb' and 'thumbnail'"):
|
||||
await bot.send_video(chat_id, file, thumbnail=file, thumb=different_file)
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
async def test_get_file_instance_method(self, monkeypatch, video):
|
||||
async def make_assertion(*_, **kwargs):
|
||||
return kwargs["file_id"] == video.file_id
|
||||
--- a/tests/_files/test_videonote.py
|
||||
+++ b/tests/_files/test_videonote.py
|
||||
@@ -63,11 +63,13 @@ class TestVideoNoteBase:
|
||||
|
||||
|
||||
class TestVideoNoteWithoutRequest(TestVideoNoteBase):
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_slot_behaviour(self, video_note):
|
||||
for attr in video_note.__slots__:
|
||||
assert getattr(video_note, attr, "err") != "err", f"got extra slot '{attr}'"
|
||||
assert len(mro_slots(video_note)) == len(set(mro_slots(video_note))), "duplicate slot"
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_creation(self, video_note):
|
||||
# Make sure file has been uploaded.
|
||||
assert isinstance(video_note, VideoNote)
|
||||
@@ -82,6 +84,7 @@ class TestVideoNoteWithoutRequest(TestVideoNoteBase):
|
||||
assert video_note.thumbnail.file_id
|
||||
assert video_note.thumbnail.file_unique_id
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_expected_values(self, video_note):
|
||||
assert video_note.length == self.length
|
||||
assert video_note.duration == self.duration
|
||||
@@ -111,6 +114,7 @@ class TestVideoNoteWithoutRequest(TestVideoNoteBase):
|
||||
assert json_video_note.duration == self.duration
|
||||
assert json_video_note.file_size == self.file_size
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_to_dict(self, video_note):
|
||||
video_note_dict = video_note.to_dict()
|
||||
|
||||
@@ -121,6 +125,7 @@ class TestVideoNoteWithoutRequest(TestVideoNoteBase):
|
||||
assert video_note_dict["duration"] == video_note.duration
|
||||
assert video_note_dict["file_size"] == video_note.file_size
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_equality(self, video_note):
|
||||
a = VideoNote(video_note.file_id, video_note.file_unique_id, self.length, self.duration)
|
||||
b = VideoNote("", video_note.file_unique_id, self.length, self.duration)
|
||||
@@ -145,6 +150,7 @@ class TestVideoNoteWithoutRequest(TestVideoNoteBase):
|
||||
with pytest.raises(TypeError):
|
||||
await bot.send_video_note(chat_id=chat_id)
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
async def test_send_with_video_note(self, monkeypatch, bot, chat_id, video_note):
|
||||
async def make_assertion(url, request_data: RequestData, *args, **kwargs):
|
||||
return request_data.json_parameters["video_note"] == video_note.file_id
|
||||
@@ -153,6 +159,7 @@ class TestVideoNoteWithoutRequest(TestVideoNoteBase):
|
||||
assert await bot.send_video_note(chat_id, video_note=video_note)
|
||||
|
||||
@pytest.mark.parametrize("bot_class", ["Bot", "ExtBot"])
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
async def test_send_video_note_thumb_deprecation_warning(
|
||||
self, recwarn, monkeypatch, bot_class, bot, raw_bot, chat_id, video_note
|
||||
):
|
||||
@@ -210,6 +217,7 @@ class TestVideoNoteWithoutRequest(TestVideoNoteBase):
|
||||
with pytest.raises(ValueError, match="different entities as 'thumb' and 'thumbnail'"):
|
||||
await bot.send_video_note(chat_id, file, thumbnail=file, thumb=different_file)
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
async def test_get_file_instance_method(self, monkeypatch, video_note):
|
||||
async def make_assertion(*_, **kwargs):
|
||||
return kwargs["file_id"] == video_note.file_id
|
||||
--- a/tests/_files/test_voice.py
|
||||
+++ b/tests/_files/test_voice.py
|
||||
@@ -58,11 +58,13 @@ class TestVoiceBase:
|
||||
|
||||
|
||||
class TestVoiceWithoutRequest(TestVoiceBase):
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_slot_behaviour(self, voice):
|
||||
for attr in voice.__slots__:
|
||||
assert getattr(voice, attr, "err") != "err", f"got extra slot '{attr}'"
|
||||
assert len(mro_slots(voice)) == len(set(mro_slots(voice))), "duplicate slot"
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
async def test_creation(self, voice):
|
||||
# Make sure file has been uploaded.
|
||||
assert isinstance(voice, Voice)
|
||||
@@ -71,6 +73,7 @@ class TestVoiceWithoutRequest(TestVoiceBase):
|
||||
assert voice.file_id
|
||||
assert voice.file_unique_id
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_expected_values(self, voice):
|
||||
assert voice.duration == self.duration
|
||||
assert voice.mime_type == self.mime_type
|
||||
@@ -93,6 +96,7 @@ class TestVoiceWithoutRequest(TestVoiceBase):
|
||||
assert json_voice.mime_type == self.mime_type
|
||||
assert json_voice.file_size == self.file_size
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_to_dict(self, voice):
|
||||
voice_dict = voice.to_dict()
|
||||
|
||||
@@ -103,6 +107,7 @@ class TestVoiceWithoutRequest(TestVoiceBase):
|
||||
assert voice_dict["mime_type"] == voice.mime_type
|
||||
assert voice_dict["file_size"] == voice.file_size
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_equality(self, voice):
|
||||
a = Voice(voice.file_id, voice.file_unique_id, self.duration)
|
||||
b = Voice("", voice.file_unique_id, self.duration)
|
||||
@@ -135,6 +140,7 @@ class TestVoiceWithoutRequest(TestVoiceBase):
|
||||
|
||||
assert await bot.send_voice(chat_id, voice_file, filename="custom_filename")
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
async def test_send_with_voice(self, monkeypatch, bot, chat_id, voice):
|
||||
async def make_assertion(url, request_data: RequestData, *args, **kwargs):
|
||||
return request_data.json_parameters["voice"] == voice.file_id
|
||||
@@ -164,6 +170,7 @@ class TestVoiceWithoutRequest(TestVoiceBase):
|
||||
finally:
|
||||
bot._local_mode = False
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
async def test_get_file_instance_method(self, monkeypatch, voice):
|
||||
async def make_assertion(*_, **kwargs):
|
||||
return kwargs["file_id"] == voice.file_id
|
||||
--- a/tests/request/test_request.py
|
||||
+++ b/tests/request/test_request.py
|
||||
@@ -418,6 +418,7 @@ class TestHTTPXRequestWithoutRequest:
|
||||
assert self.test_flag["init"] == 1
|
||||
assert self.test_flag["shutdown"] == 1
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
async def test_multiple_init_cycles(self):
|
||||
# nothing really to assert - this should just not fail
|
||||
httpx_request = HTTPXRequest()
|
||||
@@ -430,6 +431,7 @@ class TestHTTPXRequestWithoutRequest:
|
||||
with pytest.raises(ValueError, match="`http_version` must be either"):
|
||||
HTTPXRequest(http_version="1.0")
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
async def test_http_1_response(self):
|
||||
httpx_request = HTTPXRequest(http_version="1.1")
|
||||
async with httpx_request:
|
||||
--- a/tests/test_bot.py
|
||||
+++ b/tests/test_bot.py
|
||||
@@ -305,6 +305,7 @@ class TestBotWithoutRequest:
|
||||
|
||||
assert self.test_flag == "stop"
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
async def test_equality(self):
|
||||
async with make_bot(token=FALLBACKS[0]["token"]) as a, make_bot(
|
||||
token=FALLBACKS[0]["token"]
|
||||
@@ -346,6 +347,7 @@ class TestBotWithoutRequest:
|
||||
finally:
|
||||
await bot.shutdown()
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
async def test_get_me_and_properties(self, bot):
|
||||
get_me_bot = await ExtBot(bot.token).get_me()
|
||||
|
||||
@@ -383,6 +385,7 @@ class TestBotWithoutRequest:
|
||||
@pytest.mark.parametrize(
|
||||
("cls", "logger_name"), [(Bot, "telegram.Bot"), (ExtBot, "telegram.ext.ExtBot")]
|
||||
)
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
async def test_log_decorator(self, bot: PytestExtBot, cls, logger_name, caplog):
|
||||
# Second argument makes sure that we ignore logs from e.g. httpx
|
||||
with caplog.at_level(logging.DEBUG, logger="telegram"):
|
||||
@@ -1418,6 +1421,7 @@ class TestBotWithoutRequest:
|
||||
|
||||
@pytest.mark.parametrize("json_keyboard", [True, False])
|
||||
@pytest.mark.parametrize("caption", ["<b>Test</b>", "", None])
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
async def test_copy_message(
|
||||
self, monkeypatch, bot, chat_id, media_message, json_keyboard, caption
|
||||
):
|
||||
--- a/tests/test_forum.py
|
||||
+++ b/tests/test_forum.py
|
||||
@@ -73,6 +73,7 @@ async def real_topic(bot, emoji_id, forum_group_id):
|
||||
assert result is True, "Topic was not deleted"
|
||||
|
||||
|
||||
+@pytest.mark.skip(reason="Requires internet connection")
|
||||
class TestForumTopicWithoutRequest:
|
||||
def test_slot_behaviour(self, forum_topic_object):
|
||||
inst = forum_topic_object
|
||||
@@ -336,6 +337,7 @@ class TestForumTopicCreatedWithoutRequest:
|
||||
assert action_dict["name"] == TEST_TOPIC_NAME
|
||||
assert action_dict["icon_color"] == TEST_TOPIC_ICON_COLOR
|
||||
|
||||
+ @pytest.mark.skip(reason="Requires internet connection")
|
||||
def test_equality(self, emoji_id):
|
||||
a = ForumTopicCreated(name=TEST_TOPIC_NAME, icon_color=TEST_TOPIC_ICON_COLOR)
|
||||
b = ForumTopicCreated(
|
@ -0,0 +1,57 @@
|
||||
# Copyright 2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{10..11} )
|
||||
inherit distutils-r1 optfeature
|
||||
|
||||
DESCRIPTION="Python wrapper of telegram bots API"
|
||||
HOMEPAGE="https://docs.python-telegram-bot.org https://github.com/python-telegram-bot/python-telegram-bot"
|
||||
SRC_URI="https://github.com/python-telegram-bot/python-telegram-bot/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="LGPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="
|
||||
>=dev-python/cachetools-5.3.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/cryptography-39.0.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/httpx-0.24.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/tornado-6.2[${PYTHON_USEDEP}]
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
"
|
||||
BDEPEND="
|
||||
test? (
|
||||
dev-python/beautifulsoup4[${PYTHON_USEDEP}]
|
||||
dev-python/flaky[${PYTHON_USEDEP}]
|
||||
dev-python/pytest[${PYTHON_USEDEP}]
|
||||
dev-python/pytest-asyncio[${PYTHON_USEDEP}]
|
||||
dev-python/pytz[${PYTHON_USEDEP}]
|
||||
>=dev-python/tornado-6.2[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${P}-no-internet-tests.patch"
|
||||
)
|
||||
|
||||
S="${WORKDIR}/${PN}-${PV}"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
# Run only the tests that don't require a connection
|
||||
python_test() {
|
||||
epytest -m no_req
|
||||
}
|
||||
|
||||
python_prepare_all() {
|
||||
distutils-r1_python_prepare_all
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
optfeature_header "Optional package dependencies:"
|
||||
optfeature "using telegram.ext.JobQueue" dev-python/APScheduler
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user