Commit graph

36 commits

Author SHA1 Message Date
Eloy Lafuente (stronk7)
100bc51f1d MDL-73485 phpunit: externallib, generator and filter tescase names
All externallib_test, generator_test and filter_test classes:

- Namespaced with component[\level2-API]
- Moved to level2-API subdirectory when required.
- Fixed incorrect use statements with leading backslash.
- Changed code to point to global scope when needed.
- Fix some relative paths and comments here and there.
- All them passing individually.
- Complete runs passing too.

Special mention to tests under testing/tests:

1) The core_testing component doesn't exist.
2) But testing/tests are allowed because there is a suite pointing to it (phpunit.xml).
3) So, the only possible namespace for them is "core".
4) And to avoid problems with other core testcases (under lib/tests)
   they have been renamed to have testing_xxxx as prefix.

Finally, also modified calendar/tests/events/events_test.php because it uses
some renamed (core_calendar_externallib_testcase => \core_calendar\externallib_test)
classes.
2022-01-21 19:48:23 +01:00
Eloy Lafuente (stronk7)
40de097e65 MDL-67673 phpunit: Remove deprecated assertContains() uses on strings
Both assertContains() and assertNotContains() are deprecated in PHPUnit 8
for operations on strings. Also the optional case parameter is. All uses
must be changed to one of:

- assertStringContainsString()
- assertStringContainsStringIgnoringCase()
- assertStringNotContainsString()
- assertStringNotContainsStringIgnoringCase()

More info: https://github.com/sebastianbergmann/phpunit/issues/3422

Regexp to find all uses:

ag 'assert(Not)?Contains\('
2020-10-21 12:46:00 +02:00
Eloy Lafuente (stronk7)
f6711bb394 MDL-67673 phpunit: Fix the return type of template methods
All the setup/teardown/pre/post/conditions template methods
now are required to return void. This was warned with phpunit 7
and now is enforced.

At the same time, fix a few wrong function names,
provider data and param types, return statements...
2020-10-21 12:45:59 +02:00
Dani Palou
096c46bb4e MDL-67189 external: Add test to catch PHP exceptions 2020-03-10 08:26:43 +01:00
sam marshall
107ab4b97b MDL-65931 Web services: get_courses_by_field minor inefficiency
When called with a list of course IDs, this change makes it preload
the contexts and categories before further processing. This saves a
number of queries, depending on how many courses you call it for.

(Typically the function is called with a list of all your enrolled
courses.)

The change may also improve performance for other web services that
call the validate_courses function.
2019-07-10 18:27:42 +01:00
Ryan Wyllie
cba111b376 MDL-64820 filestorage: add multi item support to get_area_files 2019-03-22 09:24:04 +08:00
Juan Leyva
27190655b0 MDL-63225 webservice: Return proper debuginfo on WS exceptions
In order to make developers easy, we should give some clues about the type of the data generating exceptions.
2018-10-02 13:14:33 +02:00
Ryan Wyllie
0377e78e36 MDL-60966 external: contexts can be passed to external format funcs 2017-12-22 13:10:39 +08:00
Juan Leyva
993e817576 MDL-56751 admin: New setting to set user created tokens duration
We were using a hardcoded value for 12 months.
With this change, administrators can change the duration time via a
security setting.
2017-07-14 10:24:53 +01:00
Ankit Agarwal
9743b2d4a9 MDL-58701 phpunit: Add tests for external_settings 2017-04-27 09:37:53 +05:30
Juan Leyva
1104a9fa44 MDL-58399 webservice: Return additional file fields for repositories
We should be detecting when we are treating files that are linked to
external repositories.
For doing that we'd need to return some additional fields via Web
Services:
- isexternalfile
- mimetype (google docs files use an special one)
- repositorytype (the repository plugin name)
2017-03-28 20:23:16 +02:00
Rajesh Taneja
52f3e060e4
MDL-55091 phpunit: Following has been deprecated.
1. getMock()
2. setExpectedException()
3. checkForUnintentionallyCoveredCode renamed to beStrictAboutCoversAnnotation
4. beStrictAboutTestSize renamed to enforceTimeLimit
5. UnitTestCase class is now fully removed.
2016-07-26 10:11:30 +08:00
Dan Poltawski
815abdf4db Merge branch 'MDL-47371-master' of git://github.com/cameron1729/moodle 2016-07-12 10:15:57 +01:00
Dan Poltawski
acb75afe39 Merge branch 'MDL-55007-master' of https://github.com/dthies/moodle 2016-07-12 09:20:15 +01:00
Cameron Ball
6fb1a7177f
MDL-47371 weblib: Add option to disable escaping 2016-07-12 10:31:17 +08:00
Daniel Thies
b54aeb5f83 MDL-55007 filter_mathjaxloader: Change unit test 2016-07-07 18:59:08 -05:00
Juan Leyva
ae584b3b5e MDL-54951 webservice: Utility methods for generating a list of files
It includes a new external_files structure and a get_area_files method
in external_util
2016-07-04 09:24:27 +01:00
Frederic Massart
1d0140757a MDL-54034 ajax: Apply filters in ajax requests
This also clarified that developers can decide to force filters
to be ignored when using external_format_text, though they cannot
force filters to be turned on as the clients should be able to
opt-out from filtering should they want to.
2016-05-06 17:59:41 +08:00
Damyon Wiese
11c16f5fc8 MDL-53772 externallib: Deprecate external_function_info() 2016-04-14 15:07:41 +08:00
David Monllao
3dd89357d4 Merge branch 'MDL-53772-master' of git://github.com/damyon/moodle
Conflicts:
	lib/upgrade.txt
