1
0
Fork 0

Ensure that a missing SSL/TLS protection warning does not pollute STDOUT

Fixes #7737
pull/7641/head^2
Alexey Kopytko 2018-10-26 12:12:10 +09:00 committed by Rob
parent 67e6d6d8a4
commit 20107dbf77
2 changed files with 41 additions and 1 deletions

View File

@ -588,7 +588,7 @@ class Factory
$disableTls = false;
if ($config && $config->get('disable-tls') === true) {
if (!$warned) {
$io->write('<warning>You are running Composer with SSL/TLS protection disabled.</warning>');
$io->writeError('<warning>You are running Composer with SSL/TLS protection disabled.</warning>');
}
$warned = true;
$disableTls = true;

View File

@ -0,0 +1,40 @@
<?php
/*
* This file is part of Composer.
*
* (c) Nils Adermann <naderman@naderman.de>
* Jordi Boggiano <j.boggiano@seld.be>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Composer\Test;
use PHPUnit\Framework\TestCase;
use Composer\Factory;
class FactoryTest extends TestCase
{
/**
* @group TLS
*/
public function testDefaultValuesAreAsExpected()
{
$ioMock = $this->getMockBuilder('Composer\IO\IOInterface')->getMock();
$ioMock->expects($this->once())
->method("writeError");
$config = $this
->getMockBuilder('Composer\Config')
->getMock();
$config->method('get')
->with($this->equalTo('disable-tls'))
->will($this->returnValue(true));
Factory::createRemoteFilesystem($ioMock, $config);
}
}