@@ -1013,6 +1013,40 @@ def test_top_level_page_inherited_xframe_options_are_applied(self):
1013
1013
resp = self .client .get (page .get_absolute_url ('en' ))
1014
1014
self .assertEqual (resp .get ('X-Frame-Options' ), 'SAMEORIGIN' )
1015
1015
1016
+ def test_xframe_options_with_cms_page_cache_and_clickjacking_middleware (self ):
1017
+ # Refs: 6346
1018
+ if getattr (settings , 'MIDDLEWARE' , None ):
1019
+ override = {
1020
+ 'MIDDLEWARE' : settings .MIDDLEWARE + [
1021
+ 'django.middleware.clickjacking.XFrameOptionsMiddleware' ,
1022
+ ]
1023
+ }
1024
+ else :
1025
+ override = {
1026
+ 'MIDDLEWARE_CLASSES' : settings .MIDDLEWARE_CLASSES + [
1027
+ 'django.middleware.clickjacking.XFrameOptionsMiddleware' ,
1028
+ ]
1029
+ }
1030
+
1031
+ override ['CMS_PAGE_CACHE' ] = True
1032
+
1033
+ with self .settings (** override ):
1034
+ page = create_page (
1035
+ 'test page 1' ,
1036
+ 'nav_playground.html' ,
1037
+ 'en' ,
1038
+ published = True ,
1039
+ xframe_options = Page .X_FRAME_OPTIONS_ALLOW ,
1040
+ )
1041
+
1042
+ # Normal response from render_page
1043
+ resp = self .client .get (page .get_absolute_url ('en' ))
1044
+ self .assertEqual (resp .get ('X-Frame-Options' ), None )
1045
+
1046
+ # Response from page cache
1047
+ resp = self .client .get (page .get_absolute_url ('en' ))
1048
+ self .assertEqual (resp .get ('X-Frame-Options' ), None )
1049
+
1016
1050
def test_page_used_on_request (self ):
1017
1051
"""
1018
1052
The rendered page changes depending on request and
@@ -1180,36 +1214,3 @@ def test_move_node(self):
1180
1214
1181
1215
self .assertEqual (child .get_absolute_url (language = 'en' ), '/en/parent/child/' )
1182
1216
self .assertEqual (child .publisher_public .get_absolute_url (language = 'en' ), '/en/parent/child/' )
1183
-
1184
- def test_xframe_options_with_cms_page_cache_and_clickjacking_middleware (self ):
1185
- if getattr (settings , 'MIDDLEWARE' , None ):
1186
- override = {
1187
- 'MIDDLEWARE' : settings .MIDDLEWARE + [
1188
- 'django.middleware.clickjacking.XFrameOptionsMiddleware' ,
1189
- ]
1190
- }
1191
- else :
1192
- override = {
1193
- 'MIDDLEWARE_CLASSES' : settings .MIDDLEWARE_CLASSES + [
1194
- 'django.middleware.clickjacking.XFrameOptionsMiddleware' ,
1195
- ]
1196
- }
1197
-
1198
- override ['CMS_PAGE_CACHE' ] = True
1199
-
1200
- with self .settings (** override ):
1201
- page = create_page (
1202
- 'test page 1' ,
1203
- 'nav_playground.html' ,
1204
- 'en' ,
1205
- published = True ,
1206
- xframe_options = Page .X_FRAME_OPTIONS_ALLOW ,
1207
- )
1208
-
1209
- # Normal response from render_page
1210
- resp = self .client .get (page .get_absolute_url ('en' ))
1211
- self .assertEqual (resp .get ('X-Frame-Options' ), None )
1212
-
1213
- # Response from page cache
1214
- resp = self .client .get (page .get_absolute_url ('en' ))
1215
- self .assertEqual (resp .get ('X-Frame-Options' ), None )
0 commit comments