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. Testing bosh component
  6. Testing bosh component in keep-alive mode
  7. Multi-threaded tests for various XMPP functions
  8. Script with functional tests for Administrator ad-hoc commands

Test start time: Jan 20, 2016 1:45:41 PM

Server version info:

Name:  Tigase
Version:  7.1.0-SNAPSHOT-b4140/917f7b62 (2016-01-20/12:41:46)
OS:  Linux-amd64-3.5.0-23-generic, Java HotSpot(TM) 64-Bit Server VM-25.66-b17-Oracle Corporation
    
Local IP:  127.0.0.1
Remote IP:  127.0.0.1

Server basic configuration parameters:

sess-man:sess-man/command/http://jabber.org/protocol/admin#get-online-users-list LOCAL
sess-man:sess-man/command/http://jabber.org/protocol/admin#delete-user LOCAL
sess-man:sess-man/command/http://jabber.org/protocol/admin#get-top-active-users LOCAL
sess-man:sess-man/command/http://jabber.org/protocol/admin#get-registered-users-list LOCAL
sess-man:sess-man/plugins-conf/amp/msg-offline false
sess-man:sess-man/command/http://jabber.org/protocol/admin#get-idle-users LOCAL
sess-man:sess-man/command/http://jabber.org/protocol/admin#user-stats LOCAL
sess-man:sess-man/command/http://jabber.org/protocol/admin#add-user-tracker LOCAL
sess-man:sess-man/command/http://jabber.org/protocol/admin#get-active-users-num LOCAL
sess-man:sess-man/command/http://jabber.org/protocol/admin#announce LOCAL
sess-man:sess-man/command/roster-fixer-cluster LOCAL
sess-man:sess-man/command/user-roster-management LOCAL
sess-man:sess-man/command/http://jabber.org/protocol/admin#get-active-users LOCAL
sess-man:sess-man/command/connection-time LOCAL
sess-man:sess-man/command/http://jabber.org/protocol/admin#remove-user-tracker LOCAL
sess-man:sess-man/command/user-domain-perm LOCAL
sess-man:sess-man/command/user-roster-management-ext LOCAL
sess-man:sess-man/command/http://jabber.org/protocol/admin#change-user-password LOCAL
sess-man:sess-man/command/http://jabber.org/protocol/admin#get-user-roster LOCAL
sess-man:sess-man/command/http://jabber.org/protocol/admin#get-idle-users-num LOCAL
sess-man:sess-man/command/roster-fixer LOCAL
sess-man:sess-man/plugins-conf/dynamic-roster-classes tigase.xmpp.impl.roster.DynamicRosterTest
sess-man:sess-man/command/http://jabber.org/protocol/admin#add-user LOCAL
sess-man:sess-man/component-id sess-man@build.xmpp-test.net
sess-man:sess-man/def-hostname build.xmpp-test.net
sess-man:sess-man/admins admin@test-d
sess-man:sess-man/scripts-dir scripts/admin
sess-man:sess-man/command/ALL ADMIN
sess-man:sess-man/trusted admin@test.test-d
sess-man:sess-man/max-queue-size 100000
sess-man:sess-man/scheduler-threads 1
sess-man:sess-man/incoming-filters tigase.server.filters.PacketCounter
sess-man:sess-man/outgoing-filters tigase.server.filters.PacketCounter
sess-man:sess-man/admin-scripts-dir scripts/admin/
sess-man:sess-man/plugins session-close, session-open, default-handler, 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, jabber:iq:roster, 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, presence-state, presence-subscription, disco, domain-filter, zlib, amp, message-carbons, vcard-xep-0292, urn:xmpp:time
sess-man:sess-man/plugins-concurrency 
sess-man:sess-man/skip-privacy false
sess-man:sess-man/offline-user-autocreate false
sess-man:sess-man/sm-threads-pool custom:100
sess-man:sess-man/force-detail-stale-connection-check true
sess-man:sess-man/stale-connection-closer-queue-size 1000
sess-man:sess-man/auth-timeout 120
sess-man:sess-man/sm-cluster-strategy-class tigase.cluster.strategy.DefaultClusteringStrategy
sess-man:sess-man/error-forwarding drop
sess-man:sess-man/domain-name test-d

Tests results:

