public function testOk()
 {
     $finder = new RepositoriesFinder();
     $tmpDir = tempnam(sys_get_temp_dir(), 'gitlib_');
     unlink($tmpDir);
     mkdir($tmpDir . '/folder/subfolder', 0777, true);
     Admin::init($tmpDir . '/folder/subfolder/A', false);
     Admin::init($tmpDir . '/folder/B', false);
     Admin::init($tmpDir . '/C', false);
     $repositories = $finder->getRepositories($tmpDir);
     $this->assertCount(3, $repositories);
     $this->assertInstanceOf('Gitonomy\\Git\\Repository', reset($repositories));
 }
Beispiel #2
0
 private function loadRepositories()
 {
     if (!isset($this['repositories'])) {
         throw new \RuntimeException(sprintf('You should declare some repositories in the config file: "%s"', $configFile));
     } elseif (is_string($this['repositories'])) {
         $repoFinder = new RepositoriesFinder();
         $this['repositories'] = $repoFinder->getRepositories($this['repositories']);
     } elseif ($this['repositories'] instanceof Repository) {
         $this['repositories'] = array($this['repositories']);
     } elseif (is_array($this['repositories'])) {
         foreach ($this['repositories'] as $key => $repository) {
             if (!$repository instanceof Repository) {
                 throw new \RuntimeException(sprintf('Value (%s) in $gitonomy[\'repositories\'] is not an instance of Repository in: "%s"', $key, $configFile));
             }
             if (is_string($key)) {
                 $repository->setName($key);
             }
         }
     } else {
         throw new \RuntimeException(sprintf('"$gitonomy" should be a array of Repository or a string in "%s"', $configFile));
     }
     $repositoryTmp = array();
     foreach ($this['repositories'] as $repository) {
         $repositoryTmp[$repository->getName()] = $repository;
     }
     $this['repositories'] = $repositoryTmp;
 }