Merge branch 'MDL-46588-26' of git://github.com/jleyva/moodle into MOODLE_26_STABLE
This commit is contained in:
+2
-2
@@ -371,9 +371,9 @@ class external_api {
|
||||
*/
|
||||
protected static function get_context_from_params($param) {
|
||||
$levels = context_helper::get_all_levels();
|
||||
if (isset($param['contextid'])) {
|
||||
if (!empty($param['contextid'])) {
|
||||
return context::instance_by_id($param['contextid'], IGNORE_MISSING);
|
||||
} else if (isset($param['contextlevel']) && isset($param['instanceid'])) {
|
||||
} else if (!empty($param['contextlevel']) && isset($param['instanceid'])) {
|
||||
$contextlevel = "context_".$param['contextlevel'];
|
||||
if (!array_search($contextlevel, $levels)) {
|
||||
throw new invalid_parameter_exception('Invalid context level = '.$param['contextlevel']);
|
||||
|
||||
@@ -147,6 +147,33 @@ class core_externallib_testcase extends advanced_testcase {
|
||||
$fetchedcontext = test_exernal_api::get_context_wrapper(array("contextlevel" => "course", "instanceid" => $course->id));
|
||||
$this->assertEquals($realcontext, $fetchedcontext);
|
||||
|
||||
// Passing empty values.
|
||||
try {
|
||||
$fetchedcontext = test_exernal_api::get_context_wrapper(array("contextid" => 0));
|
||||
$this->fail('Exception expected from get_context_wrapper()');
|
||||
} catch (moodle_exception $e) {
|
||||
$this->assertInstanceOf('invalid_parameter_exception', $e);
|
||||
}
|
||||
|
||||
try {
|
||||
$fetchedcontext = test_exernal_api::get_context_wrapper(array("instanceid" => 0));
|
||||
$this->fail('Exception expected from get_context_wrapper()');
|
||||
} catch (moodle_exception $e) {
|
||||
$this->assertInstanceOf('invalid_parameter_exception', $e);
|
||||
}
|
||||
|
||||
try {
|
||||
$fetchedcontext = test_exernal_api::get_context_wrapper(array("contextid" => null));
|
||||
$this->fail('Exception expected from get_context_wrapper()');
|
||||
} catch (moodle_exception $e) {
|
||||
$this->assertInstanceOf('invalid_parameter_exception', $e);
|
||||
}
|
||||
|
||||
// Tests for context with instanceid equal to 0 (System context).
|
||||
$realcontext = context_system::instance();
|
||||
$fetchedcontext = test_exernal_api::get_context_wrapper(array("contextlevel" => "system", "instanceid" => 0));
|
||||
$this->assertEquals($realcontext, $fetchedcontext);
|
||||
|
||||
// Passing wrong level.
|
||||
$this->setExpectedException('invalid_parameter_exception');
|
||||
$fetchedcontext = test_exernal_api::get_context_wrapper(array("contextlevel" => "random", "instanceid" => $course->id));
|
||||
|
||||
Reference in New Issue
Block a user