XMPP Server functional tests.

  1. Get server version
  2. Server configuration
  3. Server statistics
  4. Script with functional tests for all basic XMPP/Jabber features
  5. Script for MUC component tests
  6. Script for PubSub component tests
  7. Administration commands tests
  8. Tests for Virtual Hosts implementation in the server
  9. Testing bosh component
  10. Testing bosh component in keep-alive mode
  11. Multi-threaded tests for various XMPP functions

Test start time: Mar 20, 2010 7:07:09 PM

Server version info:

Name:  Tigase
Version:  5.0.0-b2135
OS:  Mac OS X-x86_64-10.6.2, Java HotSpot(TM) 64-Bit Server VM-14.3-b01-101-Apple Inc.
    
Local IP:  127.0.0.1
Remote IP:  127.0.0.1

Server basic configuration parameters:

sess-man:plugins-conf/roster-presence/dynamic-roster-classes tigase.xmpp.impl.DynamicRosterTest
sess-man:component-id sess-man@devel.tigase.org
sess-man:def-hostname devel.tigase.org
sess-man:admins {"admin@test-d"}
sess-man:scripts-dir scripts/admin
sess-man:max-queue-size 23300
sess-man:incoming-filters tigase.server.filters.PacketCounter
sess-man:outgoing-filters tigase.server.filters.PacketCounter
sess-man:admin-scripts-dir scripts/admin/
sess-man:user-repo-class pgsql
sess-man:user-repo-url jdbc:postgresql://localhost/tigasetest?user=tigase
sess-man:auth-repo-class tigase.db.jdbc.JDBCRepository
sess-man:auth-repo-url jdbc:postgresql://localhost/tigasetest?user=tigase
sess-man:plugins {"jabber:iq:register", "jabber:iq:auth", "urn:ietf:params:xml:ns:xmpp-sasl", "urn:ietf:params:xml:ns:xmpp-bind", "urn:ietf:params:xml:ns:xmpp-session", "roster-presence", "jabber:iq:privacy", "jabber:iq:version", "http://jabber.org/protocol/stats", "starttls", "vcard-temp", "http://jabber.org/protocol/commands", "jabber:iq:private", "urn:xmpp:ping", "domain-filter", "disco"}
sess-man:plugins-concurrency 
sess-man:skip-privacy false
sess-man:trusted {"admin@test.test-d"}

Tests results:

