Files @ fd9c9af71bfb
Branch filter:

Location: libtransport.git/tests/libcommuni/muc_whois.py

Jan Kaluza
Slack: Send real team name chosen by user to Web interface, create channel chosen by the user when joining the room if it does not exists
import optparse
import sys
import time
import subprocess
import os

import sleekxmpp


class Responder(sleekxmpp.ClientXMPP):
	def __init__(self, jid, password, room, room_password, nick):
		sleekxmpp.ClientXMPP.__init__(self, jid, password)
		self.room = room
		self.nick = nick
		self.finished = False
		self.room_password = room_password
		self.add_event_handler("session_start", self.start)
		self.tests = {}

	def start(self, event):
		self.plugin['xep_0045'].joinMUC(self.room, self.nick, password=self.room_password, wait=True)

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.add_event_handler("groupchat_message", self.muc_message)
		self.finished = False

		self.tests = {}
		self.tests["whois1_received"] = ["libcommuni: Receive /whois command response", False]
		self.tests["whois2_received"] = ["libcommuni: Receive /whois command response for invalid nickname", False]

	def muc_message(self, msg):
		if msg['mucnick'] != self.nick:
			if msg["body"] == "responder is connected to irc.example.net (responder)\nresponder is a user on channels: @#channel":
				self.tests["whois1_received"][1] = True
			elif msg["body"] == "nonexisting: No such client":
				self.tests["whois2_received"][1] = True
				self.finished = True

	def start(self, event):
		self.getRoster()
		self.sendPresence()
		self.plugin['xep_0045'].joinMUC(self.room, self.nick, wait=True)
		self.send_message(mto=self.room, mbody="/whois responder", mtype='groupchat')
		self.send_message(mto=self.room, mbody="/whois nonexisting", mtype='groupchat')