Commit Graph

144 Commits

Author SHA1 Message Date
Evgeniy Khramtsov 7100c67be6 Get rid of compile warnings in test suite 2016-09-25 08:38:41 +03:00
Evgeniy Khramtsov 58969fb854 Improve namespace handling 2016-09-24 14:17:21 +03:00
Evgeniy Khramtsov 53209b9ab1 Add tests for s2s code 2016-09-23 12:30:33 +03:00
Evgeniy Khramtsov ceda073766 Add tests for external component 2016-09-21 10:45:11 +03:00
Evgeniy Khramtsov a4ec064455 Add more tests for C2S 2016-09-20 14:04:07 +03:00
Evgeniy Khramtsov e987b88848 Make common tests working again 2016-09-13 12:30:05 +03:00
Alexey Shchepin d201f013b2 Stronger tests in the test suite, SQL updates and fixes 2016-06-02 18:09:58 +03:00
Evgeny Khramtsov 14b53fbcb0 Merge pull request #1131 from weiss/failed-resume-h
XEP-0198: Indicate number of handled stanzas if resumption fails
2016-05-25 11:56:47 +04:00
Evgeny Khramtsov b055c2a13a Merge pull request #1126 from weiss/muc-send-affiliation
Notify on MUC affiliation changes of non-occupants
2016-05-25 11:55:06 +04:00
Holger Weiss 30e814dd4b XEP-0198: Add 'h' attribute to <failed/> element
If a resume request is rejected because the session timed out, indicate
the number of handled stanzas as per version 1.5 of XEP-0198.
2016-05-24 22:20:58 +02:00
Holger Weiss 9d87a4a6d4 mod_muc_room: Notify on affiliation changes
Notify the current room occupants if the affiliation of a non-occupant
is changed as per example 195 of XEP-0045.  In anonymous rooms, only
moderators are notified, though.
2016-05-20 01:28:16 +02:00
Holger Weiss 8f72c27b88 mod_client_state: Add "queue_pep" option
If the new "queue_pep" option is enabled and the client is inactive, PEP
notifications are throttled in a similar way to presence stanzas and
chat states.  Only the most recent notification of a given node and
payload type will be queued from a given contact.
2016-05-17 22:12:04 +02:00
Holger Weiss 4f009e64fc mod_client_state: Queue chat state notifications
Queue standalone chat states instead of simply dropping them when the
client is inactive.  Only the most recent chat state of a given client
is queued.
2016-05-17 20:55:45 +02:00
Holger Weiss bcf07fd032 Avoid error bounces when testing stream management
The test suite sends messages to the server JID while checking whether
the stream management code counts outgoing stanzas correctly.  We now
set type='headline' for those messages to avoid error bounces.
2016-05-06 16:37:17 +02:00
Evgeniy Khramtsov 8700a3401e Add tests for MUC MAM 2016-05-01 12:48:23 +03:00
Evgeniy Khramtsov 1aae8a9fda Rename odbc to sql everywhere 2016-04-20 13:25:42 +03:00
Mickael Remond a08ecc0f41 Proper naming for LDAP test function for shared roster 2016-03-25 17:42:58 +01:00
Mickael Remond 0afcf561d6 Add test to demonstrate issue to retrieve roster with mod_shared_roster_ldap 2016-03-25 17:30:12 +01:00
Mickael Remond a3a33bd5fc Allow running test groups independently
We need to be able to run only a few test groups, even if we do not have all
database backends installed and configured locally.

ejabberd test suite configures a specific host per backend. I changed ejabberd
to allow ignoring some hosts from config file on start, by providing the exact
list of hosts we want to start.

This is done by setting an ejabberd app Erlang environment variable 'hosts' and
passing the list of hosts we want to actually define.

When doing so, the backend specific hosts defined in ejabberd test configuration file
are simply ignored. As a result, we do not try to connect to unavailable backends.

I linked that part to CT run test by defining the hosts list based on environment variable
CT_BACKENDS. This variable is expected to be a comma separated list of available backends.

When Erlang Common Tests are run with that environment variable set, only the host matching
the name of the backend will be set, plus the default "localhost", common to many tests.

This can be combined with rebar ct groups list.

