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 8, 2010 3:03:42 PM

Server version info:

Name:  Tigase
Version:  5.0.0-b2103
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 77 ms Get server version Version
Configuration success 0 sec 1 122 ms Server configuration Configuration
Statistics success 0 sec 1 58 ms Server statistics Statistics
Test 1 success 0 sec 1 1 ms Plain socket connect. Test 1
Test 2 success 0 sec 1 7 ms Stream open to server. Test 2
Test 3 success 1 sec 1 1240 ms SSL socket connect. Test 3
Test 4 success 0 sec 1 54 ms XEP-0077 - In-Band Registration, register Test 4
Test 5 success 0 sec 1 18 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 21 ms TLS connection open Test 7
Test 8 success 0 sec 1 34 ms SASL authorization Test 8
Test 9 success 0 sec 1 25 ms XMPP resource bind Test 9
Test 10 success 0 sec 1 47 ms Establish XMPP session Test 10
Test IO success 1 sec 10 189 ms Checking Tigase IO subsystem Test IO
Test 11 success 0 sec 1 119 ms Send a message to self user and don't wait for response Test 11
Test 12 success 0 sec 1 38 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 96 ms XEP-0039 Statistics Gathering Test 14
Test 15 success 0 sec 1 217 ms Roster management test Test 15
Test 16 success 0 sec 1 142 ms Privacy lists management test Test 16
Test 17 success 0 sec 1 18 ms Privacy lists - send a message to blocking-test-user_1 user Test 17
Test 18 success 0 sec 1 20 ms Send a message to long-list-user_1 user Test 18
Test 19 success 0 sec 1 70 ms XEP-0049: Private XML Storage Test 19
Test 20 success 0 sec 1 37 ms Test for feature-not-implemented error which should be returned when client sends unsupported stanza Test 20
Test 21 success 0 sec 1 119 ms XEP-0054: vcard-temp Test 21
Test 22 success 0 sec 1 67 ms XEP-0199: XMPP Ping to domain 'test-d' the user is logged in Test 22
Test 23 success 0 sec 1 161 ms XEP-0199: XMPP Ping to another, vrtual domain 'test-domain' on the server Test 23
Test 24 success 0 sec 1 62 ms XEP-0030: XMPP Service Discovery Test 24
Test 25 success 0 sec 2 209 ms Presence subscription test between 'admin' and 'all-xmpp-test'. Test 25
Test 26 success 0 sec 2 199 ms Presence cancel test between 'admin' and 'all-xmpp-test'. Test 26
Test 27 success 0 sec 2 163 ms Presence unsubscribe test between 'admin' and 'all-xmpp-test'. Test 27
Test 28 success 1 sec 2 258 ms Presence subscription between 'admin' and 'all-xmpp-test' again to prepare for the next test. Test 28
Test 29 success 0 sec 2 169 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 139 ms 2 user connections, each using a different resource. Test 30
Test 31 success 0 sec 2 196 ms Presence subscription deny test between 'admin' and 'all-xmpp-test'. Test 31
Test 32 success 0 sec 1 18 ms Send a message without resource binding and expect an error response. Test 32
Test 33 success 0 sec 1 46 ms USER_STATUS command test to ensure interoperability with Yate Test 33
Test 34 success 0 sec 1 3 ms USER_STATUS command test to ensure security, should receive forbidden error. Test 34
Test 35 success 0 sec 1 13 ms Check whether the tester user account responds Test 35
Test 36 success 0 sec 1 14 ms Send a command to tester_1 user to generate 10 messages on the server. Test 36
Test 37 success 0 sec 1 66 ms Send a command to tester_1 user to generate 100 messages on the server. Test 37
Test 38 success 0 sec 1 245 ms Send a command to tester_1 user to generate 1000 messages on the server. Test 38
Test 39 success 1 sec 1 1263 ms Send a command to tester_1 user to generate 10000 messages on the server. Test 39
Test 40 success 4 sec 1 4584 ms Send a command to tester_1 user to generate 100000 messages on the server. Test 40
Test 41 success 0 sec 1 230 ms Dynamic roster storage test Test 41
Test 42 success 0 sec 1 168 ms Dynamic roster merge test Test 42
MUC 1 success 0 sec 1 405 ms Send room create presence request to MUC component. MUC 1
PubSub 1 success 0 sec 1 22 ms Get version from the pubsub component. PubSub 1
PubSub 2 success 0 sec 1 76 ms Create a new node in the pubsub component. PubSub 2
PubSub 3 success 0 sec 1 18 ms Add subscriptions to the node in the pubsub component. PubSub 3
PubSub 4 success 0 sec 1 20 ms Add affiliations to the node in the pubsub component. PubSub 4
PubSub 5 success 0 sec 1 43 ms Create a collection node in the pubsub component. PubSub 5
RosterMan 1 success 0 sec 1 326 ms Register user mgmt Ad-Hoc script RosterMan 1
RosterMan 5 success 0 sec 1 124 ms Ad-Hoc user mgmt - Check removed user RosterMan 5
RosterMan 6 success 0 sec 1 116 ms Ad-Hoc user mgmt - Non existing user check RosterMan 6
VHost 1 success 0 sec 1 25 ms XEP-0199: XMPP Ping to virtual domain 'test-domain' on the server VHost 1
VHost 2 success 0 sec 1 38 ms Reloading VHosts from non-admin account, expecting error message VHost 2
VHost 3 success 0 sec 1 13 ms Updating VHost from non-admin account, expecting error message VHost 3
VHost 4 success 0 sec 1 14 ms Removing VHost from non-admin account, expecting error message VHost 4
VHost 5 success 0 sec 1 34 ms Reloading VHosts from admin account... VHost 5
VHost 6 success 0 sec 1 27 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 31 ms Adding VHost 'vhost-1' from admin account VHost 7
VHost 8 success 0 sec 1 18 ms XEP-0199: XMPP Ping to virtual domain 'vhost-1' on the server VHost 8
VHost 9 success 0 sec 1 36 ms Removing VHost 'vhost-1' from admin account VHost 9
VHost 10 success 0 sec 1 22 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 6 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 47 ms Reloading all VHosts from admin account... VHost 14
VHost 15 success 1 sec 200 7 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 94 ms Reloading all VHosts from admin account... VHost 17
Vhost end success 0 sec 1 24 ms XEP-0077 - In-Band Registration - user unregister Vhost end
Bosh 1 success 0 sec 1 1 ms Socket connect. Bosh 1
Bosh 2 success 0 sec 1 29 ms Stream open to server. Bosh 2
Bosh 3 success 0 sec 1 20 ms XEP-0077 - In-Band Registration, register Bosh 3
Bosh 4 success 0 sec 1 41 ms XEP-0078 Non-SASL authorization with plain password. Bosh 4
Bosh 5 success 0 sec 1 27 ms SASL authorization Bosh 5
Bosh 6 success 0 sec 1 36 ms XMPP resource bind Bosh 6
Bosh 7 success 0 sec 1 19 ms Establish XMPP session Bosh 7
Bosh 8 success 0 sec 1 23 ms Send a message to self user and don't wait for response Bosh 8
Bosh 9 success 0 sec 1 20 ms Send a message to all-xmpp-test_1 user Bosh 9
Bosh 10 success 0 sec 1 5 ms XEP-0092 - get entity version Bosh 10
Bosh 11 success 0 sec 1 29 ms XEP-0039 Statistics Gathering Bosh 11
Bosh 12 success 0 sec 1 58 ms Roster management test Bosh 12
Bosh 13 success 0 sec 1 99 ms Privacy lists management test Bosh 13
Bosh 14 success 0 sec 1 17 ms Privacy lists - send a message to blocking-test-user_1 user Bosh 14
Bosh 15 success 0 sec 1 64 ms XEP-0049: Private XML Storage Bosh 15
Bosh 16 success 0 sec 1 20 ms Test for feature-not-implemented error which should be returned when client sends unsupported stanza Bosh 16
Bosh 17 success 0 sec 1 59 ms XEP-0054: vcard-temp Bosh 17
Bosh 18 success 0 sec 1 25 ms XEP-0199: XMPP Ping to domain 'test-d' the user is logged in Bosh 18
Bosh 19 success 0 sec 1 31 ms XEP-0199: XMPP Ping to another, vrtual domain 'test-domain' on the server Bosh 19
Bosh 20 success 0 sec 1 54 ms XEP-0030: XMPP Service Discovery Bosh 20
Bosh 21 success 0 sec 2 192 ms Presence subscription test between 'admin' and 'all-xmpp-test'. Bosh 21
Bosh 22 success 0 sec 2 152 ms Presence cancel test between 'admin' and 'all-xmpp-test'. Bosh 22
Bosh 23 success 0 sec 2 161 ms Presence unsubscribe test between 'admin' and 'all-xmpp-test'. Bosh 23
Bosh 24 success 1 sec 2 292 ms Presence subscription deny test between 'admin' and 'all-xmpp-test'. Bosh 24
Bosh 25 success 0 sec 1 17 ms Send a message without resource binding and expect an error response. Bosh 25
Bosh end success 0 sec 1 13 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 2 ms Stream open to server. Bosh keep-alive 2
Bosh keep-alive3 success 0 sec 1 14 ms XEP-0077 - In-Band Registration, register Bosh keep-alive3
Bosh keep-alive 4 success 0 sec 1 8 ms XEP-0078 Non-SASL authorization with plain password. Bosh keep-alive 4
Bosh keep-alive 5 success 0 sec 1 29 ms SASL authorization Bosh keep-alive 5
Bosh keep-alive 6 success 0 sec 1 11 ms XMPP resource bind Bosh keep-alive 6
Bosh keep-alive 7 success 0 sec 1 20 ms Establish XMPP session Bosh keep-alive 7
Bosh keep-alive 8 success 0 sec 1 22 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 14 ms Send a message to all-xmpp-test_1 user Bosh keep-alive 9
Bosh keep-alive 10 success 0 sec 1 5 ms XEP-0092 - get entity version Bosh keep-alive 10
Bosh keep-alive 11 success 0 sec 1 39 ms XEP-0039 Statistics Gathering Bosh keep-alive 11
Bosh keep-alive 12 success 0 sec 1 30 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 11 ms Privacy lists - send a message to blocking-test-user_1 user Bosh keep-alive 14
Bosh keep-alive 15 success 0 sec 1 46 ms XEP-0049: Private XML Storage Bosh keep-alive 15
Bosh keep-alive 16 success 0 sec 1 27 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 74 ms XEP-0054: vcard-temp Bosh keep-alive 17
Bosh keep-alive 18 success 0 sec 1 12 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 12 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 22 ms XEP-0030: XMPP Service Discovery Bosh keep-alive 20
Bosh keep-alive 21 success 0 sec 2 186 ms Presence subscription test between 'admin' and 'all-xmpp-test'. Bosh keep-alive 21
Bosh keep-alive 22 success 0 sec 2 148 ms Presence cancel test between 'admin' and 'all-xmpp-test'. Bosh keep-alive 22
Bosh keep-alive 23 success 0 sec 2 168 ms Presence unsubscribe test between 'admin' and 'all-xmpp-test'. Bosh keep-alive 23
Bosh keep-alive 24 success 1 sec 2 274 ms Presence subscription deny test between 'admin' and 'all-xmpp-test'. Bosh keep-alive 24
Bosh keep-alive 25 success 0 sec 1 17 ms Send a message without resource binding and expect an error response. Bosh keep-alive 25
Bosh keep-alive end success 0 sec 1 13 ms XEP-0077 - In-Band Registration - user unregister Bosh keep-alive end
Multi 1 success 1 sec 25 41 ms Multi-thread test of XEP-0077 - In-Band Registration, user register Multi 1
Multi 2 success 0 sec 25 9 ms Multi-thread test of server Version info Multi 2
Multi 3 success 1 sec 25 74 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 49 ms Multi-thread test of message send to daemon user Multi 5
Multi 6 success 6 sec 25 250 ms Multi-thread test privacy lists management Multi 6
Multi 7 success 1 sec 25 47 ms Multi-thread test privacy lists - send a message to daemon user who blocks all messages Multi 7
Multi 8 success 1 sec 25 68 ms Multi-thread test privacy lists - send a message to daemon user with very long privacy list Multi 8