Test name Result Total time OK Average Description History
Version success 0 sec 1 57 ms Get server version Version
Configuration success 0 sec 1 75 ms Server configuration Configuration
Statistics success 0 sec 1 69 ms Server statistics Statistics
Basic 1 (c2s) success 0 sec 1 5 ms Stream open to server. Basic 1 (c2s)
Basic 2 (c2s) success 0 sec 1 19 ms XEP-0077 - In-Band Registration, register Basic 2 (c2s)
Basic 3 (c2s) success 0 sec 1 62 ms XEP-0077 - In-Band Registration - user unregister Basic 3 (c2s)
Basic 4 (c2s) success 0 sec 1 17 ms XEP-0078 Non-SASL authorization with plain password. Basic 4 (c2s)
Basic 5 (c2s) success 0 sec 1 14 ms XEP-0078 Non-SASL authorization with digest password. Basic 5 (c2s)
Basic 6 (c2s) success 0 sec 1 53 ms Send a message to self user and don't wait for response Basic 6 (c2s)
Basic 7 (c2s) success 0 sec 1 67 ms Message send to correct/available full JID: all-xmpp-test_1@test-d/def-user-resource, expecting response Basic 7 (c2s)
Basic 8 (c2s) success 0 sec 1 67 ms Message send to correct/available bare JID: all-xmpp-test_1@test-d, expecting response Basic 8 (c2s)
Basic 9 (c2s) success 0 sec 1 64 ms IQ stanza send to incorrect/unavailable full JID: all-xmpp-test_1@test-d/wrong-resource, expecting error response Basic 9 (c2s)
Basic 10 (c2s) success 0 sec 1 13 ms XEP-0092 - get entity version Basic 10 (c2s)
Basic 11 (c2s) success 0 sec 1 62 ms XEP-0039 Statistics Gathering Basic 11 (c2s)
Basic 12 (c2s) success 0 sec 1 390 ms Roster management test Basic 12 (c2s)
Basic 13 (c2s) success 0 sec 1 90 ms Roster with uppercase characters test, this tests verifies if the roster item removed in previous test is really removed from DB and empty on user relogin. Basic 13 (c2s)
Basic 14 (c2s) success 0 sec 1 87 ms XEP-0049: Private XML Storage Basic 14 (c2s)
Basic 15 (c2s) success 0 sec 1 52 ms Test for feature-not-implemented error which should be returned when client sends unsupported stanza Basic 15 (c2s)
Basic 16 (c2s) success 0 sec 1 93 ms XEP-0054: vcard-temp Basic 16 (c2s)
Basic 17 (c2s) success 0 sec 1 52 ms XEP-0199: XMPP Ping to domain 'test-d' the user is logged in Basic 17 (c2s)
Basic 18 (c2s) success 0 sec 1 53 ms XEP-0199: XMPP Ping to another, vrtual domain 'test-domain' on the server Basic 18 (c2s)
Basic 19 (c2s) success 0 sec 1 70 ms XEP-0030: XMPP Service Discovery Basic 19 (c2s)
Basic 20 (c2s) success 0 sec 1 49 ms Send a message without resource binding and expect an error response. Basic 20 (c2s)
Basic 21 (c2s) success 0 sec 1 304 ms Bug #431 - XMLUtil encoding problem: https://projects.tigase.org/issues/431 Basic 21 (c2s)
SSL 1 (c2s) success 0 sec 1 535 ms SSL socket connect. SSL 1 (c2s)
TLS 1 (c2s) success 0 sec 1 153 ms TLS connection open TLS 1 (c2s)
TLS 2 (c2s) success 0 sec 1 219 ms SASL authorization TLS 2 (c2s)
TLS 3 (c2s) success 0 sec 1 201 ms XMPP resource bind TLS 3 (c2s)
TLS 4 (c2s) success 0 sec 1 190 ms Establish XMPP session TLS 4 (c2s)
TLS Required 1 (c2s) success 0 sec 1 7 ms XEP-0077 - In-Band Registration, for domain requiring TLS but without TLS activation, expecting error. TLS Required 1 (c2s)
TLS Required 2 (c2s) success 0 sec 1 155 ms XEP-0077 - In-Band Registration, for domain requiring TLS with TLS activation, expecting success. TLS Required 2 (c2s)
Packet Order 1 (c2s) success 0 sec 1 74 ms Packet order test Packet Order 1 (c2s)
Packet Order 2 (c2s) success 0 sec 1 111 ms Packet order test Packet Order 2 (c2s)
Packet Order 3 (c2s) success 0 sec 1 74 ms Packet order test Packet Order 3 (c2s)
Packet Order 4 (c2s) success 0 sec 1 101 ms Packet order test Packet Order 4 (c2s)
Packet Order 5 (c2s) success 0 sec 1 87 ms Packet order test Packet Order 5 (c2s)
Privacy 1 (c2s) success 0 sec 1 94 ms Privacy lists management test Privacy 1 (c2s)
Privacy 2 (c2s) success 0 sec 1 51 ms Privacy lists - send a message to blocking-test-user_1 user Privacy 2 (c2s)
Privacy 3 (c2s) success 0 sec 1 50 ms Send a message to long-list-user_1 user Privacy 3 (c2s)
Presence 1 (c2s) success 1 sec 2 354 ms Presence subscription test between 'admin' and 'all-xmpp-test'. Presence 1 (c2s)
Presence 2 (c2s) success 0 sec 2 227 ms Presence cancel test between 'admin' and 'all-xmpp-test'. Presence 2 (c2s)
Presence 3 (c2s) success 1 sec 2 305 ms Presence unsubscribe test between 'admin' and 'all-xmpp-test'. Presence 3 (c2s)
Presence 4 (c2s) success 1 sec 2 357 ms Presence subscription between 'admin' and 'all-xmpp-test' again to prepare for the next test. Presence 4 (c2s)
Presence 5 (c2s) success 1 sec 2 349 ms Remove subscribed contact 'all-xmpp-test' from the roster of the user 'admin', all subscriptions should be cancelled automatically by the server. Presence 5 (c2s)
Presence 6 (c2s) success 0 sec 2 198 ms 2 user connections, each using a different resource. Presence 6 (c2s)
Presence 7 (c2s) success 1 sec 2 290 ms Presence subscription deny test between 'admin' and 'all-xmpp-test'. Presence 7 (c2s)
User Status 1 (c2s) success 0 sec 1 21 ms USER_STATUS command test to ensure interoperability with Yate User Status 1 (c2s)
User Status 2 (c2s) success 0 sec 1 6 ms USER_STATUS command test to ensure security, should receive forbidden error. User Status 2 (c2s)
Dynamic Roster 1 (c2s) success 0 sec 1 57 ms Dynamic roster storage test Dynamic Roster 1 (c2s)
Dynamic Roster 2 (c2s) success 0 sec 1 178 ms Dynamic roster merge test Dynamic Roster 2 (c2s)