/** * @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(); }
public function testRefreshWithCache() { $this->repositoryConnector->getLastRevision('svn://localhost')->willReturn(1000)->shouldBeCalled(); $revision_log = $this->createRevisionLog('svn://localhost/projects/project-name/trunk'); // Add repository collector plugin. $repository_collector_plugin = $this->prophesize('ConsoleHelpers\\SVNBuddy\\Repository\\RevisionLog\\Plugin\\IRepositoryCollectorPlugin'); $repository_collector_plugin->getName()->willReturn('mocked_repo')->shouldBeCalled(); $repository_collector_plugin->setRevisionLog($revision_log)->shouldBeCalled(); $repository_collector_plugin->whenDatabaseReady()->shouldBeCalled(); $repository_collector_plugin->getLastRevision()->willReturn(1000)->shouldBeCalled(); // Add database collector plugin. $database_collector_plugin = $this->prophesize('ConsoleHelpers\\SVNBuddy\\Repository\\RevisionLog\\Plugin\\IDatabaseCollectorPlugin'); $database_collector_plugin->getName()->willReturn('mocked_db')->shouldBeCalled(); $database_collector_plugin->setRevisionLog($revision_log)->shouldBeCalled(); $database_collector_plugin->whenDatabaseReady()->shouldBeCalled(); $database_collector_plugin->getLastRevision()->willReturn(1000)->shouldBeCalled(); $revision_log->registerPlugin($repository_collector_plugin->reveal()); $revision_log->registerPlugin($database_collector_plugin->reveal()); $revision_log->refresh(false); }