Example commands to run tests:
CT_BACKENDS=riak,mnesia rebar ct suites=ejabberd
CT_BACKENDS=mnesia rebar ct suites=ejabberd groups=mnesia
2016-03-24 10:02:13 +01:00
Evgeniy Khramtsov 50e5cdc2fa Add ODBC tests for MIX 2016-03-13 13:16:55 +03:00
Evgeniy Khramtsov 15ee72138a Add tests for MIX 2016-03-10 17:42:37 +03:00
Evgeniy Khramtsov 8f9c18edf2 Add Redis backend to the test suite 2016-02-19 17:06:41 +03:00
Holger Weiss 041e886b87 mod_muc_room: Don't expose JIDs in anonymous rooms
Don't let room members retrieve the member list unless the room is
non-anonymous.
2016-02-11 22:24:14 +01:00
Evgeniy Khramtsov 5680d4c3e9 Get rid of calls to jlib.erl from tests 2016-02-11 12:19:23 +03:00
Evgeniy Khramtsov 8e6adb4b3c Do not forget sending initial presence in XEP-0013 test 2016-02-11 11:53:33 +03:00
Holger Weiss 17be70339c mod_mam: Send new preferences when they are set
If a client updates the archiving preferences, include the new
preferences with the IQ result (as mandated by XEP-0313).
2016-02-10 23:06:31 +01:00
Evgeniy Khramtsov d6323a7b5e Add tests for XEP-0013 2016-02-10 16:15:43 +03:00
Badlop f448ff608a Update copyright to 2016 (#901) 2016-01-13 12:29:14 +01:00
Christophe Romain 1a32f20c07 Disable use of multi-subscribe and subscription-option on standard plugins 2015-12-11 12:46:49 +01:00
Holger Weiss 9f62426343 Update MAM tests to always expect RSM in response 2015-08-30 23:26:37 +02:00
Alexey Shchepin dfe3082445 Update crypto calls 2015-07-30 19:17:53 +03:00
Evgeniy Khramtsov a53191fed5 Add "complete" attribute to MAM final response (EJABS-2484) 2015-07-10 14:05:47 +03:00
Evgeniy Khramtsov 8e27decdfd Fix mod_mam compatibility with RSM for other backends 2015-07-10 13:59:33 +03:00
Jerome Sautret 6604b9efbb Fix MAM tests (EJABS-2480). 2015-07-08 15:34:34 +03:00
Holger Weiss 4045c848c4 Send notifications on MUC configuration changes
Notify clients when the room configuration changes, as mandated by
XEP-0045, #10.2.1.

Closes #623.
2015-07-02 00:36:16 +02:00
Evgeniy Khramtsov 83cce468a5 Add MAM (XEP-0313) support 2015-06-22 16:56:08 +03:00
Holger Weiss dfbef8be8f Remove XEP-0091 tags from test suite 2015-05-18 14:38:57 +02:00
Christophe Romain e0563e3918 PubSub improvements
This commit contains
- code cleanup
- use of db_type instead of old mod_pubsub_odbc
- some minor optimizations
- some minor bugfixes
2015-04-21 15:24:16 +02:00
Holger Weiss b447839592 CSI test: Simplify and improve readability 2015-04-16 23:20:14 +02:00
Holger Weiss 01b3defb86 CSI test: Fix race when slave becomes active again
Make sure the server processed the slave's active request after the
previous test stanzas were received by the slave and before the final
Chat State notification is sent by the master.
2015-04-16 08:45:17 +02:00
Paweł Chmielowski 63d6d68979 Make sure that server processed our inactive request before processing further in testing 2015-04-15 11:21:37 +02:00
Paweł Chmielowski e8701802ee Give better error messages for tests failing on #...{} = recv() lines 2015-04-09 16:39:52 +02:00
Evgeniy Khramtsov 9b4942890d Add virtual host support for SQLite 2015-04-08 15:31:28 +03:00
Sergey Abramyan 5ae01e8bb4 Add SQLite support 2015-03-20 01:10:47 +03:00
Mickaël Rémond da468db648 Fix Elixir tests failure detection
We now make sure we have no failure.
Solves #438
2015-03-07 11:49:37 +01:00
Mickaël Rémond d4cf42dcc3 Increase common test timeout
This is needed to cope with long launch time on small / slow VM.
Fixes #440
2015-02-23 11:03:15 +01:00
Holger Weiss 9899935e42 Improve interface for adding timestamps
Provide a simpler interface for adding <delay/> and <x/> timestamps to
stanzas.  This also makes sure that only one <delay/> tag and one <x/>
tag is added to a given stanza.
2014-12-07 15:55:18 +01:00
Evgeniy Khramtsov dfb21e802e Fix race in CSI test case 2014-10-31 00:26:22 +03:00
Evgeniy Khramtsov 9a0b951855 Add tests for mod_vcard_xupdate 2014-10-30 23:57:15 +03:00
Evgeniy Khramtsov 72fd353988 Avoid generation of excessive records 2014-09-13 22:54:07 +04:00
Holger Weiss 1a320baad8 Add tests for Client State Indication support 2014-09-11 18:18:20 +02:00
Evgeniy Khramtsov 50d7046517 Test MUC nick registration 2014-09-03 21:30:44 +04:00
Evgeniy Khramtsov bfd028beea Recompile the xmpp_codec using updated XML generator 2014-08-27 12:55:31 +04:00
Evgeniy Khramtsov 56d61c2784 Do not call functions from ejabberd_riak directly 2014-08-12 14:25:54 +04:00
Evgeniy Khramtsov db3c469d4d Reorganize mod_announce test in order to avoid race 2014-07-28 13:42:50 +04:00
Evgeniy Khramtsov abeaac1c11 Add tests for mod_announce 2014-07-27 13:06:20 +04:00
Evgeniy Khramtsov 25676b43ed Add tests for session management 2014-07-22 14:00:48 +04:00
Evgeniy Khramtsov f2003943db Add tests for mod_carboncopy 2014-07-21 09:08:54 +04:00
Evgeniy Khramtsov 744018425b Improve MUC test cases 2014-07-19 17:30:02 +04:00
Evgeniy Khramtsov fd298521e2 Add mod_caps checks to the testing suite 2014-07-15 18:35:23 +04:00
Evgeniy Khramtsov 54cfd5091f Check Riak connection before running the corresponding suite 2014-07-10 13:55:38 +04:00
Evgeniy Khramtsov 9d62d13492 Don't forget to shutdown rooms before starting the testing suite 2014-07-10 13:55:08 +04:00
Evgeniy Khramtsov c559c9425a Clear Riak data when initializing the testing suite 2014-07-10 13:54:17 +04:00
Evgeniy Khramtsov a60dd672b7 Add Riak backend to the testing suit 2014-07-10 13:42:31 +04:00
Evgeniy Khramtsov 07c8bf5064 Fix roster version support 2013-09-24 18:59:20 +10:00
Evgeniy Khramtsov 8482641b4e Increase the timetrap timeout 2013-07-15 11:51:02 +10:00
Evgeniy Khramtsov e89f0f6461 Cleanup the test suite (just a little) 2013-07-07 04:47:47 +10:00
Evgeniy Khramtsov c262c08513 Improve the XMPP codec, fix the test suite accordingly 2013-07-07 02:19:10 +10:00
Evgeniy Khramtsov 42a9e4f4cf Split the test suite into modules 2013-06-27 15:36:23 +10:00
Evgeniy Khramtsov aab70fc066 Fix external authentication 2013-06-26 12:30:32 +10:00
Evgeniy Khramtsov 167f02ab72 Do not fetch disco#info multiple times 2013-06-26 03:32:38 +10:00
Evgeniy Khramtsov 1b0c02cb2e Start the LDAP server before ejabberd application 2013-06-26 03:06:19 +10:00
Evgeniy Khramtsov c05edabe58 Add more pubsub test cases 2013-06-26 03:06:11 +10:00
Evgeniy Khramtsov eb74efb5e6 Add LDAP test cases 2013-06-22 03:28:17 +10:00
Evgeniy Khramtsov 4dc80dddd4 Fix all calls to functions of p1_tls application 2013-06-20 18:40:44 +10:00
Evgeniy Khramtsov 89c3cf3677 Shutdown rooms before starting test cases 2013-06-19 21:46:22 +10:00
Evgeniy Khramtsov 4f8bb4f918 Add tests for modules using MySQL/PostgreSQL 2013-06-19 20:12:15 +10:00
Evgeniy Khramtsov 94c21f3149 Better handle incoming packets sequence 2013-06-18 22:36:43 +10:00
Evgeniy Khramtsov a616123200 Add simple mod_offline checks 2013-06-17 16:10:58 +03:00
Evgeniy Khramtsov 96b94e3ebb Add some MUC checks. Several cleanups 2013-06-17 16:10:54 +03:00
Evgeniy Khramtsov 45edf337cf Add mod_proxy65 test case 2013-06-17 16:10:49 +03:00
Evgeniy Khramtsov 831dc1f253 Check item groups separately 2013-06-17 16:10:43 +03:00
Evgeniy Khramtsov 3f8a10c092 Add roster checks 2013-06-17 16:10:38 +03:00
Evgeniy Khramtsov 0baf4e6088 Advertise privacy lists support via disco#info 2013-06-17 16:10:30 +03:00
Evgeniy Khramtsov 7865c6a146 Don't include sub-elements in IQ results where it's not required
by the corresponding spec (RFC or XEP).
2013-06-17 16:09:54 +03:00
Evgeniy Khramtsov 1b96856d92 Improve "unregister" test case 2013-06-17 16:05:16 +03:00
Evgeniy Khramtsov adf75e3c18 Add registration remove test case 2013-06-17 16:05:08 +03:00
Evgeniy Khramtsov 7b96d8cc24 Test suite cleanup.
* Split test cases in groups.
* Increase a loglevel of common_test framework.
2013-06-17 16:04:54 +03:00
Evgeniy Khramtsov c9efdf6167 Better certfile location detection by the test suite 2013-06-17 16:04:18 +03:00
Evgeniy Khramtsov 60dbaa0dac Add zlib compression test case 2013-06-17 16:03:58 +03:00
Evgeniy Khramtsov 167dd59941 Add STARTTLS test case 2013-06-17 16:03:52 +03:00
Evgeniy Khramtsov 5872ce5cc3 Add mod_register checks 2013-06-17 16:03:35 +03:00
Evgeniy Khramtsov 8a5ec41279 Convert XMPP codec specification to the new format 2013-06-17 16:01:51 +03:00
Evgeniy Khramtsov 4d8f770624 Switch to rebar build tool
Use dynamic Rebar configuration
Make iconv dependency optional
Disable transient_supervisors compile option
Add hipe compilation support
Only compile ibrowse and lhttpc when needed
Make it possible to generate an OTP application release
Add --enable-debug compile option
Add --enable-all compiler option
Add --enable-tools configure option
Add --with-erlang configure option.
Add --enable-erlang-version-check configure option.
Add lager support
Improve the test suite
2013-06-13 11:11:02 +02:00