Example #1
0
    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__)
Example #2
0
    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