set_register test pass

- correct str(jid) deprecation
- make set_register pass
- !! Warning !! XMLDummyServer still have problem

darcs-hash:20060122134549-86b55-9f267838d21cdfb8ee6176573099e39beeca8c1b.gz
This commit is contained in:
David Rousselie
2006-01-22 14:45:49 +01:00
parent a44b18828e
commit d782022182
3 changed files with 25 additions and 27 deletions

View File

@@ -346,12 +346,12 @@ class MailComponent(Component):
## for name in self.__storage.keys((jid,)) ## for name in self.__storage.keys((jid,))
if self.stream: if self.stream:
for jid in self.__storage.keys(()): for jid in self.__storage.keys(()):
p = Presence(from_jid = str(self.jid), to_jid = jid, \ p = Presence(from_jid = unicode(self.jid), to_jid = jid, \
stanza_type = "unavailable") stanza_type = "unavailable")
self.stream.send(p) self.stream.send(p)
for jid, name in self.__storage.keys(): for jid, name in self.__storage.keys():
if self.__storage[(jid, name)].status != "offline": if self.__storage[(jid, name)].status != "offline":
p = Presence(from_jid = name + "@" + str(self.jid), \ p = Presence(from_jid = name + "@" + unicode(self.jid), \
to_jid = jid, \ to_jid = jid, \
stanza_type = "unavailable") stanza_type = "unavailable")
self.stream.send(p) self.stream.send(p)
@@ -393,11 +393,11 @@ class MailComponent(Component):
self.__logger.debug("AUTHENTICATED") self.__logger.debug("AUTHENTICATED")
Component.authenticated(self) Component.authenticated(self)
for jid, name in self.__storage.keys(): for jid, name in self.__storage.keys():
p = Presence(from_jid = name + "@" + str(self.jid), \ p = Presence(from_jid = name + "@" + unicode(self.jid), \
to_jid = jid, stanza_type = "probe") to_jid = jid, stanza_type = "probe")
self.stream.send(p) self.stream.send(p)
for jid in self.__storage.keys(()): for jid in self.__storage.keys(()):
p = Presence(from_jid = str(self.jid), \ p = Presence(from_jid = unicode(self.jid), \
to_jid = jid, stanza_type = "probe") to_jid = jid, stanza_type = "probe")
self.stream.send(p) self.stream.send(p)
@@ -447,7 +447,7 @@ class MailComponent(Component):
""" Discovery get nested nodes handler """ """ Discovery get nested nodes handler """
def disco_get_items(self, node, iq): def disco_get_items(self, node, iq):
self.__logger.debug("DISCO_GET_ITEMS") self.__logger.debug("DISCO_GET_ITEMS")
base_from_jid = str(iq.get_from().bare()) base_from_jid = unicode(iq.get_from().bare())
di = DiscoItems() di = DiscoItems()
if not node: if not node:
for jid, name in self.__storage.keys(): for jid, name in self.__storage.keys():
@@ -455,7 +455,7 @@ class MailComponent(Component):
str_name = account.get_type() + " connection " + name str_name = account.get_type() + " connection " + name
if account.get_type()[0:4] == "imap": if account.get_type()[0:4] == "imap":
str_name += " (" + account.mailbox + ")" str_name += " (" + account.mailbox + ")"
DiscoItem(di, JID(name + "@" + str(self.jid)), \ DiscoItem(di, JID(name + "@" + unicode(self.jid)), \
name, str_name) name, str_name)
return di return di
@@ -472,7 +472,7 @@ class MailComponent(Component):
""" Send back register form to user """ """ Send back register form to user """
def get_register(self, iq): def get_register(self, iq):
self.__logger.debug("GET_REGISTER") self.__logger.debug("GET_REGISTER")
base_from_jid = str(iq.get_from().bare()) base_from_jid = unicode(iq.get_from().bare())
to = iq.get_to() to = iq.get_to()
iq = iq.make_result_response() iq = iq.make_result_response()
q = iq.new_query("jabber:iq:register") q = iq.new_query("jabber:iq:register")
@@ -488,16 +488,16 @@ class MailComponent(Component):
self.__logger.debug("SET_REGISTER") self.__logger.debug("SET_REGISTER")
to = iq.get_to() to = iq.get_to()
from_jid = iq.get_from() from_jid = iq.get_from()
base_from_jid = str(from_jid.bare()) base_from_jid = unicode(from_jid.bare())
remove = iq.xpath_eval("r:query/r:remove", \ remove = iq.xpath_eval("r:query/r:remove", \
{"r" : "jabber:iq:register"}) {"r" : "jabber:iq:register"})
if remove: if remove:
for jid, name in self.__storage.keys(): for jid, name in self.__storage.keys():
p = Presence(from_jid = name + "@" + str(self.jid), \ p = Presence(from_jid = name + "@" + unicode(self.jid), \
to_jid = from_jid, \ to_jid = from_jid, \
stanza_type = "unsubscribe") stanza_type = "unsubscribe")
self.stream.send(p) self.stream.send(p)
p = Presence(from_jid = name + "@" + str(self.jid), \ p = Presence(from_jid = name + "@" + unicode(self.jid), \
to_jid = from_jid, \ to_jid = from_jid, \
stanza_type = "unsubscribed") stanza_type = "unsubscribed")
self.stream.send(p) self.stream.send(p)
@@ -611,7 +611,7 @@ class MailComponent(Component):
"username '%s' and password '%s' on '%s'" \ "username '%s' and password '%s' on '%s'" \
% (type, name, login, password, socket)) % (type, name, login, password, socket))
self.stream.send(m) self.stream.send(m)
p = Presence(from_jid = name + "@" + str(self.jid), \ p = Presence(from_jid = name + "@" + unicode(self.jid), \
to_jid = base_from_jid, \ to_jid = base_from_jid, \
stanza_type="subscribe") stanza_type="subscribe")
self.stream.send(p) self.stream.send(p)
@@ -640,7 +640,7 @@ class MailComponent(Component):
def presence_available(self, stanza): def presence_available(self, stanza):
self.__logger.debug("PRESENCE_AVAILABLE") self.__logger.debug("PRESENCE_AVAILABLE")
from_jid = stanza.get_from() from_jid = stanza.get_from()
base_from_jid = str(from_jid.bare()) base_from_jid = unicode(from_jid.bare())
name = stanza.get_to().node name = stanza.get_to().node
show = stanza.get_show() show = stanza.get_show()
self.__logger.debug("SHOW : " + str(show)) self.__logger.debug("SHOW : " + str(show))
@@ -660,7 +660,7 @@ class MailComponent(Component):
# Make available to receive mail only when online # Make available to receive mail only when online
account.status = "online" # TODO get real status = (not show) account.status = "online" # TODO get real status = (not show)
p = Presence(from_jid = name + "@" + \ p = Presence(from_jid = name + "@" + \
str(self.jid), \ unicode(self.jid), \
to_jid = from_jid, \ to_jid = from_jid, \
status = account.get_status_msg(), \ status = account.get_status_msg(), \
show = show, \ show = show, \
@@ -672,11 +672,11 @@ class MailComponent(Component):
def presence_unavailable(self, stanza): def presence_unavailable(self, stanza):
self.__logger.debug("PRESENCE_UNAVAILABLE") self.__logger.debug("PRESENCE_UNAVAILABLE")
from_jid = stanza.get_from() from_jid = stanza.get_from()
base_from_jid = str(from_jid.bare()) base_from_jid = unicode(from_jid.bare())
if stanza.get_to() == str(self.jid): if stanza.get_to() == unicode(self.jid):
for jid, name in self.__storage.keys(): for jid, name in self.__storage.keys():
self.__storage[(base_from_jid, name)].status = "offline" # TODO get real status self.__storage[(base_from_jid, name)].status = "offline" # TODO get real status
p = Presence(from_jid = name + "@" + str(self.jid), \ p = Presence(from_jid = name + "@" + unicode(self.jid), \
to_jid = from_jid, \ to_jid = from_jid, \
stanza_type = "unavailable") stanza_type = "unavailable")
self.stream.send(p) self.stream.send(p)
@@ -698,7 +698,7 @@ class MailComponent(Component):
self.__logger.debug("PRESENCE_SUBSCRIBED") self.__logger.debug("PRESENCE_SUBSCRIBED")
name = stanza.get_to().node name = stanza.get_to().node
from_jid = stanza.get_from() from_jid = stanza.get_from()
base_from_jid = str(from_jid.bare()) base_from_jid = unicode(from_jid.bare())
if name is not None and self.__storage.has_key((base_from_jid, name)): if name is not None and self.__storage.has_key((base_from_jid, name)):
account = self.__storage[(base_from_jid, name)] account = self.__storage[(base_from_jid, name)]
account.status = "online" # TODO retrieve real status account.status = "online" # TODO retrieve real status
@@ -713,7 +713,7 @@ class MailComponent(Component):
self.__logger.debug("PRESENCE_UNSUBSCRIBE") self.__logger.debug("PRESENCE_UNSUBSCRIBE")
name = stanza.get_to().node name = stanza.get_to().node
from_jid = stanza.get_from() from_jid = stanza.get_from()
base_from_jid = str(from_jid.bare()) base_from_jid = unicode(from_jid.bare())
if name is not None and self.__storage.has_key((base_from_jid, name)): if name is not None and self.__storage.has_key((base_from_jid, name)):
del self.__storage[(base_from_jid, name)] del self.__storage[(base_from_jid, name)]
p = Presence(from_jid = stanza.get_to(), to_jid = from_jid, \ p = Presence(from_jid = stanza.get_to(), to_jid = from_jid, \
@@ -736,7 +736,7 @@ class MailComponent(Component):
def message(self, message): def message(self, message):
self.__logger.debug("MESSAGE: " + message.get_body()) self.__logger.debug("MESSAGE: " + message.get_body())
name = message.get_to().node name = message.get_to().node
base_from_jid = str(message.get_from().bare()) base_from_jid = unicode(message.get_from().bare())
# if name and self.__registered.has_key(base_from_jid): # if name and self.__registered.has_key(base_from_jid):
# body = message.get_body() # body = message.get_body()
# cmd = body.split(' ') # cmd = body.split(' ')
@@ -819,7 +819,7 @@ class MailComponent(Component):
while account.lastcheck < num: while account.lastcheck < num:
body = account.get_mail(int(mail_list[account.lastcheck])) body = account.get_mail(int(mail_list[account.lastcheck]))
mesg = Message(from_jid = name + "@" + \ mesg = Message(from_jid = name + "@" + \
str(self.jid), \ unicode(self.jid), \
to_jid = jid, \ to_jid = jid, \
stanza_type = "message", \ stanza_type = "message", \
body = body) body = body)
@@ -834,7 +834,7 @@ class MailComponent(Component):
account.lastcheck += 1 account.lastcheck += 1
if body != "": if body != "":
mesg = Message(from_jid = name + "@" + \ mesg = Message(from_jid = name + "@" + \
str(self.jid), \ unicode(self.jid), \
to_jid = jid, \ to_jid = jid, \
stanza_type = "headline", \ stanza_type = "headline", \
body = body) body = body)

View File

@@ -113,7 +113,7 @@ class XMLDummyServer(DummyServer):
# TODO : this approximation is not clean # TODO : this approximation is not clean
# received size is based on the expected size in self.queries # received size is based on the expected size in self.queries
data = conn.recv(1024 + len(self.queries[idx])) data = conn.recv(1024 + len(self.queries[idx]))
print "receive : " + data # print "receive : " + data
if data: if data:
## TODO : without this log, test_set_register in test_component wait forever ## TODO : without this log, test_set_register in test_component wait forever
#print "-----------RECEIVE1 " + data #print "-----------RECEIVE1 " + data
@@ -133,11 +133,11 @@ class XMLDummyServer(DummyServer):
else: else:
response = self.responses[idx] response = self.responses[idx]
if response is not None: if response is not None:
print >>sys.stderr, '---------SENDING : ', response # print >>sys.stderr, '---------SENDING : ', response
conn.send(response) conn.send(response)
data = conn.recv(1024) data = conn.recv(1024)
if data: if data:
print "-----------RECEIVE2 " + data # print "-----------RECEIVE2 " + data
r = self._reader.feed(data) r = self._reader.feed(data)
self.real_queries.append(data) self.real_queries.append(data)
conn.close() conn.close()
@@ -155,10 +155,10 @@ class XMLDummyServer(DummyServer):
full_recv_queries = "" full_recv_queries = ""
for idx in range(len(self.real_queries)): for idx in range(len(self.real_queries)):
full_real_queries += self.real_queries[idx].rstrip(os.linesep) full_real_queries += self.real_queries[idx].rstrip(os.linesep)
for idx in range(len(self.queries)):
full_recv_queries += self.queries[idx].rstrip(os.linesep) full_recv_queries += self.queries[idx].rstrip(os.linesep)
# Do not receive it but add it so that xml parsing can succeed # Do not receive it but add it so that xml parsing can succeed
#full_real_queries += "</stream:stream>" #full_real_queries += "</stream:stream>"
print full_real_queries
real_query = xml.dom.minidom.parseString(full_real_queries) real_query = xml.dom.minidom.parseString(full_real_queries)
recv_query = xml.dom.minidom.parseString(full_recv_queries) recv_query = xml.dom.minidom.parseString(full_recv_queries)
try: try:

View File

@@ -273,8 +273,6 @@ class MailComponent_TestCase_NoReg(unittest.TestCase):
"</x>" + \ "</x>" + \
"</query></iq>", "</query></iq>",
lambda x: None, lambda x: None,
lambda x: None,
lambda x: None,
"</stream:stream>"] "</stream:stream>"]
self.server.queries = ["<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + \ self.server.queries = ["<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + \
"<stream:stream xmlns:stream=\"http://etherx.jabber.org/streams\" xmlns=\"jabber:component:accept\" to=\"jmc.localhost\" version=\"1.0\">", \ "<stream:stream xmlns:stream=\"http://etherx.jabber.org/streams\" xmlns=\"jabber:component:accept\" to=\"jmc.localhost\" version=\"1.0\">", \