def test_register_route(self): d = FlaskDispatcher(self.app) def fake(): pass endpoint = 'someendpoint' values = dict(endpoint=endpoint, endpoint_func=fake, route='/myresource', methods=['GET']) d.register_route(**values) self.assertIn(endpoint, self.app.url_map._rules_by_endpoint) rule = self.app.url_map._rules_by_endpoint[endpoint][0] self.assertIn('GET', rule.methods) self.assertEqual(rule.rule, '/myresource') self.assertEqual(endpoint, rule.endpoint) # They won't actually be the same function since it gets wrapped. self.assertEqual(self.app.view_functions[endpoint].__name__, fake.__name__)
def test_register_route_invalid_options(self): """ Tests registering a route with options not accepted by Flask. """ app = Flask('myapp') d = FlaskDispatcher(app) def fake(): return d.register_route('/ha', route='/ha', endpoint_func=fake, options=dict(invalid='option')) for rul in app.url_map._rules: if rul.endpoint == '/ha': break else: assert False