Merge branch 'MDL-71395-master-2' of git://github.com/marinaglancy/moodle

This commit is contained in:
Jun Pataleta
2021-05-07 10:30:23 +08:00
3 changed files with 44 additions and 2 deletions
+3 -1
View File
@@ -42,19 +42,21 @@ class block_tag_youtube_edit_form extends block_edit_form {
// Category setting.
$categorychoices = ['0' => get_string('anycategory', 'block_tag_youtube')];
$hascategoryerror = false;
$categoryerror = '';
try {
// Get all video categories through an API call and add them to the category list.
$categorychoices += $this->block->get_categories();
} catch (Exception $e) {
$hascategoryerror = true;
$categoryerror = $e->getMessage();
}
$mform->addElement('select', 'config_category', get_string('category', 'block_tag_youtube'),
$categorychoices);
$mform->setDefault('config_category', 0);
if ($categoryerror) {
if ($hascategoryerror) {
$notification = $OUTPUT->notification(get_string('categoryerror', 'block_tag_youtube', $categoryerror),
'error');
$mform->addElement('static', 'config_category_error', '', $notification);
+1 -1
View File
@@ -124,7 +124,7 @@ class moodle_google_curlio extends Google_IO_Curl {
$curlerrornum = $curl->get_errno();
$curlerror = $curl->error;
if ($respdata != CURLE_OK) {
if ($curlerrornum != CURLE_OK) {
throw new Google_IO_Exception($curlerror);
}
+40
View File
@@ -0,0 +1,40 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Tests for google library
*
* @package core
* @copyright 2021 Marina Glancy
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class core_googlelib_testcase extends advanced_testcase {
public function test_invalid_google_api_key() {
global $CFG;
require_once($CFG->libdir . '/google/lib.php');
$client = get_google_client();
$client->setDeveloperKey('invalid');
$client->setScopes(array(Google_Service_YouTube::YOUTUBE_READONLY));
$service = new Google_Service_YouTube($client);
try {
$service->videoCategories->listVideoCategories('snippet', ['regionCode' => 'us']);
$this->fail('Exception expected');
} catch (Google_Service_Exception $e) {
$this->assertMatchesRegularExpression('/API key not valid/', $e->getMessage());
}
}
}