Merge pull request #2008 from phansys/svn-auth
Allowed to 5 auth requests in svn before failpull/2014/merge
commit
ca69917969
|
@ -20,6 +20,8 @@ use Composer\IO\IOInterface;
|
||||||
*/
|
*/
|
||||||
class Svn
|
class Svn
|
||||||
{
|
{
|
||||||
|
const MAX_QTY_AUTH_TRIES = 5;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var array
|
* @var array
|
||||||
*/
|
*/
|
||||||
|
@ -50,6 +52,11 @@ class Svn
|
||||||
*/
|
*/
|
||||||
protected $process;
|
protected $process;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var integer
|
||||||
|
*/
|
||||||
|
protected $qtyAuthTries = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $url
|
* @param string $url
|
||||||
* @param \Composer\IO\IOInterface $io
|
* @param \Composer\IO\IOInterface $io
|
||||||
|
@ -112,11 +119,8 @@ class Svn
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO keep a count of user auth attempts and ask 5 times before
|
// try to authenticate if maximum quantity of tries not reached
|
||||||
// failing hard (currently it fails hard directly if the URL has credentials)
|
if ($this->qtyAuthTries++ < self::MAX_QTY_AUTH_TRIES || !$this->hasAuth()) {
|
||||||
|
|
||||||
// try to authenticate
|
|
||||||
if (!$this->hasAuth()) {
|
|
||||||
$this->doAuthDance();
|
$this->doAuthDance();
|
||||||
|
|
||||||
// restart the process
|
// restart the process
|
||||||
|
|
|
@ -23,7 +23,7 @@ class SvnDriverTest extends \PHPUnit_Framework_TestCase
|
||||||
public function testWrongCredentialsInUrl()
|
public function testWrongCredentialsInUrl()
|
||||||
{
|
{
|
||||||
$console = $this->getMock('Composer\IO\IOInterface');
|
$console = $this->getMock('Composer\IO\IOInterface');
|
||||||
$console->expects($this->once())
|
$console->expects($this->exactly(6))
|
||||||
->method('isInteractive')
|
->method('isInteractive')
|
||||||
->will($this->returnValue(true));
|
->will($this->returnValue(true));
|
||||||
|
|
||||||
|
@ -35,7 +35,7 @@ class SvnDriverTest extends \PHPUnit_Framework_TestCase
|
||||||
$process->expects($this->at(1))
|
$process->expects($this->at(1))
|
||||||
->method('execute')
|
->method('execute')
|
||||||
->will($this->returnValue(1));
|
->will($this->returnValue(1));
|
||||||
$process->expects($this->once())
|
$process->expects($this->exactly(7))
|
||||||
->method('getErrorOutput')
|
->method('getErrorOutput')
|
||||||
->will($this->returnValue($output));
|
->will($this->returnValue($output));
|
||||||
$process->expects($this->at(2))
|
$process->expects($this->at(2))
|
||||||
|
|
Loading…
Reference in New Issue