# HG changeset patch # User paulb # Date 1185640876 0 # Node ID 3c3ef3064d8f2f3acc027039f604b3b3e032942c # Parent b331d0a9c7788409b9247ec5ce9cd9d012ad4b4e [project @ 2007-07-28 16:41:16 by paulb] Extended the test to support message and presence decoding. Added support for contacting other recipients. diff -r b331d0a9c778 -r 3c3ef3064d8f tests/xmpp_test.py --- a/tests/xmpp_test.py Sat Jul 28 16:40:30 2007 +0000 +++ b/tests/xmpp_test.py Sat Jul 28 16:41:16 2007 +0000 @@ -9,6 +9,11 @@ print "Please specify sender or receiver." sys.exit(1) +if len(sys.argv) > 2: + peer = sys.argv[2] +elif sender: + peer = "paulb@jeremy/receiver" + s = libxml2dom.xmpp.Session(("localhost", 5222)) d = s.connect("jeremy") print "---- 1 ----" @@ -44,13 +49,45 @@ if sender: message = s.createMessage() message.from_ = "paulb@jeremy/sender" - message.to = "paulb@jeremy/receiver" + message.to = peer message.type = "chat" - body = message.ownerDocument.createElement("body") - message.appendChild(body) + message.body = message.createBody() text = message.ownerDocument.createTextNode("Hello!") - body.appendChild(text) + message.body.appendChild(text) + print "Sending..." print message.toString() d = s.send(message) +if receiver: + while 1: + print "Listening..." + doc = s.receive() + print doc.toString() + print + print "From:", doc.from_ + print "To:", doc.to + print "Type:", doc.type + print + if doc.localName == "message": + print "Message..." + if doc.type == "chat" and doc.body: + print doc.body.textContent + elif doc.event: + print "Composing?", doc.event.composing + print "Delivered?", doc.event.delivered + print "Displayed?", doc.event.displayed + print "Offline?", doc.event.offline + print "Id:", doc.event.id + elif doc.localName == "presence": + print "Presence..." + if doc.type == "subscribe": + presence = s.createPresence() + presence.type = "subscribed" + presence.from_ = doc.to + presence.to = doc.from_ + print "Sending..." + print presence.toString() + d = s.send(presence) + print + # vim: tabstop=4 expandtab shiftwidth=4