Commit c422df78 authored by Romain Courteaud's avatar Romain Courteaud Committed by Vincent Pelletier

wsgi: Rework routing dict (again).

Remove special handling of first folder level.
Generalise CAU/CAS context decision.
Split functionalities further, making each method shorter.
Factorise subpath checks.
Factorise response generation when producing a body.

The resulting data structure, if more verbose than the original one, is
not harder to traverse and more extensible.
parent aa8ee0dc
...@@ -1198,6 +1198,17 @@ class CaucaseTest(unittest.TestCase): ...@@ -1198,6 +1198,17 @@ class CaucaseTest(unittest.TestCase):
""" """
raise ValueError('Some generic exception') raise ValueError('Some generic exception')
@staticmethod
def _placeholder(_):
"""
Placeholder methods, for when method lookup happens before noticing
issues in the query.
"""
raise AssertionError('code should fail before actually calling this')
getCertificateSigningRequest = _placeholder
getCertificate = _placeholder
application = wsgi.Application(DummyCAU(), None) application = wsgi.Application(DummyCAU(), None)
def request(environ): def request(environ):
""" """
...@@ -1226,12 +1237,15 @@ class CaucaseTest(unittest.TestCase): ...@@ -1226,12 +1237,15 @@ class CaucaseTest(unittest.TestCase):
})[0], 404) })[0], 404)
self.assertEqual(request({ self.assertEqual(request({
'PATH_INFO': '/cau', 'PATH_INFO': '/cau',
'REQUEST_METHOD': 'GET',
})[0], 404) })[0], 404)
self.assertEqual(request({ self.assertEqual(request({
'PATH_INFO': '/cau/__init__', 'PATH_INFO': '/cau/__init__',
'REQUEST_METHOD': 'GET',
})[0], 404) })[0], 404)
self.assertEqual(request({ self.assertEqual(request({
'PATH_INFO': '/cau/does_not_exist', 'PATH_INFO': '/cau/does_not_exist',
'REQUEST_METHOD': 'GET',
})[0], 404) })[0], 404)
self.assertEqual(request({ self.assertEqual(request({
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment