Merged in kberridge/hg-review (pull request #6)
web: display branch name on index if other than 'default'
author |
Christophe de Vienne <cdevienne@gmail.com> |
date |
Fri, 21 Nov 2014 18:38:48 +0100 |
parents |
8be7ac46f0ec
(diff)
b0bcc35b016a
(current diff)
|
children |
66463ec963b6
|
branches/tags |
(none) |
files |
|
Changes
--- /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()
--- 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 <anonymous@example.com>')
+ 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 <anonymous@example.com>')
-
- 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)