Test end time: Mar 8, 2010 3:04:47 PM

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

Server stats after test:

message-router:Last second packets 1166
message-router:Last minute packets 10
message-router:Packets received 237120
message-router:Packets sent 849
message-router:IN_QUEUE messages 226643
message-router:IN_QUEUE presences 135
message-router:Local hostname devel.tigase.org
message-router:Uptime 1 min, 52 sec
message-router:Load average 1.7432
message-router:CPU usage 32%
message-router:Max Heap mem 910,272 KB
message-router:Used Heap 260,352 KB
message-router:Free Heap 649,919 KB
message-router:Max NonHeap mem 135,168 KB
message-router:Used NonHeap 31,753 KB
message-router:Free NonHeap 103,414 KB
vhost-man:Number of VHosts 2
vhost-man:Checks: is local domain 682158
vhost-man:Get components for local domain 113528
vhost-man:Get components for non-local domain 402
bosh:Packets received 725
bosh:Packets sent 603
bosh:IN_QUEUE messages 8
bosh:IN_QUEUE presences 18
bosh:OUT_QUEUE messages 8
bosh:OUT_QUEUE presences 24
c2s:Last second packets 570
c2s:Last minute packets 5
c2s:Packets received 4941
c2s:Packets sent 4704
c2s:IN_QUEUE messages 1139
c2s:IN_QUEUE presences 17
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 95ms
pubsub:Average DB write time [ms] 15
sess-man:Last second packets 634
sess-man:Last minute packets 5
sess-man:Packets received 118468
sess-man:Packets sent 118835
sess-man:IN_QUEUE messages 113397
sess-man:IN_QUEUE presences 98
sess-man:OUT_QUEUE messages 113397
sess-man:OUT_QUEUE presences 88
sess-man:Open user connections 11
sess-man:Maximum user connections 20
sess-man:Total user connections 346
sess-man:Closed user connections 287
sess-man:Open user sessions 6
sess-man:Maximum user sessions 11
sess-man:Total user sessions 223
srecv:Packets received 70416
srecv:Packets sent 112118
srecv:IN Queue overflow 41702
srecv:IN_QUEUE messages 70416
srecv:OUT_QUEUE messages 112118
unknown:Stats level FINER