Tu pipeline de CI/CD no debería romperse porque la API de Telegram devolvió un error 429 durante las pruebas. La abstracción limpia de WMessage en wconnect te permite probar la lógica del bot totalmente offline.
Así se implementa Mocking & Enterprise Testing en entornos reales con wconnect:
from wconnect import WMessage
def my_business_logic(msg: WMessage) -> str:
if msg.user_id != "6586101740":
return "DENIED"
return f"Processed: {msg.text.upper()}"
# Unit test without mock server or internet connection
def test_handler_authorization():
# Synthetic message
unauthorized = WMessage(chat_id=101, user_id=999, text="hello")
assert my_business_logic(unauthorized) == "DENIED"
authorized = WMessage(chat_id=101, user_id=6586101740, text="hello")
assert my_business_logic(authorized) == "Processed: HELLO"
Por qué es clave:
- Decoradores sin boilerplate (
@bot.on_command,@bot.on_message,@bot.consumer). - Streaming de archivos binarios directo desde RAM usando
WFile. - Poller daemon no bloqueante con
run_consumers(block=False).
¡Visita el repositorio en GitHub!
Top comments (0)