/** * @param Remote $remote * * @return Package[] */ public function synchronizePackages(Remote $remote) { $existingPackages = $this->entityManager->getRepository('Terramar\\Packages\\Entity\\Package')->findBy(array('remote' => $remote)); $projects = $this->getAllProjects($remote); $packages = array(); foreach ($projects as $project) { if (!$this->packageExists($existingPackages, $project['id'])) { $package = new Package(); $package->setExternalId($project['id']); $package->setName($project['name']); $package->setDescription($project['description']); $package->setFqn($project['path_with_namespace']); $package->setWebUrl($project['web_url']); $package->setSshUrl($project['ssh_url_to_repo']); $package->setHookExternalId(''); $package->setRemote($remote); $packages[] = $package; } } return $packages; }
/** * @return string */ private function getCacheDir(Package $package) { return $this->getContainer()->getParameter('app.cache_dir') . '/cloned_project/' . $package->getFqn(); }
public function testGetAndSetWebUrl() { $this->assertEquals(null, $this->sut->getWebUrl()); $this->sut->setWebUrl('your.web.url'); $this->assertEquals('your.web.url', $this->sut->getWebUrl()); }