Commit Graph

313 Commits

Author SHA1 Message Date
Mickael Remond 36ac1cd6c7 Returns unauthorized error when we do not have correct credentials 2016-03-30 14:49:19 +02:00
Mickael Remond ead83b008c HTTP ReST API now supports 'open' ejabberd commands 2016-03-30 14:23:09 +02:00
Mickael Remond 6f25122f8c Support flagging so Elixir tests as pending 2016-03-30 13:59:01 +02:00
Mickael Remond c7c70ffa0a Add basic test for command registration 2016-03-29 15:45:48 +02:00
Mickael Remond a08ecc0f41 Proper naming for LDAP test function for shared roster 2016-03-25 17:42:58 +01:00
Mickael Remond eace5fc463 Switch back to proper log level 2016-03-25 17:42:19 +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
Mickael Remond 31c194a682 Add simple Elixir unit test on jid:from_string 2016-03-21 09:44:23 +01:00
Mickael Remond 0e3026539e Comment on error failures in logs + indenting 2016-03-21 09:42:59 +01:00
Mickael Remond 3c2cd91fb1 Merge branch 'master' of github.com:processone/ejabberd 2016-03-15 22:42:15 +01:00
Mickael Remond 367adc2113 Better error reporting when running Elixir test suite 2016-03-15 22:42:07 +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
Evgeniy Khramtsov 4b0860e7de Make it possible to define 'sm_db_type' per virtual host 2016-02-19 16:38:43 +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
Mickael Remond 89dda473cf Convert tests to Fast XML 2016-02-03 19:22:59 +01:00
Badlop f448ff608a Update copyright to 2016 (#901) 2016-01-13 12:29:14 +01:00
Holger Weiss 5bb70e844d Fix mod_carboncopy configuration for test suite
The mod_carboncopy module doesn't have the "db_type" option.
2015-12-15 21:02:12 +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 44cc99d616 Get rid of 'db_type' for mod_blocking in test suite 2015-07-16 13:32:46 +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
Paweł Chmielowski e8576c23c5 Make s2s port configurable in test runner 2015-04-20 16:16:30 +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 b9fdcc3985 Add ability to configure parameters used by "make test" with test/config.ctc 2015-04-09 17:14:30 +02:00
Paweł Chmielowski e8701802ee Give better error messages for tests failing on #...{} = recv() lines 2015-04-09 16:39:52 +02:00
Paweł Chmielowski 2797fa16a6 Show received input and expected input in ?recv* macros in case of failure
Throwing catch clause error is not that good for finding out what happened
2015-04-09 16:05:26 +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 6b0bcfa5d7 Suppress warnings in Elixir test 2015-03-08 18:22:14 +01:00
Mickaël Rémond 750fefcd6d Add Elixir test on ejabberd hooks
This is to prepare ejabberd_hooks module refactoring.

I also expanded API to help with testing.
2015-03-08 17:06:43 +01:00
Mickaël Rémond d3a2fa1e9a Test file can be compiled under R16
Fixes test failing under R16 due to elixir_suite build syntax error.

The test will never be run under r16 as Elixir requires r17 and map
anyway.
2015-03-07 12:31:11 +01: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 02dd3ae0af Merge pull request #441 from mremond/test/#438/run-elixir-tests
Support for running Elixir ExUnit tests from Common Test
2015-03-03 22:15:24 +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
Mickaël Rémond 17be6a303b Improve comments for running Elixir tests 2015-02-22 17:45:25 +01:00
Mickaël Rémond 510a717dbb Support for running Elixir ExUnit tests from Common Test 2015-02-22 17:41:17 +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 f40d5e4a89 Improve test suite explanation 2014-07-10 13:54:51 +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
Matwey V. Kornilov 50a73d1188 Use -include_lib instead of -include for esip and p1_xml
-include_lib is used in order to find deps. Rebar include magic is not required anymore.
Rebar uses deps as library directory.
2014-07-05 17:57:35 +04:00
Holger Weiss b73b139f24 test/README: Create MySQL test user on 'localhost'
Suggest specifying 'localhost' as host name part of the MySQL test
account name.  Otherwise, the anonymous user that is usually created by
default for 'localhost' would take precedence for local connections due
to the more specific host name.
2014-05-04 01:02:22 +02:00
Evgeniy Khramtsov a87b475361 Do not use functions from crypto module wherever possible 2013-11-05 20:07:38 +10:00
Evgeniy Khramtsov 07c8bf5064 Fix roster version support 2013-09-24 18:59:20 +10:00
Evgeniy Khramtsov dd26398a02 Fix the ACL rule 2013-08-27 20:12:26 +10:00
Evgeniy Khramtsov 11292c809f Remove non-existent module from the testing config 2013-08-27 20:08:22 +10:00
Evgeniy Khramtsov a62fb69e20 Remove multiple host_config sections 2013-08-27 20:05:12 +10:00
Evgeniy Khramtsov 91a74e3e27 Change configuration file format to YAML 2013-08-21 22:17:59 +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 2b24e97936 Use error_logger directly in the LDAP test server 2013-07-07 03:48:16 +10:00
Evgeniy Khramtsov c262c08513 Improve the XMPP codec, fix the test suite accordingly 2013-07-07 02:19:10 +10:00
Evgeniy Khramtsov 2ea397e476 Pre-load applications before setting the environment variables 2013-06-27 19:03:25 +10:00
Evgeniy Khramtsov 3631301304 Do not check the second SASL challenge 2013-06-27 15:36:31 +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 7d678fdd09 Change pubsub plugins in the testing configuration 2013-06-25 18:26:55 +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 f34e9734ec Clarify MySQL/PostgreSQL preparation for running the test suite. 2013-06-19 21:52:50 +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