Ejemplo n.º 1
0
def test_decorate_with_many(rf, endpoint_name, decorated, expected_calls):
    from django_handlers import Handler

    handler = Handler()
    calls = []

    @handler.get('endpoint1')
    def get1(request):
        return HttpResponse()

    @handler.get('endpoint2')
    def get2(request):
        return HttpResponse()

    def decorator1(view):
        @wraps(view)
        def wrapper(*args, **kwargs):
            calls.append('decorator1')
            return view(*args, **kwargs)
        return wrapper

    def decorator2(view):
        @wraps(view)
        def wrapper(*args, **kwargs):
            calls.append('decorator2')
            return view(*args, **kwargs)
        return wrapper

    handler.decorate(decorated, [decorator1, decorator2])
    request = rf.get('/something')
    getattr(handler, endpoint_name)(request)
    assert calls == expected_calls
Ejemplo n.º 2
0
def test_decorate(rf, endpoint_name, decorated, decorator_called):
    from django_handlers import Handler

    handler = Handler()

    @handler.get('endpoint1')
    def get1(request):
        return HttpResponse()

    @handler.get('endpoint2')
    def get2(request):
        return HttpResponse()

    def decorator(view):
        @wraps(view)
        def wrapper(*args, **kwargs):
            decorator.is_called = True
            return view(*args, **kwargs)
        return wrapper

    decorator.is_called = False

    handler.decorate(decorated, decorator)
    request = rf.get('/something')
    getattr(handler, endpoint_name)(request)
    assert decorator.is_called is decorator_called