diff --git a/spectrum/src/tests/start.py b/spectrum/src/tests/start.py index 3dba667eaa88710e48dc8f04f8d6172c445ad31b..2ab379c871a27ee6d007562147e11e7a24ffd6d7 100644 --- a/spectrum/src/tests/start.py +++ b/spectrum/src/tests/start.py @@ -7,30 +7,49 @@ import os import sleekxmpp import imp +def registerXMPPAccount(user, password): + responder = sleekxmpp.ClientXMPP(user, password) + responder.register_plugin('xep_0030') # Service Discovery + responder.register_plugin('xep_0077') + responder['feature_mechanisms'].unencrypted_plain = True + + if responder.connect(("127.0.0.1", 5222)): + responder.process(block=False) + else: + print "connect() failed" + sys.exit(1) + class BaseTest: def __init__(self, config, server_mode, room): self.config = config self.server_mode = server_mode self.room = room + self.responder_jid = "responder@localhost" + self.client_jid = "client@localhost" + + def skip_test(self, test): + return False def start(self, Client, Responder): - self.pre_test() os.system("../spectrum2 -n ./" + self.config + " > spectrum2.log &") + self.pre_test() time.sleep(1) - responder = Responder("responder@localhost", "password", self.room, "responder") + responder = Responder(self.responder_jid, "password", self.room, "responder") responder.register_plugin('xep_0030') # Service Discovery responder.register_plugin('xep_0045') # Multi-User Chat responder.register_plugin('xep_0199') # XMPP Ping responder['feature_mechanisms'].unencrypted_plain = True - if responder.connect(): + if responder.connect(("127.0.0.1", 5223)): responder.process(block=False) else: print "connect() failed" + os.system("killall spectrum2") + self.post_test() sys.exit(1) - client = Client("client@localhost", "password", self.room, "client") + client = Client(self.client_jid, "password", self.room, "client") client.register_plugin('xep_0030') # Service Discovery client.register_plugin('xep_0045') # Multi-User Chat client.register_plugin('xep_0199') # XMPP Ping @@ -38,10 +57,12 @@ class BaseTest: time.sleep(2) - if client.connect(): + if client.connect(("127.0.0.1", 5223)): client.process(block=False) else: print "connect() failed" + os.system("killall spectrum2") + self.post_test() sys.exit(1) max_time = 60 @@ -92,9 +113,31 @@ class LibcommuniServerModeConf(BaseTest): os.system("killall ngircd 2>/dev/null") os.system("killall spectrum2_libcommuni_backend 2>/dev/null") +class JabberServerModeConf(BaseTest): + def __init__(self): + BaseTest.__init__(self, "jabber_test.cfg", True, "room%conference.localhost@localhostxmpp") + self.client_jid = "client%localhost@localhostxmpp" + self.responder_jid = "responder%localhost@localhostxmpp" + + def skip_test(self, test): + if test in ["muc_whois.py", "muc_change_topic.py"]: + return True + return False + + def pre_test(self): + os.system("prosody --config prosody.cfg.lua >prosody.log &") + time.sleep(3) + os.system("../../../spectrum_manager/src/spectrum2_manager -c manager.conf localhostxmpp register client%localhost@localhostxmpp client@localhost password 2>/dev/null >/dev/null") + os.system("../../../spectrum_manager/src/spectrum2_manager -c manager.conf localhostxmpp register responder%localhost@localhostxmpp responder@localhost password 2>/dev/null >/dev/null") + + def post_test(self): + os.system("killall lua-5.1 2>/dev/null") + os.system("killall spectrum2_libpurple_backend 2>/dev/null") + configurations = [] -configurations.append(LibcommuniServerModeSingleServerConf()) -configurations.append(LibcommuniServerModeConf()) +#configurations.append(LibcommuniServerModeSingleServerConf()) +#configurations.append(LibcommuniServerModeConf()) +configurations.append(JabberServerModeConf()) exitcode = 0 @@ -108,10 +151,13 @@ for conf in configurations: print conf.__class__.__name__ + ": Starting " + f + " test ..." test = imp.load_source('test', './' + f) - try: - ret = conf.start(test.Client, test.Responder) - except: - ret = False + if conf.skip_test(f): + print "Skipped." + continue + #try: + ret = conf.start(test.Client, test.Responder) + #except: + #ret = False if not ret: exitcode = -1