From 87ede25c9be4fa02a6a7d656a9d7fa6b15c05c07 Mon Sep 17 00:00:00 2001 From: Jerome Mouneyrac Date: Mon, 3 Dec 2012 10:47:38 +0800 Subject: [PATCH] MDL-35593 core_webservice_get_site_info returns version number set to PARAM_TEXT and PARAM_FLOAT --- webservice/externallib.php | 2 +- webservice/tests/externallib_test.php | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/webservice/externallib.php b/webservice/externallib.php index 095638633a2..a51b2136f60 100644 --- a/webservice/externallib.php +++ b/webservice/externallib.php @@ -189,7 +189,7 @@ class core_webservice_external extends external_api { new external_single_structure( array( 'name' => new external_value(PARAM_RAW, 'function name'), - 'version' => new external_value(PARAM_FLOAT, + 'version' => new external_value(PARAM_TEXT, 'The version number of the component to which the function belongs') ), 'functions that are available') ), diff --git a/webservice/tests/externallib_test.php b/webservice/tests/externallib_test.php index 38680875e05..eb34d390661 100644 --- a/webservice/tests/externallib_test.php +++ b/webservice/tests/externallib_test.php @@ -64,6 +64,10 @@ class core_webservice_external_testcase extends externallib_advanced_testcase { $webservice->downloadfiles = true; $externalserviceid = $DB->insert_record('external_services', $webservice); + // Add a function to the service + $DB->insert_record('external_services_functions', array('externalserviceid' => $externalserviceid, + 'functionname' => 'core_course_get_contents')); + $_POST['wstoken'] = 'testtoken'; $externaltoken = new stdClass(); $externaltoken->token = 'testtoken'; @@ -86,6 +90,10 @@ class core_webservice_external_testcase extends externallib_advanced_testcase { $this->assertEquals($CFG->release, $siteinfo['release']); $this->assertEquals($CFG->version, $siteinfo['version']); $this->assertEquals(get_config('admin', 'mobilecssurl'), $siteinfo['mobilecssurl']); + $this->assertEquals(count($siteinfo['functions']), 1); + $function = array_pop($siteinfo['functions']); + $this->assertEquals($function['name'], 'core_course_get_contents'); + $this->assertEquals($function['version'], $siteinfo['version']); } }