def test__FSCacheHeaders(self): from Products.CMFCore.utils import _FSCacheHeaders _FILE_MOD_TIME = 1000000000 _FILE_RFC_DATE = rfc1123_date(_FILE_MOD_TIME) class Obj(Implicit): _file_mod_time = _FILE_MOD_TIME # date < _file_mod_time env = {'HTTP_IF_MODIFIED_SINCE': rfc1123_date(_FILE_MOD_TIME - 1)} obj = makerequest(Obj(), environ=env) _FSCacheHeaders(obj) self.assertEqual(obj.REQUEST.RESPONSE.getHeader('Last-Modified'), _FILE_RFC_DATE) # date > _file_mod_time env = {'HTTP_IF_MODIFIED_SINCE': rfc1123_date(_FILE_MOD_TIME + 1)} obj = makerequest(Obj(), environ=env) _FSCacheHeaders(obj) self.assertEqual(obj.REQUEST.RESPONSE.getHeader('Last-Modified'), None) # invalid date env = {'HTTP_IF_MODIFIED_SINCE': 'Fri, 37 Feb 3121 29:64:46'} obj = makerequest(Obj(), environ=env) _FSCacheHeaders(obj) self.assertEqual(obj.REQUEST.RESPONSE.getHeader('Last-Modified'), _FILE_RFC_DATE)
def _setOldCacheHeaders(self): # return False to disable this simple caching behaviour return _FSCacheHeaders(self)