def test_invalid_session(self, uses_session): context = pretend.stub() request = pretend.stub(session=pretend.stub()) response = pretend.stub() @pretend.call_recorder def view(context, request): assert isinstance(request.session, InvalidSession) return response info = pretend.stub(options={}, exception_only=False) if uses_session is not None: info.options["uses_session"] = uses_session derived_view = session_view(view, info) assert derived_view(context, request) is response assert view.calls == [pretend.call(context, request)]
def test_valid_session(self, monkeypatch): add_vary_cb = pretend.call_recorder(lambda fn: fn) add_vary = pretend.call_recorder(lambda vary: add_vary_cb) monkeypatch.setattr(warehouse.sessions, "add_vary", add_vary) context = pretend.stub() request = pretend.stub(session=Session()) response = pretend.stub() @pretend.call_recorder def view(context, request): assert isinstance(request.session, Session) return response info = pretend.stub(options={"uses_session": True}) derived_view = session_view(view, info) assert derived_view(context, request) is response assert view.calls == [pretend.call(context, request)] assert add_vary.calls == [pretend.call("Cookie")] assert add_vary_cb.calls == [pretend.call(view)]