mirror of
https://gitverse.ru/kpa39l/icq.git
synced 2026-09-29 18:05:10 +00:00
38 lines
1.6 KiB
Python
38 lines
1.6 KiB
Python
#!/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()) |