public function testUpdateComposerSuccess() { $repoEntity = new Bundle('KnpLabs/KnpMenuBundle'); $composer = json_decode(file_get_contents(__DIR__ . '/fixtures/encoded-composer.json'), true); $composer = base64_decode($composer['content']); $repo = $this->getRepo(); $method = new \ReflectionMethod($repo, 'updateComposerFile'); $method->setAccessible(true); $method->invokeArgs($repo, array($composer, $repoEntity)); $this->assertEquals($repoEntity->getComposerName(), 'knplabs/knp-menu-bundle'); }
public function testUpdateComposerSuccess() { $repoEntity = new Bundle('knplabs/KnpMenuBundle'); $repo = $this->getRepo(); $gitRepo = $this->getGitRepoMock(); $gitRepo->expects($this->any())->method('hasFile')->with('composer.json')->will($this->returnValue(true)); $gitRepo->expects($this->any())->method('getFileContent')->with('composer.json')->will($this->returnValue('{"name": "knplabs/knp-menu-bundle"}')); $method = new \ReflectionMethod($repo, 'updateComposerFile'); $method->setAccessible(true); $method->invokeArgs($repo, array($gitRepo, $repoEntity)); $this->assertEquals($repoEntity->getComposerName(), 'knplabs/knp-menu-bundle'); }
/** * {@inheritdoc} */ public function updateScore(Bundle $bundle) { $bundle->addScoreDetail('composer', $bundle->getComposerName() ? 5 : 0); }
public function updateVersionsHistory(Bundle $bundle) { // no composer file if (null === ($composerName = $bundle->getComposerName())) { return false; } // query packagist json $packagistArray = $this->github->getHttpClient()->get($composerName, array(), array('url' => 'http://packagist.org/packages/:path.json')); // if json not encoded if (!is_array($packagistArray) || !isset($packagistArray['package'])) { return false; } $versionsHistory = array(); $versionsArray = $packagistArray['package']['versions']; foreach ($versionsArray as $version => $value) { // Skip `dev` packages, add only `dev-master` if (0 === strpos($version, 'dev-') && 'dev-master' != $version) { continue; } foreach (array('symfony/framework-bundle', 'symfony/symfony') as $requirement) { if (isset($value['require'][$requirement])) { $versionsHistory['symfony'][$version] = $value['require'][$requirement]; // array('master' => '>=2.0,<2.2-dev') } } // store all bundle dependencies $versionsHistory['dependencies'][$version] = array('name' => $value['name'], 'extra' => isset($value['extra']) ? $value['require-dev'] : '', 'require' => $value['require'], 'require-dev' => isset($value['require-dev']) ? $value['require-dev'] : '', 'suggest' => isset($value['suggest']) ? $value['suggest'] : ''); } if (!empty($versionsHistory)) { $bundle->setVersionsHistory($versionsHistory); } return true; }
public function bundlePackagistUrl(Bundle $bundle) { return $bundle->getComposerName() ? sprintf('http://packagist.org/packages/%s', $bundle->getComposerName()) : null; }