Test: add missing avatar.py
This commit is contained in:
parent
ddee629fe4
commit
12bb35171c
1 changed files with 51 additions and 0 deletions
51
tests/libpurple_jabber/avatar.py
Normal file
51
tests/libpurple_jabber/avatar.py
Normal file
|
@ -0,0 +1,51 @@
|
|||
import optparse
|
||||
import sys
|
||||
import time
|
||||
import subprocess
|
||||
import os
|
||||
|
||||
import sleekxmpp
|
||||
|
||||
import struct
|
||||
import zlib
|
||||
def chunk(t, data):
|
||||
return struct.pack('>I', len(data)) + t + data
|
||||
#+ struct.pack('>I', zlib.crc32(t + data))
|
||||
png = b'\x89PNG\r\n\x1A\n' + chunk(b'IHDR', struct.pack('>IIBBBBB', 1, 1, 1, 0, 0, 0, 0)) + chunk(b'IDAT', zlib.compress(struct.pack('>BB', 0, 0))) + chunk(b'IEND', b'')
|
||||
|
||||
|
||||
class Responder(sleekxmpp.ClientXMPP):
|
||||
def __init__(self, jid, password, room, room_password, nick):
|
||||
sleekxmpp.ClientXMPP.__init__(self, jid, password)
|
||||
self.room = room
|
||||
self.room_password = room_password
|
||||
self.nick = nick
|
||||
self.finished = False
|
||||
self.add_event_handler("session_start", self.start)
|
||||
self.add_event_handler("vcard_avatar_update", self.vcard_avatar_update)
|
||||
|
||||
self.tests = {}
|
||||
self.tests["photohash"] = ["libpurple: Photo hash received in Presence", False]
|
||||
|
||||
def vcard_avatar_update(self, presence):
|
||||
self.tests["photohash"][1] = True
|
||||
self.finished = True
|
||||
|
||||
def start(self, event):
|
||||
self.getRoster()
|
||||
self.sendPresence()
|
||||
|
||||
class Client(sleekxmpp.ClientXMPP):
|
||||
def __init__(self, jid, password, room, nick):
|
||||
sleekxmpp.ClientXMPP.__init__(self, jid, password)
|
||||
self.room = room
|
||||
self.nick = nick
|
||||
self.add_event_handler("session_start", self.start)
|
||||
self.finished = False
|
||||
|
||||
self.tests = {}
|
||||
|
||||
def start(self, event):
|
||||
self.getRoster()
|
||||
self.sendPresence()
|
||||
self['xep_0153'].set_avatar(avatar=png, mtype='image/png')
|
Loading…
Add table
Reference in a new issue