def _test_on_empty_repos(self, cached_repository): self.env.config.set('git', 'persistent_cache', 'false') self.env.config.set('git', 'cached_repository', 'true' if cached_repository else 'false') self._git_init(data=False, bare=True) self._add_repository(bare=True) repos = self._repomgr.get_repository('gitrepos') if cached_repository: # call sync() thrice with empty repository (#11851) for i in xrange(3): repos.sync() rows = self.env.db_query("SELECT value FROM repository " "WHERE id=%s AND name=%s", (repos.id, 'youngest_rev')) self.assertEqual('', rows[0][0]) else: repos.sync() youngest_rev = repos.youngest_rev self.assertIsNone(youngest_rev) self.assertIsNone(repos.oldest_rev) self.assertIsNone(repos.normalize_rev('')) self.assertIsNone(repos.normalize_rev(None)) self.assertIsNone(repos.display_rev('')) self.assertIsNone(repos.display_rev(None)) self.assertIsNone(repos.short_rev('')) self.assertIsNone(repos.short_rev(None)) node = repos.get_node('/', youngest_rev) self.assertEqual([], list(node.get_entries())) self.assertEqual([], list(node.get_history())) self.assertRaises(NoSuchNode, repos.get_node, '/path', youngest_rev) req = MockRequest(self.env, path_info='/browser/gitrepos') browser_mod = BrowserModule(self.env) self.assertTrue(browser_mod.match_request(req)) rv = browser_mod.process_request(req) self.assertEqual('browser.html', rv[0]) self.assertIsNone(rv[1]['rev']) req = MockRequest(self.env, path_info='/log/gitrepos') log_mod = LogModule(self.env) self.assertTrue(log_mod.match_request(req)) rv = log_mod.process_request(req) self.assertEqual('revisionlog.html', rv[0]) self.assertEqual([], rv[1]['items'])
def process_request(self, req): filter_page = WikiPage(self.env, req.args['filter'].value) self.log.debug(filter_page.name) if not filter_page.exists: raise TracError(Markup('Filter page "%s" not found', filter_page.name)) self.log.debug(filter_page.text) filters = filter_page.text filters = filters.split('{{{', 1)[1].split('}}}', 1)[0].splitlines() filter_re = '|'.join('(?:%s)' % f for f in filters if f and not f.startswith('#')) self.log.debug(filter_re) filter_re = re.compile('|'.join('(?:%s)' % f for f in filters if f)) pred = filter_re.search req.args['format'] = 'rss' req.args['path'] = '/' log_module = LogModule(self.env) log_module.env = ChangesetFeedsModule.FakeEnv(self.env, pred) return log_module.process_request(req)
def process_request(self, req): filter_page = WikiPage(self.env, req.args['filter'].value) self.log.debug(filter_page.name) if not filter_page.exists: raise TracError( Markup('Filter page "%s" not found', filter_page.name)) self.log.debug(filter_page.text) filters = filter_page.text filters = filters.split('{{{', 1)[1].split('}}}', 1)[0].splitlines() filter_re = '|'.join('(?:%s)' % f for f in filters if f and not f.startswith('#')) self.log.debug(filter_re) filter_re = re.compile('|'.join('(?:%s)' % f for f in filters if f)) pred = filter_re.search req.args['format'] = 'rss' req.args['path'] = '/' log_module = LogModule(self.env) log_module.env = ChangesetFeedsModule.FakeEnv(self.env, pred) return log_module.process_request(req)
def _test_on_empty_repos(self, cached_repository): self.env.config.set('git', 'persistent_cache', 'false') self.env.config.set('git', 'cached_repository', 'true' if cached_repository else 'false') self._git_init(data=False, bare=True) self._add_repository(bare=True) repos = self._repomgr.get_repository('gitrepos') if cached_repository: # call sync() thrice with empty repository (#11851) for i in xrange(3): repos.sync() rows = self.env.db_query("SELECT value FROM repository " "WHERE id=%s AND name=%s", (repos.id, 'youngest_rev')) self.assertEqual('', rows[0][0]) else: repos.sync() youngest_rev = repos.youngest_rev self.assertEqual(None, youngest_rev) self.assertEqual(None, repos.oldest_rev) self.assertEqual(None, repos.normalize_rev('')) self.assertEqual(None, repos.normalize_rev(None)) node = repos.get_node('/', youngest_rev) self.assertEqual([], list(node.get_entries())) self.assertEqual([], list(node.get_history())) self.assertRaises(NoSuchNode, repos.get_node, '/path', youngest_rev) req = self._create_req(path_info='/browser/gitrepos') browser_mod = BrowserModule(self.env) self.assertTrue(browser_mod.match_request(req)) rv = browser_mod.process_request(req) self.assertEqual('browser.html', rv[0]) self.assertEqual(None, rv[1]['rev']) req = self._create_req(path_info='/log/gitrepos') log_mod = LogModule(self.env) self.assertTrue(log_mod.match_request(req)) rv = log_mod.process_request(req) self.assertEqual('revisionlog.html', rv[0]) self.assertEqual([], rv[1]['items'])
def setUp(self): self.env = EnvironmentStub() self.lm = LogModule(self.env)