def test_vary_by(varies, expected): view = lambda app, request: Response("") for vary in varies: view = vary_by(*vary)(view) assert view(pretend.stub(), pretend.stub()).vary.as_set() == expected
def csrf_protect(fn): # Mark the view function as requiring CSRF fn._csrf = True # Return the original view function, but varied by Cookie return vary_by("Cookie")(fn)