From d42cbde0c602dad97bb452280baa4a4c7a056bf4 Mon Sep 17 00:00:00 2001 From: Simon Baechler Date: Tue, 5 May 2015 15:51:31 +0200 Subject: [PATCH] [1.7.x] Refs #21357 -- Added a working session example to the docs. --- docs/topics/testing/tools.txt | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/docs/topics/testing/tools.txt b/docs/topics/testing/tools.txt index 99a4634c1c..4b279ab0e3 100644 --- a/docs/topics/testing/tools.txt +++ b/docs/topics/testing/tools.txt @@ -475,14 +475,22 @@ can access these properties as part of a test condition. A dictionary-like object containing session information. See the :doc:`session documentation` for full details. - To modify the session and then save it, it must be stored in a variable - first (because a new ``SessionStore`` is created every time this property - is accessed):: + In Django 1.7, ``client.session`` returns a plain dictionary if the session + is empty. The following code creates a test client with a fully working + session engine:: - def test_something(self): - session = self.client.session - session['somekey'] = 'test' - session.save() + from importlib import import_module + + from django.conf import settings + from django.test import Client + + def get_client_with_session(self): + client = Client() + engine = import_module(settings.SESSION_ENGINE) + s = engine.SessionStore() + s.save() + client.cookies[settings.SESSION_COOKIE_NAME] = s.session_key + return client Example ~~~~~~~