/**
  * Creates revision log.
  *
  * @param string    $repository_url Repository url.
  * @param ConsoleIO $io             Console IO.
  *
  * @return RevisionLog
  */
 protected function createRevisionLog($repository_url, ConsoleIO $io = null)
 {
     $this->repositoryConnector->getRootUrl($repository_url)->willReturn('svn://localhost')->shouldBeCalled();
     $this->repositoryConnector->getRelativePath($repository_url)->willReturn('/projects/project-name/trunk')->shouldBeCalled();
     $this->repositoryConnector->getProjectUrl('/projects/project-name/trunk')->willReturn('/projects/project-name')->shouldBeCalled();
     $this->repositoryConnector->getRefByPath('/projects/project-name/trunk')->willReturn('trunk')->shouldBeCalled();
     $revision_log = new RevisionLog($repository_url, $this->repositoryConnector->reveal(), $io);
     return $revision_log;
 }
Example #2
0
 /**
  * @dataProvider repositoryUrlDataProvider
  */
 public function testRefreshWithCache($repository_url, $plugin_last_revision)
 {
     $collected_data = array('mocked' => array('OLD_COLLECTED'));
     $cache_invalidator = new RegExToken('/^main:[\\d]+;plugin\\(mocked\\):[\\d]+$/');
     if (!isset($plugin_last_revision)) {
         $this->repositoryConnector->getFirstRevision('svn://localhost')->willReturn(1000)->shouldBeCalled();
     }
     $this->repositoryConnector->getLastRevision('svn://localhost')->willReturn(1000)->shouldBeCalled();
     $this->repositoryConnector->getProjectUrl($repository_url)->willReturn('svn://localhost')->shouldBeCalled();
     $this->cacheManager->getCache('log:svn://localhost', $cache_invalidator)->willReturn($collected_data)->shouldBeCalled();
     $plugin = $this->prophesize('ConsoleHelpers\\SVNBuddy\\Repository\\RevisionLog\\IRevisionLogPlugin');
     $plugin->getName()->willReturn('mocked')->shouldBeCalled();
     $plugin->getCacheInvalidator()->willReturn(5)->shouldBeCalled();
     $plugin->setCollectedData($collected_data['mocked'])->shouldBeCalled();
     $plugin->getLastRevision()->willReturn($plugin_last_revision)->shouldBeCalled();
     $revision_log = $this->createRevisionLog($repository_url);
     $revision_log->registerPlugin($plugin->reveal());
     $revision_log->refresh();
 }
 /**
  * @dataProvider resolveDataProvider
  */
 public function testResolve($wc_url, $url_to_resolve, $resolved_url)
 {
     $this->connector->getProjectUrl($wc_url)->willReturn('svn://user@domain.com/path/to/project');
     $this->assertEquals($resolved_url, $this->urlResolver->resolve($wc_url, $url_to_resolve));
 }