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 2:56:00 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 mysql
sess-man:user-repo-url jdbc:mysql://localhost/tigasetest?user=tigase&password=mypass&cacheRepo=off
sess-man:auth-repo-class tigase.db.jdbc.JDBCRepository
sess-man:auth-repo-url jdbc:mysql://localhost/tigasetest?user=tigase&password=mypass&cacheRepo=off
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 39 ms Get server version Version
Configuration success 0 sec 1 123 ms Server configuration Configuration
Statistics success 0 sec 1 115 ms Server statistics Statistics
Test 1 success 0 sec 1 1 ms Plain socket connect. Test 1
Test 2 success 0 sec 1 58 ms Stream open to server. Test 2
Test 3 success 1 sec 1 1363 ms SSL socket connect. Test 3
Test 4 success 0 sec 1 61 ms XEP-0077 - In-Band Registration, register Test 4
Test 5 success 0 sec 1 22 ms XEP-0078 Non-SASL authorization with plain password. Test 5
Test 6 success 0 sec 1 50 ms XEP-0078 Non-SASL authorization with digest password. Test 6
Test 7 success 0 sec 1 27 ms TLS connection open Test 7
Test 8 success 0 sec 1 66 ms SASL authorization Test 8
Test 9 success 0 sec 1 81 ms XMPP resource bind Test 9
Test 10 success 0 sec 1 125 ms Establish XMPP session Test 10
Test IO success 2 sec 10 278 ms Checking Tigase IO subsystem Test IO
Test 11 success 0 sec 1 158 ms Send a message to self user and don't wait for response Test 11
Test 12 success 0 sec 1 32 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 75 ms XEP-0039 Statistics Gathering Test 14
Test 15 success 0 sec 1 292 ms Roster management test Test 15
Test 16 success 0 sec 1 111 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 25 ms Send a message to long-list-user_1 user Test 18
Test 19 success 0 sec 1 129 ms XEP-0049: Private XML Storage Test 19
Test 20 success 0 sec 1 16 ms Test for feature-not-implemented error which should be returned when client sends unsupported stanza Test 20
Test 21 success 0 sec 1 157 ms XEP-0054: vcard-temp Test 21
Test 22 success 0 sec 1 327 ms XEP-0199: XMPP Ping to domain 'test-d' the user is logged in Test 22
Test 23 success 0 sec 1 318 ms XEP-0199: XMPP Ping to another, vrtual domain 'test-domain' on the server Test 23
Test 24 success 0 sec 1 151 ms XEP-0030: XMPP Service Discovery Test 24
Test 25 success 1 sec 2 275 ms Presence subscription test between 'admin' and 'all-xmpp-test'. Test 25
Test 26 success 0 sec 2 170 ms Presence cancel test between 'admin' and 'all-xmpp-test'. Test 26
Test 27 success 0 sec 2 166 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 160 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 147 ms 2 user connections, each using a different resource. Test 30
Test 31 success 0 sec 2 193 ms Presence subscription deny test between 'admin' and 'all-xmpp-test'. Test 31
Test 32 success 0 sec 1 16 ms Send a message without resource binding and expect an error response. Test 32
Test 33 success 0 sec 1 16 ms USER_STATUS command test to ensure interoperability with Yate Test 33
Test 34 success 0 sec 1 5 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 13 ms Send a command to tester_1 user to generate 10 messages on the server. Test 36
Test 37 success 0 sec 1 35 ms Send a command to tester_1 user to generate 100 messages on the server. Test 37
Test 38 success 0 sec 1 166 ms Send a command to tester_1 user to generate 1000 messages on the server. Test 38
Test 39 success 1 sec 1 1500 ms Send a command to tester_1 user to generate 10000 messages on the server. Test 39
Test 40 success 4 sec 1 4824 ms Send a command to tester_1 user to generate 100000 messages on the server. Test 40
Test 41 success 0 sec 1 46 ms Dynamic roster storage test Test 41
Test 42 success 0 sec 1 119 ms Dynamic roster merge test Test 42
MUC 1 success 0 sec 1 30 ms Send room create presence request to MUC component. MUC 1
PubSub 1 success 0 sec 1 26 ms Get version from the pubsub component. PubSub 1
PubSub 2 success 0 sec 1 35 ms Create a new node in the pubsub component. PubSub 2
PubSub 3 success 0 sec 1 16 ms Add subscriptions to the node in the pubsub component. PubSub 3
PubSub 4 success 0 sec 1 15 ms Add affiliations to the node in the pubsub component. PubSub 4
PubSub 5 success 0 sec 1 61 ms Create a collection node in the pubsub component. PubSub 5
RosterMan 1 success 0 sec 1 172 ms Register user mgmt Ad-Hoc script RosterMan 1
RosterMan 5 success 0 sec 1 17 ms Ad-Hoc user mgmt - Check removed user RosterMan 5
RosterMan 6 success 0 sec 1 48 ms Ad-Hoc user mgmt - Non existing user check RosterMan 6
VHost 1 success 0 sec 1 11 ms XEP-0199: XMPP Ping to virtual domain 'test-domain' on the server VHost 1
VHost 2 success 0 sec 1 14 ms Reloading VHosts from non-admin account, expecting error message VHost 2
VHost 3 success 0 sec 1 27 ms Updating VHost from non-admin account, expecting error message VHost 3
VHost 4 success 0 sec 1 84 ms Removing VHost from non-admin account, expecting error message VHost 4
VHost 5 success 0 sec 1 32 ms Reloading VHosts from admin account... VHost 5
VHost 6 success 0 sec 1 51 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 53 ms Adding VHost 'vhost-1' from admin account VHost 7
VHost 8 success 0 sec 1 19 ms XEP-0199: XMPP Ping to virtual domain 'vhost-1' on the server VHost 8
VHost 9 success 0 sec 1 115 ms Removing VHost 'vhost-1' from admin account VHost 9
VHost 10 success 0 sec 1 15 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 9 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 73 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 1 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 14 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 10 ms Stream open to server. Bosh 2
Bosh 3 success 0 sec 1 76 ms XEP-0077 - In-Band Registration, register Bosh 3
Bosh 4 success 0 sec 1 8 ms XEP-0078 Non-SASL authorization with plain password. Bosh 4
Bosh 5 success 0 sec 1 20 ms SASL authorization Bosh 5
Bosh 6 success 0 sec 1 44 ms XMPP resource bind Bosh 6
Bosh 7 success 0 sec 1 18 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 20 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 42 ms XEP-0039 Statistics Gathering Bosh 11
Bosh 12 success 0 sec 1 77 ms Roster management test Bosh 12
Bosh 13 success 0 sec 1 71 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 65 ms XEP-0049: Private XML Storage Bosh 15
Bosh 16 success 0 sec 1 33 ms Test for feature-not-implemented error which should be returned when client sends unsupported stanza Bosh 16
Bosh 17 success 0 sec 1 61 ms XEP-0054: vcard-temp Bosh 17
Bosh 18 success 0 sec 1 24 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 26 ms XEP-0030: XMPP Service Discovery Bosh 20
Bosh 21 success 0 sec 2 195 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 167 ms Presence unsubscribe test between 'admin' and 'all-xmpp-test'. Bosh 23
Bosh 24 success 1 sec 2 293 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 0 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 18 ms XEP-0077 - In-Band Registration, register Bosh keep-alive3
Bosh keep-alive 4 success 0 sec 1 14 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 29 ms Establish XMPP session Bosh keep-alive 7
Bosh keep-alive 8 success 0 sec 1 13 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 21 ms Send a message to all-xmpp-test_1 user Bosh keep-alive 9
Bosh keep-alive 10 success 0 sec 1 4 ms XEP-0092 - get entity version Bosh keep-alive 10
Bosh keep-alive 11 success 0 sec 1 27 ms XEP-0039 Statistics Gathering Bosh keep-alive 11
Bosh keep-alive 12 success 0 sec 1 45 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 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 50 ms XEP-0049: Private XML Storage Bosh keep-alive 15
Bosh keep-alive 16 success 0 sec 1 19 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 58 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 14 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 25 ms XEP-0030: XMPP Service Discovery Bosh keep-alive 20
Bosh keep-alive 21 success 0 sec 2 203 ms Presence subscription test between 'admin' and 'all-xmpp-test'. Bosh keep-alive 21
Bosh keep-alive 22 success 0 sec 2 151 ms Presence cancel test between 'admin' and 'all-xmpp-test'. Bosh keep-alive 22
Bosh keep-alive 23 success 0 sec 2 157 ms Presence unsubscribe test between 'admin' and 'all-xmpp-test'. Bosh keep-alive 23
Bosh keep-alive 24 success 0 sec 2 170 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 45 ms Multi-thread test of XEP-0077 - In-Band Registration, user register Multi 1
Multi 2 success 0 sec 25 14 ms Multi-thread test of server Version info Multi 2
Multi 3 success 1 sec 25 70 ms Multi-thread test of server Statistics info Multi 3
Multi 4 success 4 sec 25 198 ms Multi-thread test Roster management functions Multi 4
Multi 5 success 1 sec 25 54 ms Multi-thread test of message send to daemon user Multi 5
Multi 6 success 5 sec 25 215 ms Multi-thread test privacy lists management Multi 6
Multi 7 success 1 sec 25 44 ms Multi-thread test privacy lists - send a message to daemon user who blocks all messages Multi 7
Multi 8 success 2 sec 25 89 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 2:57:06 PM

