1
0
Fork 0

Fix processing null config value in DiagnoseCommand

Fixes #10814
pull/10812/head
Anatoly Pashin 2022-06-03 15:43:37 +10:00 committed by Jordi Boggiano
parent 3b204cb6f2
commit a0b7896231
No known key found for this signature in database
GPG Key ID: 7BBD42C429EC80BC
3 changed files with 30 additions and 13 deletions

View File

@ -76,13 +76,12 @@ class Config
'use-github-api' => true, 'use-github-api' => true,
'lock' => true, 'lock' => true,
'platform-check' => 'php-only', 'platform-check' => 'php-only',
// valid keys without defaults (auth config stuff): 'bitbucket-oauth' => array(),
// bitbucket-oauth 'github-oauth' => array(),
// github-oauth 'gitlab-oauth' => array(),
// gitlab-oauth 'gitlab-token' => array(),
// gitlab-token 'http-basic' => array(),
// http-basic 'bearer' => array(),
// bearer
); );
/** @var array<string, mixed> */ /** @var array<string, mixed> */

View File

@ -114,12 +114,12 @@ abstract class BaseIO implements IOInterface
*/ */
public function loadConfiguration(Config $config) public function loadConfiguration(Config $config)
{ {
$bitbucketOauth = $config->get('bitbucket-oauth') ?: array(); $bitbucketOauth = $config->get('bitbucket-oauth');
$githubOauth = $config->get('github-oauth') ?: array(); $githubOauth = $config->get('github-oauth');
$gitlabOauth = $config->get('gitlab-oauth') ?: array(); $gitlabOauth = $config->get('gitlab-oauth');
$gitlabToken = $config->get('gitlab-token') ?: array(); $gitlabToken = $config->get('gitlab-token');
$httpBasic = $config->get('http-basic') ?: array(); $httpBasic = $config->get('http-basic');
$bearerToken = $config->get('bearer') ?: array(); $bearerToken = $config->get('bearer');
// reload oauth tokens from config if available // reload oauth tokens from config if available

View File

@ -390,4 +390,22 @@ class ConfigTest extends TestCase
$this->assertEquals('COMPOSER_HTACCESS_PROTECT', $result); $this->assertEquals('COMPOSER_HTACCESS_PROTECT', $result);
} }
public function testGetDefaultsToAnEmptyArray(): void
{
$config = new Config;
$keys = [
'bitbucket-oauth',
'github-oauth',
'gitlab-oauth',
'gitlab-token',
'http-basic',
'bearer',
];
foreach ($keys as $key) {
$value = $config->get($key);
$this->assertIsArray($value);
$this->assertCount(0, $value);
}
}
} }