# HG changeset patch # User Christophe de Vienne # Date 1416591528 -3600 # Node ID 87fcb432d230eb1ebdb44c5b63bac15008807475 # Parent 8be7ac46f0ecf4759e9649cec7a1e70bd99885aa# Parent b0bcc35b016acffa95cf8637432061f9b427e9dc Merged in kberridge/hg-review (pull request #6) web: display branch name on index if other than 'default' diff -r b0bcc35b016a -r 87fcb432d230 review/tests/test_web.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/review/tests/test_web.py Fri Nov 21 18:38:48 2014 +0100 @@ -0,0 +1,38 @@ +import unittest + +from nose.tools import eq_ + +import util + +from .. import web + +NON_EXISTENT_REV = 999999 + +class WebTestCase(unittest.TestCase): + """Simple web tests. Currently only checks for correct status codes.""" + + def setUp(self): + util.setup_reviewed_sandbox()() + ui = util.get_ui() + repo = util.get_sandbox_repo() + web._configure_app(ui, repo) + web.app.config['TESTING'] = True + self.app = web.app.test_client() + + def tearDown(self): + util.teardown_sandbox() + + def test_index_no_rev(self): + rv = self.app.get('/') + eq_(rv.status_code, 200) + + def test_index_high_rev(self): + rv = self.app.get('/%s/' % NON_EXISTENT_REV) + eq_(rv.status_code, 200) + + def test_index_known_rev(self): + rv = self.app.get('/0/') + eq_(rv.status_code, 200) + +if __name__ == '__main__': + unittest.main() diff -r b0bcc35b016a -r 87fcb432d230 review/web.py --- a/review/web.py Tue Sep 04 13:03:55 2012 -0400 +++ b/review/web.py Fri Nov 21 18:38:48 2014 +0100 @@ -231,23 +231,29 @@ return _render('500.html'), 500 +def _configure_app(ui, repo, read_only=False, allow_anon=False): + """Configure the web app. + + This happens in a distinct function to reuse these steps in tests. + + """ + app.read_only = read_only + app.debug = ui.debugflag + app.allow_anon = allow_anon + app.site_root = '' + if app.allow_anon: + ui.setconfig('ui', 'username', 'Anonymous ') + app.ui = ui + app.repo = repo + app.title = os.path.basename(repo.root) + app.project_url = None + def load_interface(ui, repo, read_only=False, allow_anon=False, open=False, address='127.0.0.1', port=8080): if open: import webbrowser webbrowser.open('http://localhost:%d/' % port) - app.read_only = read_only - app.debug = ui.debugflag - app.allow_anon = allow_anon - app.site_root = '' - - if app.allow_anon: - ui.setconfig('ui', 'username', 'Anonymous ') - - app.ui = ui - app.repo = repo - app.title = os.path.basename(repo.root) - app.project_url = None + _configure_app(ui, repo, read_only, allow_anon) app.run(host=address, port=port)