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 6:51:35 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 derby
sess-man:user-repo-url jdbc:derby:tigasetest
sess-man:auth-repo-class tigase.db.jdbc.JDBCRepository
sess-man:auth-repo-url jdbc:derby:tigasetest
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 40 ms Get server version Version
Configuration success 0 sec 1 98 ms Server configuration Configuration
Statistics success 0 sec 1 126 ms Server statistics Statistics
Test 1 success 0 sec 1 3 ms Plain socket connect. Test 1
Test 2 success 0 sec 1 75 ms Stream open to server. Test 2
Test 3 success 1 sec 1 1284 ms SSL socket connect. Test 3
Test 4 success 0 sec 1 66 ms XEP-0077 - In-Band Registration, register Test 4
Test 5 success 0 sec 1 23 ms XEP-0078 Non-SASL authorization with plain password. Test 5
Test 6 success 0 sec 1 15 ms XEP-0078 Non-SASL authorization with digest password. Test 6
Test 7 success 0 sec 1 17 ms TLS connection open Test 7
Test 8 success 0 sec 1 30 ms SASL authorization Test 8
Test 9 success 0 sec 1 27 ms XMPP resource bind Test 9
Test 10 success 0 sec 1 41 ms Establish XMPP session Test 10
Test IO success 2 sec 10 219 ms Checking Tigase IO subsystem Test IO
Test 11 success 0 sec 1 57 ms Send a message to self user and don't wait for response Test 11
Test 12 success 0 sec 1 24 ms Send a message to all-xmpp-test_1 user Test 12
Test 13 success 0 sec 1 6 ms XEP-0092 - get entity version Test 13
Test 14 success 0 sec 1 76 ms XEP-0039 Statistics Gathering Test 14
Test 15 success 0 sec 1 303 ms Roster management test Test 15
Test 16 success 0 sec 1 159 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 94 ms Send a message to long-list-user_1 user Test 18
Test 19 success 0 sec 1 99 ms XEP-0049: Private XML Storage Test 19
Test 20 success 0 sec 1 26 ms Test for feature-not-implemented error which should be returned when client sends unsupported stanza Test 20
Test 21 success 0 sec 1 95 ms XEP-0054: vcard-temp Test 21
Test 22 success 0 sec 1 118 ms XEP-0199: XMPP Ping to domain 'test-d' the user is logged in Test 22
Test 23 success 0 sec 1 60 ms XEP-0199: XMPP Ping to another, vrtual domain 'test-domain' on the server Test 23
Test 24 success 0 sec 1 101 ms XEP-0030: XMPP Service Discovery Test 24
Test 25 success 1 sec 2 267 ms Presence subscription test between 'admin' and 'all-xmpp-test'. Test 25
Test 26 success 0 sec 2 177 ms Presence cancel test between 'admin' and 'all-xmpp-test'. Test 26
Test 27 success 0 sec 2 187 ms Presence unsubscribe test between 'admin' and 'all-xmpp-test'. Test 27
Test 28 success 0 sec 2 203 ms Presence subscription between 'admin' and 'all-xmpp-test' again to prepare for the next test. Test 28
Test 29 success 0 sec 2 202 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 143 ms 2 user connections, each using a different resource. Test 30
Test 31 success 0 sec 2 183 ms Presence subscription deny test between 'admin' and 'all-xmpp-test'. Test 31
Test 32 success 0 sec 1 17 ms Send a message without resource binding and expect an error response. Test 32
Test 33 success 0 sec 1 54 ms USER_STATUS command test to ensure interoperability with Yate Test 33
Test 34 success 0 sec 1 6 ms USER_STATUS command test to ensure security, should receive forbidden error. Test 34
Test 35 success 0 sec 1 16 ms Check whether the tester user account responds Test 35
Test 36 success 0 sec 1 38 ms Send a command to tester_1 user to generate 10 messages on the server. Test 36
Test 37 success 0 sec 1 24 ms Send a command to tester_1 user to generate 100 messages on the server. Test 37
Test 38 success 0 sec 1 168 ms Send a command to tester_1 user to generate 1000 messages on the server. Test 38
Test 39 success 1 sec 1 1284 ms Send a command to tester_1 user to generate 10000 messages on the server. Test 39
Test 40 success 4 sec 1 4759 ms Send a command to tester_1 user to generate 100000 messages on the server. Test 40
Test 41 success 0 sec 1 100 ms Dynamic roster storage test Test 41
Test 42 success 0 sec 1 71 ms Dynamic roster merge test Test 42
MUC 1 success 0 sec 1 55 ms Send room create presence request to MUC component. MUC 1
PubSub 1 success 0 sec 1 41 ms Get version from the pubsub component. PubSub 1
PubSub 2 success 0 sec 1 142 ms Create a new node in the pubsub component. PubSub 2
PubSub 3 success 0 sec 1 49 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 148 ms Create a collection node in the pubsub component. PubSub 5
RosterMan 1 success 0 sec 1 269 ms Register user mgmt Ad-Hoc script RosterMan 1
RosterMan 5 success 0 sec 1 18 ms Ad-Hoc user mgmt - Check removed user RosterMan 5
RosterMan 6 success 0 sec 1 111 ms Ad-Hoc user mgmt - Non existing user check RosterMan 6
VHost 1 success 0 sec 1 49 ms XEP-0199: XMPP Ping to virtual domain 'test-domain' on the server VHost 1
VHost 2 success 0 sec 1 81 ms Reloading VHosts from non-admin account, expecting error message VHost 2
VHost 3 success 0 sec 1 34 ms Updating VHost from non-admin account, expecting error message VHost 3
VHost 4 success 0 sec 1 30 ms Removing VHost from non-admin account, expecting error message VHost 4
VHost 5 success 0 sec 1 19 ms Reloading VHosts from admin account... VHost 5
VHost 6 success 0 sec 1 37 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 67 ms Adding VHost 'vhost-1' from admin account VHost 7
VHost 8 success 0 sec 1 17 ms XEP-0199: XMPP Ping to virtual domain 'vhost-1' on the server VHost 8
VHost 9 success 0 sec 1 134 ms Removing VHost 'vhost-1' from admin account VHost 9
VHost 10 success 0 sec 1 25 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 3 ms XEP-0199: XMPP Ping 200 non-existen vhosts on the server, expecting error responses VHost 11
VHost 12 success 2 sec 200 10 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 54 ms Reloading all VHosts from admin account... VHost 14
VHost 15 success 1 sec 200 8 ms Removing 200 VHosts from admin account VHost 15
VHost 16 success 0 sec 200 2 ms XEP-0199: XMPP Ping 200 non-existen vhosts on the server, expecting error responses VHost 16
VHost 17 success 0 sec 1 11 ms Reloading all VHosts from admin account... VHost 17
Vhost end success 0 sec 1 50 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 9 ms Stream open to server. Bosh 2
Bosh 3 success 0 sec 1 42 ms XEP-0077 - In-Band Registration, register Bosh 3
Bosh 4 success 0 sec 1 32 ms XEP-0078 Non-SASL authorization with plain password. Bosh 4
Bosh 5 success 0 sec 1 16 ms SASL authorization Bosh 5
Bosh 6 success 0 sec 1 13 ms XMPP resource bind Bosh 6
Bosh 7 success 0 sec 1 25 ms Establish XMPP session Bosh 7
Bosh 8 success 0 sec 1 19 ms Send a message to self user and don't wait for response Bosh 8
Bosh 9 success 0 sec 1 25 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 30 ms XEP-0039 Statistics Gathering Bosh 11
Bosh 12 success 0 sec 1 60 ms Roster management test Bosh 12
Bosh 13 success 0 sec 1 110 ms Privacy lists management test Bosh 13
Bosh 14 success 0 sec 1 22 ms Privacy lists - send a message to blocking-test-user_1 user Bosh 14
Bosh 15 success 0 sec 1 83 ms XEP-0049: Private XML Storage Bosh 15
Bosh 16 success 0 sec 1 62 ms Test for feature-not-implemented error which should be returned when client sends unsupported stanza Bosh 16
Bosh 17 success 0 sec 1 91 ms XEP-0054: vcard-temp Bosh 17
Bosh 18 success 0 sec 1 61 ms XEP-0199: XMPP Ping to domain 'test-d' the user is logged in Bosh 18
Bosh 19 success 0 sec 1 51 ms XEP-0199: XMPP Ping to another, vrtual domain 'test-domain' on the server Bosh 19
Bosh 20 success 0 sec 1 20 ms XEP-0030: XMPP Service Discovery Bosh 20
Bosh 21 success 0 sec 2 190 ms Presence subscription test between 'admin' and 'all-xmpp-test'. Bosh 21
Bosh 22 success 0 sec 2 155 ms Presence cancel test between 'admin' and 'all-xmpp-test'. Bosh 22
Bosh 23 success 0 sec 2 167 ms Presence unsubscribe test between 'admin' and 'all-xmpp-test'. Bosh 23
Bosh 24 success 1 sec 2 350 ms Presence subscription deny test between 'admin' and 'all-xmpp-test'. Bosh 24
Bosh 25 success 0 sec 1 14 ms Send a message without resource binding and expect an error response. Bosh 25
Bosh end success 0 sec 1 46 ms XEP-0077 - In-Band Registration - user unregister Bosh end
Bosh keep-alive 1 success 0 sec 1 0 ms Socket connect. Bosh keep-alive 1
Bosh keep-alive 2 success 0 sec 1 19 ms Stream open to server. Bosh keep-alive 2
Bosh keep-alive3 success 0 sec 1 38 ms XEP-0077 - In-Band Registration, register Bosh keep-alive3
Bosh keep-alive 4 success 0 sec 1 28 ms XEP-0078 Non-SASL authorization with plain password. Bosh keep-alive 4
Bosh keep-alive 5 success 0 sec 1 24 ms SASL authorization Bosh keep-alive 5
Bosh keep-alive 6 success 0 sec 1 14 ms XMPP resource bind Bosh keep-alive 6
Bosh keep-alive 7 success 0 sec 1 18 ms Establish XMPP session Bosh keep-alive 7
Bosh keep-alive 8 success 0 sec 1 30 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 15 ms XEP-0092 - get entity version Bosh keep-alive 10
Bosh keep-alive 11 success 0 sec 1 57 ms XEP-0039 Statistics Gathering Bosh keep-alive 11
Bosh keep-alive 12 success 0 sec 1 100 ms Roster management test Bosh keep-alive 12
Bosh keep-alive 13 success 0 sec 1 123 ms Privacy lists management test Bosh keep-alive 13
Bosh keep-alive 14 success 0 sec 1 13 ms Privacy lists - send a message to blocking-test-user_1 user Bosh keep-alive 14
Bosh keep-alive 15 success 0 sec 1 70 ms XEP-0049: Private XML Storage Bosh keep-alive 15
Bosh keep-alive 16 success 0 sec 1 92 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 76 ms XEP-0054: vcard-temp Bosh keep-alive 17
Bosh keep-alive 18 success 0 sec 1 23 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 27 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 24 ms XEP-0030: XMPP Service Discovery Bosh keep-alive 20
Bosh keep-alive 21 success 0 sec 2 225 ms Presence subscription test between 'admin' and 'all-xmpp-test'. Bosh keep-alive 21
Bosh keep-alive 22 success 0 sec 2 152 ms Presence cancel test between 'admin' and 'all-xmpp-test'. Bosh keep-alive 22
Bosh keep-alive 23 success 0 sec 2 162 ms Presence unsubscribe test between 'admin' and 'all-xmpp-test'. Bosh keep-alive 23
Bosh keep-alive 24 success 0 sec 2 172 ms Presence subscription deny test between 'admin' and 'all-xmpp-test'. Bosh keep-alive 24
Bosh keep-alive 25 success 0 sec 1 10 ms Send a message without resource binding and expect an error response. Bosh keep-alive 25
Bosh keep-alive end success 0 sec 1 39 ms XEP-0077 - In-Band Registration - user unregister Bosh keep-alive end
Multi 1 success 2 sec 25 119 ms Multi-thread test of XEP-0077 - In-Band Registration, user register Multi 1
Multi 2 success 0 sec 25 10 ms Multi-thread test of server Version info Multi 2
Multi 3 success 3 sec 25 154 ms Multi-thread test of server Statistics info Multi 3
Multi 4 success 5 sec 25 220 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 10 sec 25 439 ms Multi-thread test privacy lists management Multi 6
Multi 7 success 1 sec 25 58 ms Multi-thread test privacy lists - send a message to daemon user who blocks all messages Multi 7
Multi 8 success 1 sec 25 45 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 6:52:43 PM

