From 610f15a768ec6fc4e896fff8ef913ce5d8a55475 Mon Sep 17 00:00:00 2001 From: Jerome Tamarelle Date: Wed, 25 Apr 2012 17:35:47 +0200 Subject: [PATCH] Fix unit tests for VcsRepository --- src/Composer/Repository/Vcs/GitHubDriver.php | 1 + src/Composer/Repository/Vcs/SvnDriver.php | 7 +++++-- .../Test/Repository/Vcs/GitHubDriverTest.php | 16 ++++++++++++---- .../Test/Repository/Vcs/SvnDriverTest.php | 3 ++- .../Test/Repository/VcsRepositoryTest.php | 3 ++- 5 files changed, 22 insertions(+), 8 deletions(-) diff --git a/src/Composer/Repository/Vcs/GitHubDriver.php b/src/Composer/Repository/Vcs/GitHubDriver.php index 61a0589ac..9091d0c6f 100644 --- a/src/Composer/Repository/Vcs/GitHubDriver.php +++ b/src/Composer/Repository/Vcs/GitHubDriver.php @@ -235,6 +235,7 @@ class GitHubDriver extends VcsDriver $this->gitDriver = new GitDriver( $this->generateSshUrl(), $this->io, + $this->config, $this->process, $this->remoteFilesystem ); diff --git a/src/Composer/Repository/Vcs/SvnDriver.php b/src/Composer/Repository/Vcs/SvnDriver.php index 388b21f34..d431cb288 100644 --- a/src/Composer/Repository/Vcs/SvnDriver.php +++ b/src/Composer/Repository/Vcs/SvnDriver.php @@ -33,7 +33,7 @@ class SvnDriver extends VcsDriver /** * @var \Composer\Util\Svn */ - protected $util; + private $util; /** * Execute an SVN command and try to fix up the process with credentials @@ -46,6 +46,10 @@ class SvnDriver extends VcsDriver */ protected function execute($command, $url) { + if (null === $this->util) { + $this->util = new SvnUtil($this->baseUrl, $this->io, $this->process); + } + try { return $this->util->execute($command, $url); } catch (\RuntimeException $e) { @@ -65,7 +69,6 @@ class SvnDriver extends VcsDriver if (false !== ($pos = strrpos($this->url, '/trunk'))) { $this->baseUrl = substr($this->url, 0, $pos); } - $this->util = new SvnUtil($this->baseUrl, $this->io, $this->process); $this->getBranches(); $this->getTags(); diff --git a/tests/Composer/Test/Repository/Vcs/GitHubDriverTest.php b/tests/Composer/Test/Repository/Vcs/GitHubDriverTest.php index 845fb990f..88483bff8 100644 --- a/tests/Composer/Test/Repository/Vcs/GitHubDriverTest.php +++ b/tests/Composer/Test/Repository/Vcs/GitHubDriverTest.php @@ -15,6 +15,7 @@ namespace Composer\Test\Repository\Vcs; use Composer\Downloader\TransportException; use Composer\Repository\Vcs\GitHubDriver; use Composer\Util\Filesystem; +use Composer\Config; /** * @author Beau Simensen @@ -64,7 +65,7 @@ class GitHubDriverTest extends \PHPUnit_Framework_TestCase ->with($this->equalTo($repoUrl), $this->equalTo($repoApiUrl), $this->equalTo(false)) ->will($this->returnValue('{"master_branch": "test_master"}')); - $gitHubDriver = new GitHubDriver($repoUrl, $io, null, $remoteFilesystem); + $gitHubDriver = new GitHubDriver($repoUrl, $io, new Config(), null, $remoteFilesystem); $gitHubDriver->initialize(); $this->setAttribute($gitHubDriver, 'tags', array($identifier => $sha)); @@ -114,7 +115,7 @@ class GitHubDriverTest extends \PHPUnit_Framework_TestCase ->with($this->equalTo($repoUrl), $this->equalTo($repoApiUrl), $this->equalTo(false)) ->will($this->returnValue('{"master_branch": "test_master"}')); - $gitHubDriver = new GitHubDriver($repoUrl, $io, null, $remoteFilesystem); + $gitHubDriver = new GitHubDriver($repoUrl, $io, new Config(), null, $remoteFilesystem); $gitHubDriver->initialize(); $this->setAttribute($gitHubDriver, 'tags', array($identifier => $sha)); @@ -171,7 +172,14 @@ class GitHubDriverTest extends \PHPUnit_Framework_TestCase // clean local clone if present $fs = new Filesystem(); - $fs->removeDirectory(sys_get_temp_dir() . '/composer-' . preg_replace('{[^a-z0-9.]}i', '-', $repoSshUrl) . '/'); + $fs->removeDirectory(sys_get_temp_dir() . '/composer-test'); + + $config = new Config(); + $config->merge(array( + 'config' => array( + 'home' => sys_get_temp_dir() . '/composer-test', + ), + )); $process->expects($this->at(0)) ->method('execute') @@ -202,7 +210,7 @@ class GitHubDriverTest extends \PHPUnit_Framework_TestCase ->method('splitLines') ->will($this->returnValue(array('* test_master'))); - $gitHubDriver = new GitHubDriver($repoUrl, $io, $process, $remoteFilesystem); + $gitHubDriver = new GitHubDriver($repoUrl, $io, $config, $process, $remoteFilesystem); $gitHubDriver->initialize(); $this->assertEquals('test_master', $gitHubDriver->getRootIdentifier()); diff --git a/tests/Composer/Test/Repository/Vcs/SvnDriverTest.php b/tests/Composer/Test/Repository/Vcs/SvnDriverTest.php index 5399c394e..6f85faa0c 100644 --- a/tests/Composer/Test/Repository/Vcs/SvnDriverTest.php +++ b/tests/Composer/Test/Repository/Vcs/SvnDriverTest.php @@ -14,6 +14,7 @@ namespace Composer\Test\Repository\Vcs; use Composer\Repository\Vcs\SvnDriver; use Composer\IO\NullIO; +use Composer\Config; class SvnDriverTest extends \PHPUnit_Framework_TestCase { @@ -39,7 +40,7 @@ class SvnDriverTest extends \PHPUnit_Framework_TestCase ->method('getErrorOutput') ->will($this->returnValue($output)); - $svn = new SvnDriver('http://till:secret@corp.svn.local/repo', $console, $process); + $svn = new SvnDriver('http://till:secret@corp.svn.local/repo', $console, new Config(), $process); $svn->getTags(); } diff --git a/tests/Composer/Test/Repository/VcsRepositoryTest.php b/tests/Composer/Test/Repository/VcsRepositoryTest.php index 9c09db0a2..c2060d5b7 100644 --- a/tests/Composer/Test/Repository/VcsRepositoryTest.php +++ b/tests/Composer/Test/Repository/VcsRepositoryTest.php @@ -19,6 +19,7 @@ use Composer\Repository\Vcs\GitDriver; use Composer\Util\Filesystem; use Composer\Util\ProcessExecutor; use Composer\IO\NullIO; +use Composer\Config; class VcsRepositoryTest extends \PHPUnit_Framework_TestCase { @@ -123,7 +124,7 @@ class VcsRepositoryTest extends \PHPUnit_Framework_TestCase 'dev-master' => true, ); - $repo = new VcsRepository(array('url' => self::$gitRepo, 'type' => 'vcs'), new NullIO); + $repo = new VcsRepository(array('url' => self::$gitRepo, 'type' => 'vcs'), new NullIO, new Config()); $packages = $repo->getPackages(); $dumper = new ArrayDumper();