diff options
Diffstat (limited to 'Swiften')
-rw-r--r-- | Swiften/QA/SConscript | 1 | ||||
-rw-r--r-- | Swiften/QA/ScriptedTests/MultipleClients.lua | 32 | ||||
-rw-r--r-- | Swiften/QA/ScriptedTests/SConscript | 7 | ||||
-rw-r--r-- | Swiften/QA/ScriptedTests/SendMessage.lua | 44 |
4 files changed, 84 insertions, 0 deletions
diff --git a/Swiften/QA/SConscript b/Swiften/QA/SConscript index 4638d6c..25ba814 100644 --- a/Swiften/QA/SConscript +++ b/Swiften/QA/SConscript @@ -7,4 +7,5 @@ SConscript(dirs = [ # "DNSSDTest", "StorageTest", "TLSTest", + "ScriptedTests", ]) diff --git a/Swiften/QA/ScriptedTests/MultipleClients.lua b/Swiften/QA/ScriptedTests/MultipleClients.lua new file mode 100644 index 0000000..76eba74 --- /dev/null +++ b/Swiften/QA/ScriptedTests/MultipleClients.lua @@ -0,0 +1,32 @@ +-- +-- Copyright (c) 2010 Remko Tronçon +-- Licensed under the GNU General Public License v3. +-- See Documentation/Licenses/GPLv3.txt for more information. +-- + +require "sluift" + +-- sluift.debug = true +num_clients = 10 + +print("Connecting clients") +clients = {} +for i = 1, num_clients do + jid = os.getenv("SWIFT_CLIENTTEST_JID") .. "/Client" .. i + client = sluift.new_client(jid, os.getenv("SWIFT_CLIENTTEST_PASS")) + client:async_connect() + table.insert(clients, client) +end + +print("Waiting for clients to be connected") +for i, client in ipairs(clients) do + client:wait_connected() + client:send_presence("Hello") +end + +print("Disconnecting clients") +for i, client in ipairs(clients) do + client:disconnect() +end + +print("Done") diff --git a/Swiften/QA/ScriptedTests/SConscript b/Swiften/QA/ScriptedTests/SConscript new file mode 100644 index 0000000..298c455 --- /dev/null +++ b/Swiften/QA/ScriptedTests/SConscript @@ -0,0 +1,7 @@ +Import("env") + +if env["TEST"] : + env.ScriptTests([ + "SendMessage.lua", + "MultipleClients.lua", + ], "Swiften.QA.ScriptedTests", "system") diff --git a/Swiften/QA/ScriptedTests/SendMessage.lua b/Swiften/QA/ScriptedTests/SendMessage.lua new file mode 100644 index 0000000..a3f1917 --- /dev/null +++ b/Swiften/QA/ScriptedTests/SendMessage.lua @@ -0,0 +1,44 @@ +-- +-- Copyright (c) 2010 Remko Tronçon +-- Licensed under the GNU General Public License v3. +-- See Documentation/Licenses/GPLv3.txt for more information. +-- + +require "sluift" + +-- sluift.debug = true +client1_jid = os.getenv("SWIFT_CLIENTTEST_JID") .. "/Client1" +client2_jid = os.getenv("SWIFT_CLIENTTEST_JID") .. "/Client2" +password = os.getenv("SWIFT_CLIENTTEST_PASS") + +print "Connecting client 1" +client1 = sluift.new_client(client1_jid, password) +client1:connect() +client1:send_presence("I'm here") + +print "Connecting client 2" +client2 = sluift.new_client(client2_jid, password) +client2:connect() +client2:send_presence("I'm here") + +print "Checking version of client 2 from client 1" +client2:set_version({name = "Sluift Test", version = "1.0"}) +client2_version = client1:get_version(client2_jid) +assert(client2_version["name"] == "Sluift Test") +assert(client2_version["version"] == "1.0") + +print "Sending message from client 1 to client 2" +client1:send_message(client2_jid, "Hello") +received_message = client2:for_event(function(event) + if event["type"] == "message" and event["from"] == client1_jid then + return event["body"] + end + end) +assert(received_message == "Hello") + +print "Retrieving the roster" +roster = client1:get_roster() +table.foreach(roster, print) + +client1:disconnect() +client2:disconnect() |