# HG changeset patch
# User Brodie Rao <brodie@bitheap.org>
# Date 1297306155 28800
# Branch releases/1.2.X
# Node ID f9460598a915c96ec3d4d883c965eaa06b880713
# Parent  61c0665bc6c15ed9db42a7ca5da2678efa551934
Added tests for logged in users and CACHE_MIDDLEWARE_ANONYMOUS_ONLY

diff --git a/tests/regressiontests/cache/tests.py b/tests/regressiontests/cache/tests.py
--- a/tests/regressiontests/cache/tests.py
+++ b/tests/regressiontests/cache/tests.py
@@ -10,6 +10,7 @@ import unittest
 import warnings
 
 from django.conf import settings
+from django.contrib.auth.models import User
 from django.core import management
 from django.core.cache import get_cache
 from django.core.cache.backends.base import CacheKeyWarning
@@ -670,6 +671,25 @@ class CacheMiddlewareAnonymousOnlyTests(
         response = self.client.get('/')
         self.failIf('Cookie' in response.get('Vary', ''))
 
+    def test_cache_middleware_anonymous_only_while_logged_in(self):
+        settings.CACHE_MIDDLEWARE_ANONYMOUS_ONLY = True
+
+        response = self.client.get('/')
+        self.assertEqual(response['Cache-Control'], 'max-age=600')
+
+        User.objects.create_user(username='user', email='foo@bar.com',
+                                 password='password')
+        login = self.client.login(username='user', password='password')
+        self.assertTrue(login)
+
+        response = self.client.get('/user')
+        self.failIf('Cache-Control' in response)
+        response = self.client.get('/user-cache-page')
+        self.failIf('Cache-Control' in response)
+        response = self.client.get('/user-vary-on-cookie-cache-page')
+        self.failIf('Cache-Control' in response)
+        response = self.client.get('/user-cache-page-vary-on-cookie')
+        self.failIf('Cache-Control' in response)
 
 if __name__ == '__main__':
     unittest.main()
diff --git a/tests/regressiontests/cache/urls.py b/tests/regressiontests/cache/urls.py
--- a/tests/regressiontests/cache/urls.py
+++ b/tests/regressiontests/cache/urls.py
@@ -2,4 +2,8 @@ from django.conf.urls.defaults import pa
 
 urlpatterns = patterns('regressiontests.cache.views',
     (r'^$', 'home'),
+    (r'^user$', 'user'),
+    (r'^user-cache-page$', 'user_cache_page'),
+    (r'^user-vary-on-cookie-cache-page$', 'user_vary_on_cookie_cache_page'),
+    (r'^user-cache-page-vary-on-cookie$', 'user_cache_page_vary_on_cookie'),
 )
diff --git a/tests/regressiontests/cache/views.py b/tests/regressiontests/cache/views.py
--- a/tests/regressiontests/cache/views.py
+++ b/tests/regressiontests/cache/views.py
@@ -1,4 +1,13 @@
 from django.http import HttpResponse
+from django.views.decorators.cache import cache_page
+from django.views.decorators.vary import vary_on_cookie
 
 def home(request):
     return HttpResponse('Hello World!')
+
+def user(request):
+    return HttpResponse(request.user.username)
+
+user_cache_page = cache_page(60 * 15)(user)
+user_vary_on_cookie_cache_page = vary_on_cookie(user_cache_page)
+user_cache_page_vary_on_cookie = cache_page(60 * 15)(vary_on_cookie(user))
