28 lines
826 B
Python
28 lines
826 B
Python
|
import pytest
|
||
|
|
||
|
from app import app
|
||
|
from endpoints.v1 import v1_bp
|
||
|
from endpoints.v2 import v2_bp
|
||
|
from endpoints.verbs import verbs
|
||
|
|
||
|
@pytest.mark.parametrize('blueprint', [
|
||
|
v2_bp,
|
||
|
v1_bp,
|
||
|
verbs,
|
||
|
])
|
||
|
def test_verify_blueprint(blueprint):
|
||
|
class Checker(object):
|
||
|
def __init__(self):
|
||
|
self.first_registration = True
|
||
|
self.app = app
|
||
|
|
||
|
def add_url_rule(self, rule, endpoint, view_function, methods=None):
|
||
|
result = ('__anon_protected' in dir(view_function) or
|
||
|
'__anon_allowed' in dir(view_function))
|
||
|
error_message = ('Missing anonymous access protection decorator on function ' +
|
||
|
'%s under blueprint %s' % (endpoint, blueprint.name))
|
||
|
assert result, error_message
|
||
|
|
||
|
for deferred_function in blueprint.deferred_functions:
|
||
|
deferred_function(Checker())
|