Test name Result Total time OK Average Description History
Version success 0 sec 1 36 ms Get server version Version
Configuration success 0 sec 1 123 ms Server configuration Configuration
Statistics success 0 sec 1 93 ms Server statistics Statistics
Test 1 success 0 sec 1 1 ms Plain socket connect. Test 1
Test 2 success 0 sec 1 42 ms Stream open to server. Test 2
Test 3 success 1 sec 1 1250 ms SSL socket connect. Test 3
Test 4 success 0 sec 1 62 ms XEP-0077 - In-Band Registration, register Test 4
Test 5 success 0 sec 1 33 ms XEP-0078 Non-SASL authorization with plain password. Test 5
Test 6 success 0 sec 1 13 ms XEP-0078 Non-SASL authorization with digest password. Test 6
Test 7 success 0 sec 1 37 ms TLS connection open Test 7
Test 8 success 0 sec 1 29 ms SASL authorization Test 8
Test 9 success 0 sec 1 49 ms XMPP resource bind Test 9
Test 10 success 0 sec 1 108 ms Establish XMPP session Test 10
Test IO success 2 sec 10 214 ms Checking Tigase IO subsystem Test IO
Test 11 success 0 sec 1 73 ms Send a message to self user and don't wait for response Test 11
Test 12 success 0 sec 1 21 ms Send a message to all-xmpp-test_1 user Test 12
Test 13 success 0 sec 1 4 ms XEP-0092 - get entity version Test 13
Test 14 success 0 sec 1 57 ms XEP-0039 Statistics Gathering Test 14
Test 15 success 0 sec 1 163 ms Roster management test Test 15
Test 16 success 0 sec 1 144 ms Privacy lists management test Test 16
Test 17 success 0 sec 1 19 ms Privacy lists - send a message to blocking-test-user_1 user Test 17
Test 18 success 0 sec 1 19 ms Send a message to long-list-user_1 user Test 18
Test 19 success 0 sec 1 75 ms XEP-0049: Private XML Storage Test 19
Test 20 success 0 sec 1 19 ms Test for feature-not-implemented error which should be returned when client sends unsupported stanza Test 20
Test 21 success 0 sec 1 219 ms XEP-0054: vcard-temp Test 21
Test 22 success 0 sec 1 119 ms XEP-0199: XMPP Ping to domain 'test-d' the user is logged in Test 22
Test 23 success 0 sec 1 15 ms XEP-0199: XMPP Ping to another, vrtual domain 'test-domain' on the server Test 23
Test 24 success 0 sec 1 85 ms XEP-0030: XMPP Service Discovery Test 24
Test 25 success 0 sec 2 183 ms Presence subscription test between 'admin' and 'all-xmpp-test'. Test 25
Test 26 success 0 sec 2 203 ms Presence cancel test between 'admin' and 'all-xmpp-test'. Test 26
Test 27 success 0 sec 2 162 ms Presence unsubscribe test between 'admin' and 'all-xmpp-test'. Test 27
Test 28 success 0 sec 2 183 ms Presence subscription between 'admin' and 'all-xmpp-test' again to prepare for the next test. Test 28
Test 29 success 0 sec 2 159 ms Remove subscribed contact 'all-xmpp-test' from the roster of the user 'admin', all subscriptions should be cancelled automatically by the server. Test 29
Test 30 success 0 sec 2 142 ms 2 user connections, each using a different resource. Test 30
Test 31 success 0 sec 2 188 ms Presence subscription deny test between 'admin' and 'all-xmpp-test'. Test 31
Test 32 success 0 sec 1 25 ms Send a message without resource binding and expect an error response. Test 32
Test 33 success 0 sec 1 24 ms USER_STATUS command test to ensure interoperability with Yate Test 33
Test 34 success 0 sec 1 4 ms USER_STATUS command test to ensure security, should receive forbidden error. Test 34
Test 35 success 0 sec 1 11 ms Check whether the tester user account responds Test 35
Test 36 success 0 sec 1 13 ms Send a command to tester_1 user to generate 10 messages on the server. Test 36
Test 37 success 0 sec 1 30 ms Send a command to tester_1 user to generate 100 messages on the server. Test 37
Test 38 success 0 sec 1 192 ms Send a command to tester_1 user to generate 1000 messages on the server. Test 38
Test 39 success 1 sec 1 1110 ms Send a command to tester_1 user to generate 10000 messages on the server. Test 39
Test 40 success 5 sec 1 5464 ms Send a command to tester_1 user to generate 100000 messages on the server. Test 40
Test 41 success 0 sec 1 22 ms Dynamic roster storage test Test 41
Test 42 success 0 sec 1 53 ms Dynamic roster merge test Test 42
MUC 1 success 0 sec 1 65 ms Send room create presence request to MUC component. MUC 1
PubSub 1 success 0 sec 1 17 ms Get version from the pubsub component. PubSub 1
PubSub 2 success 0 sec 1 62 ms Create a new node in the pubsub component. PubSub 2
PubSub 3 success 0 sec 1 12 ms Add subscriptions to the node in the pubsub component. PubSub 3
PubSub 4 success 0 sec 1 12 ms Add affiliations to the node in the pubsub component. PubSub 4
PubSub 5 success 0 sec 1 53 ms Create a collection node in the pubsub component. PubSub 5
RosterMan 1 success 0 sec 1 160 ms Register user mgmt Ad-Hoc script RosterMan 1
RosterMan 5 success 0 sec 1 16 ms Ad-Hoc user mgmt - Check removed user RosterMan 5
RosterMan 6 success 0 sec 1 71 ms Ad-Hoc user mgmt - Non existing user check RosterMan 6
VHost 1 success 0 sec 1 10 ms XEP-0199: XMPP Ping to virtual domain 'test-domain' on the server VHost 1
VHost 2 success 0 sec 1 15 ms Reloading VHosts from non-admin account, expecting error message VHost 2
VHost 3 success 0 sec 1 17 ms Updating VHost from non-admin account, expecting error message VHost 3
VHost 4 success 0 sec 1 12 ms Removing VHost from non-admin account, expecting error message VHost 4
VHost 5 success 0 sec 1 12 ms Reloading VHosts from admin account... VHost 5
VHost 6 success 0 sec 1 19 ms XEP-0199: XMPP Ping to virtual domain 'vhost-1' which is not on the server, expecting error response VHost 6
VHost 7 success 0 sec 1 27 ms Adding VHost 'vhost-1' from admin account VHost 7
VHost 8 success 0 sec 1 14 ms XEP-0199: XMPP Ping to virtual domain 'vhost-1' on the server VHost 8
VHost 9 success 0 sec 1 21 ms Removing VHost 'vhost-1' from admin account VHost 9
VHost 10 success 0 sec 1 31 ms XEP-0199: XMPP Ping to virtual domain 'vhost-1' which is not on the server, expecting error response VHost 10
VHost 11 success 0 sec 200 2 ms XEP-0199: XMPP Ping 200 non-existen vhosts on the server, expecting error responses VHost 11
VHost 12 success 1 sec 200 7 ms Adding 200 virtual hosts from admin account VHost 12
VHost 13 success 0 sec 200 1 ms XEP-0199: XMPP Ping all 200 virtual hosts on the server VHost 13
VHost 14 success 0 sec 1 26 ms Reloading all VHosts from admin account... VHost 14
VHost 15 success 1 sec 200 6 ms Removing 200 VHosts from admin account VHost 15
VHost 16 success 0 sec 200 1 ms XEP-0199: XMPP Ping 200 non-existen vhosts on the server, expecting error responses VHost 16
VHost 17 success 0 sec 1 15 ms Reloading all VHosts from admin account... VHost 17
Vhost end success 0 sec 1 14 ms XEP-0077 - In-Band Registration - user unregister Vhost end
Bosh 1 success 0 sec 1 3 ms Socket connect. Bosh 1
Bosh 2 success 0 sec 1 7 ms Stream open to server. Bosh 2
Bosh 3 success 0 sec 1 15 ms XEP-0077 - In-Band Registration, register Bosh 3
Bosh 4 success 0 sec 1 12 ms XEP-0078 Non-SASL authorization with plain password. Bosh 4
Bosh 5 success 0 sec 1 19 ms SASL authorization Bosh 5
Bosh 6 success 0 sec 1 35 ms XMPP resource bind Bosh 6
Bosh 7 success 0 sec 1 22 ms Establish XMPP session Bosh 7
Bosh 8 success 0 sec 1 33 ms Send a message to self user and don't wait for response Bosh 8
Bosh 9 success 0 sec 1 30 ms Send a message to all-xmpp-test_1 user Bosh 9
Bosh 10 success 0 sec 1 8 ms XEP-0092 - get entity version Bosh 10
Bosh 11 success 0 sec 1 99 ms XEP-0039 Statistics Gathering Bosh 11
Bosh 12 success 0 sec 1 48 ms Roster management test Bosh 12
Bosh 13 success 0 sec 1 74 ms Privacy lists management test Bosh 13
Bosh 14 success 0 sec 1 24 ms Privacy lists - send a message to blocking-test-user_1 user Bosh 14
Bosh 15 success 0 sec 1 65 ms XEP-0049: Private XML Storage Bosh 15
Bosh 16 success 0 sec 1 23 ms Test for feature-not-implemented error which should be returned when client sends unsupported stanza Bosh 16
Bosh 17 success 0 sec 1 41 ms XEP-0054: vcard-temp Bosh 17
Bosh 18 success 0 sec 1 21 ms XEP-0199: XMPP Ping to domain 'test-d' the user is logged in Bosh 18
Bosh 19 success 0 sec 1 20 ms XEP-0199: XMPP Ping to another, vrtual domain 'test-domain' on the server Bosh 19
Bosh 20 success 0 sec 1 21 ms XEP-0030: XMPP Service Discovery Bosh 20
Bosh 21 success 0 sec 2 197 ms Presence subscription test between 'admin' and 'all-xmpp-test'. Bosh 21
Bosh 22 success 0 sec 2 153 ms Presence cancel test between 'admin' and 'all-xmpp-test'. Bosh 22
Bosh 23 success 0 sec 2 162 ms Presence unsubscribe test between 'admin' and 'all-xmpp-test'. Bosh 23
Bosh 24 success 1 sec 2 290 ms Presence subscription deny test between 'admin' and 'all-xmpp-test'. Bosh 24
Bosh 25 success 0 sec 1 18 ms Send a message without resource binding and expect an error response. Bosh 25
Bosh end success 0 sec 1 29 ms XEP-0077 - In-Band Registration - user unregister Bosh end
Bosh keep-alive 1 success 0 sec 1 1 ms Socket connect. Bosh keep-alive 1
Bosh keep-alive 2 success 0 sec 1 3 ms Stream open to server. Bosh keep-alive 2
Bosh keep-alive3 success 0 sec 1 12 ms XEP-0077 - In-Band Registration, register Bosh keep-alive3
Bosh keep-alive 4 success 0 sec 1 25 ms XEP-0078 Non-SASL authorization with plain password. Bosh keep-alive 4
Bosh keep-alive 5 success 0 sec 1 15 ms SASL authorization Bosh keep-alive 5
Bosh keep-alive 6 success 0 sec 1 10 ms XMPP resource bind Bosh keep-alive 6
Bosh keep-alive 7 success 0 sec 1 19 ms Establish XMPP session Bosh keep-alive 7
Bosh keep-alive 8 success 0 sec 1 12 ms Send a message to self user and don't wait for response Bosh keep-alive 8
Bosh keep-alive 9 success 0 sec 1 12 ms Send a message to all-xmpp-test_1 user Bosh keep-alive 9
Bosh keep-alive 10 success 0 sec 1 3 ms XEP-0092 - get entity version Bosh keep-alive 10
Bosh keep-alive 11 success 0 sec 1 29 ms XEP-0039 Statistics Gathering Bosh keep-alive 11
Bosh keep-alive 12 success 0 sec 1 42 ms Roster management test Bosh keep-alive 12
Bosh keep-alive 13 success 0 sec 1 65 ms Privacy lists management test Bosh keep-alive 13
Bosh keep-alive 14 success 0 sec 1 17 ms Privacy lists - send a message to blocking-test-user_1 user Bosh keep-alive 14
Bosh keep-alive 15 success 0 sec 1 53 ms XEP-0049: Private XML Storage Bosh keep-alive 15
Bosh keep-alive 16 success 0 sec 1 28 ms Test for feature-not-implemented error which should be returned when client sends unsupported stanza Bosh keep-alive 16
Bosh keep-alive 17 success 0 sec 1 36 ms XEP-0054: vcard-temp Bosh keep-alive 17
Bosh keep-alive 18 success 0 sec 1 14 ms XEP-0199: XMPP Ping to domain 'test-d' the user is logged in Bosh keep-alive 18
Bosh keep-alive 19 success 0 sec 1 34 ms XEP-0199: XMPP Ping to another, vrtual domain 'test-domain' on the server Bosh keep-alive 19
Bosh keep-alive 20 success 0 sec 1 16 ms XEP-0030: XMPP Service Discovery Bosh keep-alive 20
Bosh keep-alive 21 success 0 sec 2 177 ms Presence subscription test between 'admin' and 'all-xmpp-test'. Bosh keep-alive 21
Bosh keep-alive 22 success 0 sec 2 149 ms Presence cancel test between 'admin' and 'all-xmpp-test'. Bosh keep-alive 22
Bosh keep-alive 23 success 0 sec 2 155 ms Presence unsubscribe test between 'admin' and 'all-xmpp-test'. Bosh keep-alive 23
Bosh keep-alive 24 success 0 sec 2 160 ms Presence subscription deny test between 'admin' and 'all-xmpp-test'. Bosh keep-alive 24
Bosh keep-alive 25 success 0 sec 1 15 ms Send a message without resource binding and expect an error response. Bosh keep-alive 25
Bosh keep-alive end success 0 sec 1 12 ms XEP-0077 - In-Band Registration - user unregister Bosh keep-alive end
Multi 1 success 1 sec 25 49 ms Multi-thread test of XEP-0077 - In-Band Registration, user register Multi 1
Multi 2 success 0 sec 25 11 ms Multi-thread test of server Version info Multi 2
Multi 3 success 2 sec 25 85 ms Multi-thread test of server Statistics info Multi 3
Multi 4 success 4 sec 25 163 ms Multi-thread test Roster management functions Multi 4
Multi 5 success 1 sec 25 61 ms Multi-thread test of message send to daemon user Multi 5
Multi 6 success 7 sec 25 303 ms Multi-thread test privacy lists management Multi 6
Multi 7 success 0 sec 25 36 ms Multi-thread test privacy lists - send a message to daemon user who blocks all messages Multi 7
Multi 8 success 1 sec 25 71 ms Multi-thread test privacy lists - send a message to daemon user with very long privacy list Multi 8

