Add tests
parent
462ebdf752
commit
56e43e4397
|
@ -29,9 +29,9 @@ class Locker
|
|||
/**
|
||||
* Initializes packages locker.
|
||||
*
|
||||
* @param JsonFile $lockFile lockfile loader
|
||||
* @param RepositoryManager $repositoryManager repository manager instance
|
||||
* @param string $hash unique hash of the current composer configuration
|
||||
* @param JsonFile $lockFile lockfile loader
|
||||
* @param RepositoryManager $repositoryManager repository manager instance
|
||||
* @param string $hash unique hash of the current composer configuration
|
||||
*/
|
||||
public function __construct(JsonFile $lockFile, RepositoryManager $repositoryManager, $hash)
|
||||
{
|
||||
|
@ -43,13 +43,18 @@ class Locker
|
|||
/**
|
||||
* Checks whether locker were been locked (lockfile found).
|
||||
*
|
||||
* @return Boolean
|
||||
* @return Boolean
|
||||
*/
|
||||
public function isLocked()
|
||||
{
|
||||
return $this->lockFile->exists();
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks whether the lock file is still up to date with the current hash
|
||||
*
|
||||
* @return Boolean
|
||||
*/
|
||||
public function isFresh()
|
||||
{
|
||||
$lock = $this->lockFile->read();
|
||||
|
@ -60,7 +65,7 @@ class Locker
|
|||
/**
|
||||
* Searches and returns an array of locked packages, retrieved from registered repositories.
|
||||
*
|
||||
* @return array
|
||||
* @return array
|
||||
*/
|
||||
public function getLockedPackages()
|
||||
{
|
||||
|
@ -93,7 +98,7 @@ class Locker
|
|||
/**
|
||||
* Locks provided packages into lockfile.
|
||||
*
|
||||
* @param array $packages array of packages
|
||||
* @param array $packages array of packages
|
||||
*/
|
||||
public function lockPackages(array $packages)
|
||||
{
|
||||
|
|
|
@ -174,6 +174,36 @@ class LockerTest extends \PHPUnit_Framework_TestCase
|
|||
$locker->lockPackages(array($package1));
|
||||
}
|
||||
|
||||
public function testIsFresh()
|
||||
{
|
||||
$json = $this->createJsonFileMock();
|
||||
$repo = $this->createRepositoryManagerMock();
|
||||
|
||||
$locker = new Locker($json, $repo, 'md5');
|
||||
|
||||
$json
|
||||
->expects($this->once())
|
||||
->method('read')
|
||||
->will($this->returnValue(array('hash' => 'md5')));
|
||||
|
||||
$this->assertTrue($locker->isFresh());
|
||||
}
|
||||
|
||||
public function testIsFreshFalse()
|
||||
{
|
||||
$json = $this->createJsonFileMock();
|
||||
$repo = $this->createRepositoryManagerMock();
|
||||
|
||||
$locker = new Locker($json, $repo, 'md5');
|
||||
|
||||
$json
|
||||
->expects($this->once())
|
||||
->method('read')
|
||||
->will($this->returnValue(array('hash' => 'oldmd5')));
|
||||
|
||||
$this->assertFalse($locker->isFresh());
|
||||
}
|
||||
|
||||
private function createJsonFileMock()
|
||||
{
|
||||
return $this->getMockBuilder('Composer\Json\JsonFile')
|
||||
|
|
Loading…
Reference in New Issue