24
1
mirror of https://github.com/processone/ejabberd.git synced 2024-05-31 21:07:55 +02:00
Commit Graph

271 Commits

Author SHA1 Message Date
Mickael Remond
7988e2e350 Merge lastest commits from master 2016-03-31 15:37:21 +02:00
Mickael Remond
dc0ca51ef1 Try keeping names of test same as master to limit merge conflicts 2016-03-31 15:06:41 +02:00
Mickael Remond
78c4a0d65f Add test file whose name was conflicting during merge 2016-03-31 14:42:08 +02:00
Mickael Remond
da0751239c Rename conflicting test file after merge 2016-03-31 14:33:34 +02:00
Alexey Shchepin
3dc55c6d47 Commands refactor, first pass.
- add API versionning
- changed error handling, based on exception
- commands moved/merged from mod_admin_p1 to mod_admin_extra
- command bufixes
- add some elixir unit test cases

Squashed commit of the following:

commit dd59855b3486f78a9349756e4f102e79b3accff8
Merge: 14e8ffc 506e08e
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date:   Fri Oct 30 11:43:18 2015 +0100

    Merge branch '3.2.x' into api

commit 14e8ffce78cbea6c8605371d1fc50a0c1d1e012c
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date:   Tue Oct 27 16:35:17 2015 +0100

    Added OAuth tests to ejabberd_commands

commit f81c550c14628edfe4861c228576cb767924366a
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date:   Tue Oct 27 16:34:55 2015 +0100

    Added some mod_http_api tests

commit 6a64578d5b2ba532a2feb6503ed98561e56d5d53
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date:   Mon Oct 26 15:29:36 2015 +0100

    Fix get_last command test

    Previous version won't work with dst.

commit 27e0cde9e9c1f001effe68f8424a365ad947c068
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date:   Fri Oct 23 17:59:34 2015 +0200

    Add tests on admin command policy

commit 19dad8d54f54c9fabd454280483cccfb06c8e78a
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date:   Fri Oct 23 16:49:36 2015 +0200

    Added command related tests (http api & user policy)

commit e0e596ab4a3f3a70aba5f374f028939ab794de33
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date:   Fri Oct 23 16:49:16 2015 +0200

    Fix command call.

commit 128cd7d1ede3c47a34f8ec3a750c980ccad2c61d
Merge: 60c4c4c 447313c
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date:   Thu Oct 22 14:48:39 2015 +0200

    Merge branch '3.2.x' into api

commit 60c4c4c0751302524c14219c6bc8c56a6069a689
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date:   Thu Oct 22 14:45:57 2015 +0200

    Fix ejabberd_commands spec.

commit 8e145c28c5da762c2b93ee32327eff1db94ebfed
Merge: 397273a f13dc94
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date:   Wed Oct 21 18:26:07 2015 +0200

    Merge branch '3.2.x' into api

commit 397273a23ed415feac87aed33da6452229793387
Merge: c30e89b f289e27
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date:   Wed Oct 21 15:27:45 2015 +0200

    Merge branch '3.2.x' into api

commit c30e89bb8a0013bff37e61e4c6953350c9c1f313
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date:   Wed Oct 21 12:47:02 2015 +0200

    Merge mod_http_api

commit 7b0db22b4acd48ff6fabce41c1b2525e6580a3c5
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date:   Fri Oct 16 11:55:48 2015 +0200

    Fix exunit tests to run with common_test suites

commit d8b1a89800ac7379a57a7eb4a09c3c93c3e1e5eb
Merge: 2879ae8 63455b3
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date:   Thu Oct 15 11:39:45 2015 +0200

    Merge branch '3.2.x' into api

commit 2879ae87ff3eee369ef3d780136b96ecff5285d1
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date:   Wed Oct 14 14:53:44 2015 +0200

    Fix update_roster command.

commit a1d453dd7a3afda9861a8d747494a45057ad574b
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date:   Tue Oct 13 16:14:28 2015 +0200

    API commands refactor

    Moving and/or merging commands from mod_admin_p1 to mod_admin_extra

commit b709ed26b0fc0ca4f3bdd5a59fa58ec7e3db97fa
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date:   Wed Oct 7 15:10:01 2015 +0200

    Add tests on commands

commit 6711687bee9c672cb3d5aed0744e13420ecf6dbd
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date:   Tue Sep 29 15:58:16 2015 +0200

    Add ejabberd_commands tests

commit df8682f419cf3877e77e36a19bca0fc55dc991f8
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date:   Mon Sep 28 14:54:39 2015 +0200

    Added API versioning for ejabberdctl and rest commands

commit cd017b0e3aac431bc3ee807ceb7f8641e1523ef5
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date:   Fri Sep 18 11:21:45 2015 +0200

    Better error handling of HTTP API commands.

commit ca5cb6acd8e4643f9d6c484d2277b0d7e88471e5
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date:   Tue Sep 15 15:03:05 2015 +0200

    add commands to mod_admin_extra:
    - get_offline_count
    - get_presence
    - change_password

commit 7f583fa099e30ac2b0915669fd8f102ac565b833
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date:   Tue Sep 15 15:02:16 2015 +0200

    Improve REST API error handling

commit 14753b1c02cdce434a786b7f80f6c09f0d210075
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date:   Mon Sep 14 10:51:17 2015 +0200

    Change REST API return codes for integer type.
2016-03-31 14:53:31 +03:00
Mickael Remond
d35c5ebde5 Test / Document ejabberd_commands checks 2016-03-31 13:14:06 +02:00
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