Test end time: Mar 20, 2010 7:08:13 PM

Total test time: 0 hours, 1 minutes, 4 seconds, 25 ms.

Server stats after test:

message-router:Last second packets 1189
message-router:Last minute packets 10
message-router:Packets received 237128
message-router:Packets sent 849
message-router:IN_QUEUE messages 226638
message-router:IN_QUEUE presences 139
message-router:Local hostname devel.tigase.org
message-router:Uptime 1 min, 51 sec
message-router:Load average 1.0439
message-router:CPU usage 26%
message-router:Max Heap mem 910,272 KB
message-router:Used Heap 422,158 KB
message-router:Free Heap 488,113 KB
message-router:Max NonHeap mem 135,168 KB
message-router:Used NonHeap 31,330 KB
message-router:Free NonHeap 103,837 KB
vhost-man:Number of VHosts 2
vhost-man:Checks: is local domain 682001
vhost-man:Get components for local domain 112690
vhost-man:Get components for non-local domain 402
bosh:Last second packets 6
bosh:Packets received 737
bosh:Packets sent 616
bosh:IN_QUEUE messages 8
bosh:IN_QUEUE presences 18
bosh:OUT_QUEUE messages 8
bosh:OUT_QUEUE presences 24
bosh:Open connections 3
c2s:Last second packets 549
c2s:Last minute packets 5
c2s:Packets received 4937
c2s:Packets sent 4702
c2s:IN_QUEUE messages 1139
c2s:IN_QUEUE presences 18
c2s:OUT_QUEUE messages 1138
c2s:OUT_QUEUE presences 21
c2s:Open connections 4
ext-comp:Packets received 4
ext-comp:Packets sent 4
muc:Packets received 2
muc:Packets sent 2
muc:IN_QUEUE presences 2
muc:OUT_QUEUE presences 2
pubsub:Packets received 8
pubsub:Packets sent 9
pubsub:OUT_QUEUE messages 1
pubsub:Cached nodes 3
pubsub:Update subscriptions calls 4
pubsub:Subscriptions count (in cache) 4
pubsub:Affiliations count (in cache) 4
pubsub:Repository writes 3
pubsub:Added new nodes 3
pubsub:Total writing time 63ms
pubsub:Average DB write time [ms] 10
sess-man:Last second packets 646
sess-man:Last minute packets 5
sess-man:Packets received 118454
sess-man:Packets sent 118846
sess-man:IN_QUEUE messages 113395
sess-man:IN_QUEUE presences 101
sess-man:OUT_QUEUE messages 113397
sess-man:OUT_QUEUE presences 92
sess-man:Open user connections 10
sess-man:Maximum user connections 20
sess-man:Total user connections 346
sess-man:Closed user connections 290
sess-man:Open user sessions 6
sess-man:Maximum user sessions 11
sess-man:Total user sessions 226
srecv:Packets received 64336
srecv:Packets sent 112118
srecv:IN Queue overflow 47782
srecv:IN_QUEUE messages 64336
srecv:OUT_QUEUE messages 112118
unknown:Stats level FINER