Total test time: 0 hours, 1 minutes, 6 seconds, 443 ms.

Server stats after test:

message-router:Last second packets 1329
message-router:Last minute packets 10
message-router:Packets received 237116
message-router:Packets sent 849
message-router:IN_QUEUE messages 226622
message-router:IN_QUEUE presences 136
message-router:Local hostname devel.tigase.org
message-router:Uptime 1 min, 53 sec
message-router:Load average 1.5249
message-router:CPU usage 71.3%
message-router:Max Heap mem 910,272 KB
message-router:Used Heap 417,696 KB
message-router:Free Heap 492,575 KB
message-router:Max NonHeap mem 135,168 KB
message-router:Used NonHeap 32,869 KB
message-router:Free NonHeap 102,298 KB
vhost-man:Number of VHosts 2
vhost-man:Checks: is local domain 681828
vhost-man:Get components for local domain 113099
vhost-man:Get components for non-local domain 402
bosh:Packets received 727
bosh:Packets sent 608
bosh:IN_QUEUE messages 8
bosh:IN_QUEUE presences 18
bosh:OUT_QUEUE messages 8
bosh:OUT_QUEUE presences 24
c2s:Last second packets 552
c2s:Last minute packets 5
c2s:Packets received 4938
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 151ms
pubsub:Average DB write time [ms] 25
sess-man:Last second packets 677
sess-man:Last minute packets 5
sess-man:Packets received 118425
sess-man:Packets sent 118834
sess-man:IN_QUEUE messages 113396
sess-man:IN_QUEUE presences 98
sess-man:OUT_QUEUE messages 113397
sess-man:OUT_QUEUE presences 89
sess-man:Open user connections 11
sess-man:Maximum user connections 21
sess-man:Total user connections 346
sess-man:Closed user connections 291
sess-man:Open user sessions 6
sess-man:Maximum user sessions 11
sess-man:Total user sessions 225
srecv:Packets received 68204
srecv:Packets sent 112118
srecv:IN Queue overflow 43914
srecv:IN_QUEUE messages 68204
srecv:OUT_QUEUE messages 112118
unknown:Stats level FINER