(self)
| 1087 | |
| 1088 | @override_settings(CACHE_MIDDLEWARE_ALIAS=DEFAULT_CACHE_ALIAS) |
| 1089 | def test_cache_write_unpicklable_object(self): |
| 1090 | fetch_middleware = FetchFromCacheMiddleware(empty_response) |
| 1091 | |
| 1092 | request = self.factory.get("/cache/test") |
| 1093 | request._cache_update_cache = True |
| 1094 | get_cache_data = FetchFromCacheMiddleware(empty_response).process_request( |
| 1095 | request |
| 1096 | ) |
| 1097 | self.assertIsNone(get_cache_data) |
| 1098 | |
| 1099 | content = "Testing cookie serialization." |
| 1100 | |
| 1101 | def get_response(req): |
| 1102 | response = HttpResponse(content) |
| 1103 | response.set_cookie("foo", "bar") |
| 1104 | return response |
| 1105 | |
| 1106 | update_middleware = UpdateCacheMiddleware(get_response) |
| 1107 | response = update_middleware(request) |
| 1108 | |
| 1109 | get_cache_data = fetch_middleware.process_request(request) |
| 1110 | self.assertIsNotNone(get_cache_data) |
| 1111 | self.assertEqual(get_cache_data.content, content.encode()) |
| 1112 | self.assertEqual(get_cache_data.cookies, response.cookies) |
| 1113 | |
| 1114 | UpdateCacheMiddleware(lambda req: get_cache_data)(request) |
| 1115 | get_cache_data = fetch_middleware.process_request(request) |
| 1116 | self.assertIsNotNone(get_cache_data) |
| 1117 | self.assertEqual(get_cache_data.content, content.encode()) |
| 1118 | self.assertEqual(get_cache_data.cookies, response.cookies) |
| 1119 | |
| 1120 | def test_add_fail_on_pickleerror(self): |
| 1121 | # Shouldn't fail silently if trying to cache an unpicklable type. |
nothing calls this directly
no test coverage detected