2016-04-14 14:01:16 +08:00
Damyon Wiese
56fa860ead MDL-53772 externallib: Fix busted webservices context handling
Fix:
$PAGE->context must be reset when calling validate_context

Improve:
Provide wrapper for calling an external function

The wrapper correctly checks the function parameters and return type against
the description of the external function, and stores the PAGE and COURSE global
state variables, restoring them before the function returns.

Fix: buggy unit tests.

These tests are expecting debugging from a bug that was fixed, and calling web
service functions with no user or session.
2016-04-14 13:58:23 +08:00
Pau Ferrer Ocaña
b1a9804a9b MDL-52263 libraries: Add test cases to external_format_text options 2016-04-12 15:05:46 +02:00
Dan Poltawski
50901a53bc Merge branch 'MDL-51664-master' of git://github.com/FMCorz/moodle 2015-12-03 11:16:30 +01:00
Andrew Nicols
8413376088 MDL-51756 tests: Refactor test to use data-provider
The benefit is that this becomes one test per external function instead of one
test testing them all - so more information is shown on failure and we get lots
more dots (we love dots!).
2015-10-15 15:17:02 +08:00
Damyon Wiese
1dc4dc989d MDL-51756 externallib: Show debugging when optional params are wrong
Optional params are not allowed as the top level value for external_function_parameters.
This is because stricter protocols (xmlrpc and soap) cannot handle optional parameters, only
optional properties in a structure.
2015-10-15 14:19:07 +08:00
Frederic Massart
4b11af9607 MDL-51664 external: Validate courses does not refetch prefetched courses 2015-10-12 12:01:15 +08:00
Damyon Wiese
9764aab9da MDL-51213 externallib: external_format_text/external_format_string
API functions do not know if they are being called from a web page, or a
web-service. They need a single function to call to correctly apply
filters, strip tags etc that knows the correct way to do this based on
the way it was called (e.g. webservices allow parameters for skipping
filters etc).

So here we are fixing the default for the filter argument used in
external_format_text and adding a matching external_format_string.
2015-08-27 15:56:36 +08:00
Juan Leyva
eac1383edb MDL-46588 web services: Fixed system context instanceid eq 0 case 2014-09-12 11:25:16 +02:00
Juan Leyva
60ac6e2915 MDL-46588 web services: Unit tests added 2014-09-12 11:25:16 +02:00
Petr Škoda
474196f4a5 MDL-39915 cleanup core_externallib_testcase 2013-07-27 18:18:59 +02:00
Ankit Agarwal
5b23d9adac MDL-39152 webservices: Rename external_api::get_context() to external_api::get_context_from_params() 2013-06-17 15:18:49 +08:00
Ankit Agarwal
aac70ffc18 MDL-39152 webservices: Abstract context fetching
Since many apis in future will need to provide alternative method to fetch context, I have abstracted this bit into the core external_api class
2013-06-14 15:47:48 +08:00
Jerome Mouneyrac
9a4c2f50c9 MDL-37355 object are automatically cast into object by the return value 2013-01-07 11:12:32 +08:00
Petr Skoda
4b02743182 MDL-32149 improve testcase naming and list in config file 2012-04-03 22:30:57 +02:00
Petr Skoda
7ddef99455 MDL-32149 some more cleanup and testing of PHPUnit asserts 2012-04-03 22:30:56 +02:00
Petr Skoda
a3d5830a0a MDL-32149 PHPUnit test support - part 2
Includes:
* constants refactoring
* reworked db table init
* support for $CFG->debug = -1
* functional DB tests
* fixed $DB->get_indexes() to not throw exceptions when table does not exist
* fix handling of user passwords in test db
* add debug info to exception messages
* removed unnecessary PHP debug errors from mathslib
* fixed @error suppression in get_string
* fixed PHPUnit error handler setup
* added timezone info to default install
2012-04-03 22:30:53 +02:00