/** * Test get_plugins_supporting_mobile. * This is a very basic test because currently there aren't plugins supporting Mobile in core. */ public function test_get_plugins_supporting_mobile() { $result = external::get_plugins_supporting_mobile(); $result = external_api::clean_returnvalue(external::get_plugins_supporting_mobile_returns(), $result); $this->assertCount(0, $result['warnings']); $this->assertCount(0, $result['plugins']); }
public function test_get_site_public_settings() { global $CFG, $SITE; $this->resetAfterTest(true); $result = external::get_site_public_settings(); $result = external_api::clean_returnvalue(external::get_site_public_settings_returns(), $result); // Test default values. $context = context_system::instance(); $expected = array('wwwroot' => $CFG->wwwroot, 'httpswwwroot' => $CFG->httpswwwroot, 'sitename' => external_format_string($SITE->fullname, $context->id, true), 'guestlogin' => $CFG->guestloginbutton, 'rememberusername' => $CFG->rememberusername, 'authloginviaemail' => $CFG->authloginviaemail, 'registerauth' => $CFG->registerauth, 'forgottenpasswordurl' => $CFG->forgottenpasswordurl, 'authinstructions' => format_text($CFG->auth_instructions), 'authnoneenabled' => (int) is_enabled_auth('none'), 'enablewebservices' => $CFG->enablewebservices, 'enablemobilewebservice' => $CFG->enablemobilewebservice, 'maintenanceenabled' => $CFG->maintenance_enabled, 'maintenancemessage' => format_text($CFG->maintenance_message), 'warnings' => array()); $this->assertEquals($expected, $result); // Change a value. set_config('registerauth', 'email'); $authinstructions = 'Something with <b>html tags</b>'; set_config('auth_instructions', $authinstructions); $expected['registerauth'] = 'email'; $expected['authinstructions'] = format_text($authinstructions); $result = external::get_site_public_settings(); $result = external_api::clean_returnvalue(external::get_site_public_settings_returns(), $result); $this->assertEquals($expected, $result); }
/** * Test get_autologin_key locked. */ public function test_get_autologin_key_missing_locked() { global $CFG, $DB, $USER; $this->resetAfterTest(true); $user = $this->getDataGenerator()->create_user(); $this->setUser($user); $CFG->enablewebservices = 1; $CFG->enablemobilewebservice = 1; $CFG->httpswwwroot = str_replace('http:', 'https:', $CFG->httpswwwroot); $service = $DB->get_record('external_services', array('shortname' => MOODLE_OFFICIAL_MOBILE_SERVICE)); $token = external_generate_token_for_current_user($service); $_GET['wstoken'] = $token->token; // Mock parameters. $result = external::get_autologin_key($token->privatetoken); $result = external_api::clean_returnvalue(external::get_autologin_key_returns(), $result); // Mock last time request. $mocktime = time() - 7 * MINSECS; set_user_preference('tool_mobile_autologin_request_last', $mocktime, $USER); $result = external::get_autologin_key($token->privatetoken); $result = external_api::clean_returnvalue(external::get_autologin_key_returns(), $result); // We just requested one token, we must wait. $this->expectException('moodle_exception'); $this->expectExceptionMessage(get_string('autologinkeygenerationlockout', 'tool_mobile')); $result = external::get_autologin_key($token->privatetoken); }
/** * Test get_config */ public function test_get_config() { global $CFG, $SITE; require_once $CFG->dirroot . '/course/format/lib.php'; $this->resetAfterTest(true); $result = external::get_config(); $result = external_api::clean_returnvalue(external::get_config_returns(), $result); // Test default values. $context = context_system::instance(); $expected = array(array('name' => 'fullname', 'value' => $SITE->fullname), array('name' => 'shortname', 'value' => $SITE->shortname), array('name' => 'summary', 'value' => $SITE->summary), array('name' => 'frontpage', 'value' => $CFG->frontpage), array('name' => 'frontpageloggedin', 'value' => $CFG->frontpageloggedin), array('name' => 'maxcategorydepth', 'value' => $CFG->maxcategorydepth), array('name' => 'frontpagecourselimit', 'value' => $CFG->frontpagecourselimit), array('name' => 'numsections', 'value' => course_get_format($SITE)->get_course()->numsections), array('name' => 'newsitems', 'value' => $SITE->newsitems), array('name' => 'commentsperpage', 'value' => $CFG->commentsperpage), array('name' => 'disableuserimages', 'value' => $CFG->disableuserimages), array('name' => 'mygradesurl', 'value' => user_mygrades_url()->out(false))); $this->assertCount(0, $result['warnings']); $this->assertEquals($expected, $result['settings']); // Change a value and retrieve filtering by section. set_config('commentsperpage', 1); $expected[9]['value'] = 1; unset($expected[10]); unset($expected[11]); $result = external::get_config('frontpagesettings'); $result = external_api::clean_returnvalue(external::get_config_returns(), $result); $this->assertCount(0, $result['warnings']); $this->assertEquals($expected, $result['settings']); }