25
1
mirror of https://github.com/processone/ejabberd.git synced 2024-11-24 16:23:40 +01:00
Commit Graph

415 Commits

Author SHA1 Message Date
Mickael Remond
3cfcdbb245 Check that various type of commands are properly rejected without auth 2016-03-31 12:38:53 +02:00
Mickael Remond
809057678b Better error report when command is not exposed through API 2016-03-30 15:59:29 +02:00
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