#!/usr/bin/env python3 """Тест авторизации с подробным логом — одна попытка.""" import asyncio, logging, ssl import slixmpp logging.basicConfig(level=logging.DEBUG, format='%(asctime)s %(levelname)s %(name)s: %(message)s', datefmt='%H:%M:%S') class T(slixmpp.ClientXMPP): def __init__(self): super().__init__("testuser1@test.nixg.ru", "pass12345") self.ssl_context = ssl.create_default_context() self.ssl_context.check_hostname = False self.ssl_context.verify_mode = ssl.CERT_NONE self.add_event_handler('session_start', self.on_start) self.add_event_handler('failed_auth', self.on_fail) self.add_event_handler('disconnected', self.on_disc) self.add_event_handler('connected', self.on_conn) self.add_event_handler('ssl_invalid_cert', self.on_ssl) def on_conn(self, ev): print(">>> connected") def on_ssl(self, ev): print(">>> ssl_invalid_cert:", ev) def on_start(self, ev): print(">>> AUTH OK, boundjid=", self.boundjid); self.disconnect() def on_fail(self, ev): print(">>> AUTH FAILED"); self.disconnect() def on_disc(self, ev): print(">>> disconnected:", ev) async def main(): x = T() try: await asyncio.wait_for(x.connect('127.0.0.1', 15222), 20) await asyncio.wait_for(x.wait_until('session_start'), 20) except asyncio.TimeoutError: print(">>> TIMEOUT waiting auth") except Exception as e: print(">>> EXC:", type(e).__name__, e) finally: try: x.disconnect() except: pass asyncio.run(main())