/** * 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; }
/** * @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)); }