Total test time: 0 hours, 1 minutes, 8 seconds, 661 ms.

Server stats after test:

message-router:Last second packets 488
message-router:Last minute packets 10
message-router:Packets received 237152
message-router:Packets sent 849
message-router:IN_QUEUE messages 226627
message-router:IN_QUEUE presences 141
message-router:Local hostname devel.tigase.org
message-router:Uptime 1 min, 56 sec
message-router:Load average 2.4077
message-router:CPU usage 81.5%
message-router:Max Heap mem 910,272 KB
message-router:Used Heap 363,557 KB
message-router:Free Heap 546,714 KB
message-router:Max NonHeap mem 135,168 KB
message-router:Used NonHeap 43,596 KB
message-router:Free NonHeap 91,571 KB
vhost-man:Number of VHosts 2
vhost-man:Checks: is local domain 682035
vhost-man:Get components for local domain 112630
vhost-man:Get components for non-local domain 402
bosh:Last second packets 4
bosh:Packets received 745
bosh:Packets sent 621
bosh:IN_QUEUE messages 8
bosh:IN_QUEUE presences 18
bosh:OUT_QUEUE messages 8
bosh:OUT_QUEUE presences 24
c2s:Last second packets 323
c2s:Last minute packets 5
c2s:Packets received 4939
c2s:Packets sent 4703
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:Number of external domains 1
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:Average processing time on last 100 runs [ms] 2
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 185ms
pubsub:Average DB write time [ms] 30
sess-man:Last second packets 564
sess-man:Last minute packets 5
sess-man:Packets received 118463
sess-man:Packets sent 118858
sess-man:IN_QUEUE messages 113395
sess-man:IN_QUEUE presences 104
sess-man:OUT_QUEUE messages 113397
sess-man:OUT_QUEUE presences 94
sess-man:Open user connections 10
sess-man:Maximum user connections 20
sess-man:Total user connections 346
sess-man:Closed user connections 286
sess-man:Open user sessions 6
sess-man:Maximum user sessions 11
sess-man:Total user sessions 223
srecv:Packets received 59251
srecv:Packets sent 112118
srecv:IN Queue overflow 52867
srecv:IN_QUEUE messages 59251
srecv:OUT_QUEUE messages 112118
unknown:Stats level FINER