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

230 Commits

Author SHA1 Message Date
Paweł Chmielowski
c770a54aac Clean ejabberd_commands before tests 2016-09-05 17:18:27 +02:00
Paweł Chmielowski
96a748d34f ejabberd_oauth requiere working cache_tab, initialize it before tests 2016-09-05 16:42:05 +02:00
Mickael Remond
4982639d05
Fix error return expectation in command test 2016-08-01 09:28:54 +02:00
Mickael Remond
2a8005e47f
Add ability to run test with Elixir mix 2016-07-26 12:17:37 +02:00
Mickael Remond
dbc0498279
Fix tests, command need to be properly added to list of exposed commands 2016-07-25 18:28:40 +02:00
Mickael Remond
d7ad99f147
Initial attempt on access on commands
May change and will require more work / test / refactor
2016-07-25 11:43:49 +02:00
Mickael Remond
caf2c20210
Error when not authorized should be 403 2016-07-23 18:21:45 +02:00
Pablo Polvorin
4332dddbc4 Support oauth password grant type
As in https://tools.ietf.org/html/rfc6749#section-4.3
2016-07-22 19:17:12 -03:00
Pablo Polvorin
57aeef74d5 stringprep might already be started
Depending on the way the test us ran
(full test suite or the elixir quicktest one)
the stringprep might already be loaded.
2016-07-22 19:15:56 -03:00
Pablo Polvorin
12b58b9870 Fix elixir test case: stringprep was required 2016-07-22 16:25:54 -03:00
Pablo Polvorin
0c0c6465ba Fix test for changes in oauth expiry 2016-07-19 20:36:02 -03:00
Pablo Polvorin
33e0283f0d Add 'ejabberd:user' and 'ejabberd:admin' oauth scopes
'ejabberd:user' includes all commands defined with policy "user".
'ejabberd:admin' includes commands defined with policy "admin".
2016-07-19 00:24:06 -03:00
Paweł Chmielowski
f56cff925c acl: ACLName rule should match if any part of ACLName matches 2016-06-24 15:09:51 +02:00
Paweł Chmielowski
751be3cca6 Add some tests for {shaper,access}_rules_validator 2016-06-22 16:52:45 +02:00
Paweł Chmielowski
f1138baa80 Add test for more allowed access_rules 2016-06-16 11:12:16 +02:00
Paweł Chmielowski
7b308e0d41 Add shorter version of some common access rules definitions
This add conversion of

- allow
to
- allow: all

and

- allow: acl_name
to
- allow:
  - acl: acl_name

(this works also for deny, and number in shapers)
2016-06-15 19:23:55 +02:00
Paweł Chmielowski
f8d2589ee5 Add tests for new acl functions 2016-06-06 17:12:39 +02:00
Pablo Polvorin
41c3751fa1 Fix quicktest case
Missing initialization, required for ets table to exists
2016-06-05 16:35:51 -03:00
Alexey Shchepin
0093326f7d Fix ejabberd.ldif 2016-06-02 18:56:27 +03:00
Alexey Shchepin
9ef52b8c64 Fix a typo 2016-06-02 18:22:50 +03:00
Alexey Shchepin
d201f013b2 Stronger tests in the test suite, SQL updates and fixes 2016-06-02 18:09:58 +03:00
Paweł Chmielowski
8e883a76e3 Update test after roster code reorganization 2016-05-31 00:09:26 +02:00
Paweł Chmielowski
622bff23a4 Update test 2016-05-31 00:07:26 +02:00
Paweł Chmielowski
be0dd51e51 Fix mod_http_api_test.exs 2016-05-30 23:06:29 +02:00
Paweł Chmielowski
17f87eb899 Fix tests 2016-05-30 23:06:29 +02:00
Paweł Chmielowski
1ade88402c Better code for setting up ejabberd app location 2016-05-30 23:06:29 +02:00
Paweł Chmielowski
f252b9d489 Update acl tests to new internal access rules syntax 2016-05-30 14:36:17 +02:00
Paweł Chmielowski
1d3959b5a2 Make tests run correctly even when ejabberd src in not in ejabberd-xxx dir 2016-05-30 14:35:53 +02:00
Paweł Chmielowski
13ead140f4 Copy lite.sql to place where tests expect it in failback mode 2016-05-26 11:08:53 +02: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
Alexey Shchepin
64bb371285 Fix a typo 2016-05-13 18:22:59 +03:00
Alexey Shchepin
9bd446e519 Less strict extauth.py 2016-05-13 17:56:52 +03:00
Alexey Shchepin
792f47b4bd Update SQL escaping 2016-05-13 17:56:48 +03: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
Paweł Chmielowski
0c0ce17bc0 Add ability to configure server loglevel when running tests 2016-05-02 15:25:30 +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
cd2e2b1a88
Synchronizing master changes 2016-04-12 10:34:24 +02:00
Mickael Remond
127342449e
Allow testing user pattern directly in access rules 2016-04-08 19:45:25 +02:00
Mickael Remond
1dbdd58b1b
Add TODO to improve ACL 2016-04-08 12:55:35 +02:00
Mickael Remond
373f9fb0eb
Add tests on Access rules returning values 2016-04-07 13:04:58 +02:00
Mickael Remond
60c0c8e968
Add test when mixing ip / user rules 2016-04-07 12:35:29 +02:00
Mickael Remond
a938af4180
IP based ACL / Access rules and sequential evaluation of rules 2016-04-07 12:06:30 +02:00
Mickael Remond
eb36440c2e Variant for user ACL test 2016-04-06 18:13:08 +02:00
Mickael Remond
d45ad3e3a5 Add initial basic ACL test 2016-04-06 18:13:08 +02:00
Mickael Remond
5efcf0a175 Stringprep can already be started, do not check result 2016-04-06 18:11:46 +02:00
Mickael Remond
2900aa208f Log Elixir test result for investigation and include this log file in travis for troubleshooting failed tests 2016-04-06 17:55:56 +02:00
Mickael Remond
a9e50468b6 Better error message in logs 2016-04-06 15:07:44 +02:00
Mickael Remond
267fdb2e95 Now we need to start stringprep before config 2016-04-06 13:51:05 +02:00
Mickael Remond
e24da5789e Apply fixes and remove tests for missing methods 2016-04-01 13:05:41 +02:00
Mickael Remond
b5f1479763 Fix tests, they are now running fine locally 2016-04-01 11:13:48 +02:00
Mickael Remond
a8f92ae767 Add logger macro to help troubleshooting Elixir tests 2016-04-01 11:11:42 +02:00
Mickael Remond
97d345d287 Port mod_admin_extra test to work with new API 2016-03-31 22:01:57 +02:00
Mickael Remond
ef2e2e45b3 Fix failing tests 2016-03-31 17:34:58 +02:00
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