def connect_routes(dispatcher): """This function takes the dispatcher and attaches the routes. :param dispatcher: The CherryPy dispatcher. """ # controller instances map controllers = { 'root': Root(), 'calculations': Calculations(), 'datasets': Datasets(), 'version': Version(), } # map them into args to dispatcher dictify = lambda x: dict(zip(['name', 'conditions', 'route', 'controller', 'action'], x)) route_case = { 'conditions': lambda v: dict(method=v), 'controller': lambda v: controllers[v], } kwarg_map = lambda d: { k: route_case.get(k, lambda v: v)(v) for k, v in d.iteritems() } routes = [kwarg_map(dictify(route)) for route in ROUTES + options()] # attach them for route in routes: dispatcher.connect(**route)
class TestVersion(TestBase): def setUp(self): TestBase.setUp(self) self.controller = Version() def test_index(self): response = json.loads(self.controller.index()) self.assertTrue('version' in response.keys())
class TestVersion(TestBase): def setUp(self): TestBase.setUp(self) self.controller = Version() def test_index(self): response = json.loads(self.controller.index()) response_keys = response.keys() keys = [ 'version', 'description', 'branch', 'commit', ] for key in keys: self.assertTrue(key in response_keys)
def setUp(self): TestBase.setUp(self) self.controller = Version()