def test_index_html_with_304_and_caching(self): # See collector #355 self._setupCachingPolicyManager(DummyCachingManager()) original_len = len(self.RESPONSE.headers) path, ref = self._extractFile() from webdav.common import rfc1123_date self.root.image = self._makeOne('test_image', 'test_image.gif') image = self.root.image transaction.savepoint(optimistic=True) mod_time = image.modified() self.REQUEST.environ['IF_MODIFIED_SINCE'] = '%s;' % rfc1123_date( mod_time + 1) data = image.index_html(self.REQUEST, self.RESPONSE) self.assertEqual(data, '') self.assertEqual(self.RESPONSE.getStatus(), 304) headers = self.RESPONSE.headers self.failUnless(len(headers) >= original_len + 3) self.failUnless('foo' in headers.keys()) self.failUnless('bar' in headers.keys()) self.assertEqual(headers['test_path'], '/test_image')
def test_index_html_with_304_and_caching(self): # See collector #355 self.root.caching_policy_manager = DummyCachingManager() original_len = len(self.RESPONSE.headers) path, ref = self._extractFile() import os from webdav.common import rfc1123_date mod_time = os.stat(path)[8] image = self._makeOne('test_image', 'test_image.gif') image = image.__of__(self.root) self.REQUEST.environ['IF_MODIFIED_SINCE'] = '%s;' % rfc1123_date( mod_time + 3600) data = image.index_html(self.REQUEST, self.RESPONSE) self.assertEqual(data, '') self.assertEqual(self.RESPONSE.getStatus(), 304) headers = self.RESPONSE.headers self.failUnless(len(headers) >= original_len + 3) self.failUnless('foo' in headers.keys()) self.failUnless('bar' in headers.keys()) self.assertEqual(headers['test_path'], '/test_image')
def test_index_html_with_304_and_caching(self): # See collector #355 cpm = DummyCachingManager() getSiteManager().registerUtility(cpm, ICachingPolicyManager) original_len = len(self.RESPONSE.headers) _path, ref = self._extractFile() self.app.image = self._makeOne('test_image', 'test_image.gif', file=ref) image = self.app.image transaction.savepoint(optimistic=True) mod_time = image.modified() self.REQUEST.environ['IF_MODIFIED_SINCE' ] = '%s;' % rfc1123_date(mod_time + 1) data = image.index_html(self.REQUEST, self.RESPONSE) self.assertEqual(data, '') self.assertEqual(self.RESPONSE.getStatus(), 304) headers = self.RESPONSE.headers self.assertTrue(len(headers) >= original_len + 3) self.assertTrue('foo' in headers.keys()) self.assertTrue('bar' in headers.keys()) self.assertEqual(headers['test_path'], '/test_image')
def test_index_html_200_with_cpm(self): # should behave the same as without cpm installed from Products.CMFCore.tests.base.dummy import DummyCachingManager self.root.caching_policy_manager = DummyCachingManager() path, ref = self._extractFile('test_file.swf') import os from webdav.common import rfc1123_date file = self._makeOne('test_file', 'test_file.swf') file = file.__of__(self.root) mod_time = os.stat(path)[8] data = file.index_html(self.REQUEST, self.RESPONSE) self.assertEqual(len(data), len(ref)) self.assertEqual(data, ref) # ICK! 'HTTPResponse.getHeader' doesn't case-flatten the key! self.assertEqual(self.RESPONSE.getHeader('Content-Length'.lower()), str(len(ref))) self.assertEqual(self.RESPONSE.getHeader('Content-Type'.lower()), 'application/octet-stream') self.assertEqual(self.RESPONSE.getHeader('Last-Modified'.lower()), rfc1123_date(mod_time))
def test_caching(self): # Test HTTP caching headers. self._setupCachingPolicyManager(DummyCachingManager()) original_len = len(self.RESPONSE.headers) script = self._makeOne('testDTML', 'testDTML.dtml') script = script.__of__(self.root) script(self.root, self.REQUEST, self.RESPONSE) self.failUnless(len(self.RESPONSE.headers) >= original_len + 2) self.failUnless('foo' in self.RESPONSE.headers.keys()) self.failUnless('bar' in self.RESPONSE.headers.keys())
def test_caching(self): # Test HTTP caching headers. cpm = DummyCachingManager() getSiteManager().registerUtility(cpm, ICachingPolicyManager) original_len = len(self.RESPONSE.headers) obj = self._makeOne('testReST', 'testReST.rst') obj = obj.__of__(self.app) obj(self.REQUEST, self.RESPONSE) self.failUnless(len(self.RESPONSE.headers) >= original_len + 2) self.failUnless('foo' in self.RESPONSE.headers.keys()) self.failUnless('bar' in self.RESPONSE.headers.keys())
def test_caching(self): # Test HTTP caching headers. cpm = DummyCachingManager() getSiteManager().registerUtility(cpm, ICachingPolicyManager) original_len = len(self.RESPONSE.headers) obj = self._makeOne('testPT', 'testPT.pt') obj = obj.__of__(self.app) obj() self.assertTrue(len(self.RESPONSE.headers) >= original_len + 2) self.assertTrue('foo' in self.RESPONSE.headers.keys()) self.assertTrue('bar' in self.RESPONSE.headers.keys())
def test_caching(self): self._setupCachingPolicyManager(DummyCachingManager()) original_len = len(self.RESPONSE.headers) file = self._makeOne('test_file', 'test_file.swf') file = file.__of__(self.root) file.index_html(self.REQUEST, self.RESPONSE) headers = self.RESPONSE.headers self.failUnless(len(headers) >= original_len + 3) self.failUnless('foo' in headers.keys()) self.failUnless('bar' in headers.keys()) self.assertEqual(headers['test_path'], '/test_file')
def test_caching(self): # Test HTTP caching headers. self._setupCachingPolicyManager(DummyCachingManager()) original_len = len(self.RESPONSE.headers) script = self._makeOne('testPT', 'testPT.pt') script = script.__of__(self.root) script() self.assertTrue(len(self.RESPONSE.headers) >= original_len + 2) self.assertTrue('foo' in self.RESPONSE.headers.keys()) self.assertTrue('bar' in self.RESPONSE.headers.keys())
def test_caching( self ): # Test HTTP caching headers. self.root.caching_policy_manager = DummyCachingManager() original_len = len( self.RESPONSE.headers ) script = self._makeOne('testPT', 'testPT.pt') script = script.__of__(self.root) script() self.failUnless( len( self.RESPONSE.headers ) >= original_len + 2 ) self.failUnless( 'foo' in self.RESPONSE.headers.keys() ) self.failUnless( 'bar' in self.RESPONSE.headers.keys() )
def test_caching(self): # Test HTTP caching headers. from Products.CMFCore.tests.base.dummy import DummyCachingManager self.root.caching_policy_manager = DummyCachingManager() original_len = len(self.RESPONSE.headers) script = self._makeOne('testReST', 'testReST.rst') script = script.__of__(self.root) script(self.REQUEST, self.RESPONSE) self.failUnless(len(self.RESPONSE.headers) >= original_len + 2) self.failUnless('foo' in self.RESPONSE.headers.keys()) self.failUnless('bar' in self.RESPONSE.headers.keys())
def test_caching(self): self.root.caching_policy_manager = DummyCachingManager() original_len = len(self.RESPONSE.headers) image = self._makeOne('test_image', 'test_image.gif') image = image.__of__(self.root) image.index_html(self.REQUEST, self.RESPONSE) headers = self.RESPONSE.headers self.failUnless(len(headers) >= original_len + 3) self.failUnless('foo' in headers.keys()) self.failUnless('bar' in headers.keys()) self.assertEqual(headers['test_path'], '/test_image')
def test_caching(self): cpm = DummyCachingManager() getSiteManager().registerUtility(cpm, ICachingPolicyManager) original_len = len(self.RESPONSE.headers) obj = self._makeOne('test_image', 'test_image.gif') obj = obj.__of__(self.app) obj.index_html(self.REQUEST, self.RESPONSE) headers = self.RESPONSE.headers self.failUnless(len(headers) >= original_len + 3) self.failUnless('foo' in headers.keys()) self.failUnless('bar' in headers.keys()) self.assertEqual(headers['test_path'], '/test_image')
def test_caching(self): # Test HTTP caching headers. from Products.CMFCore.tests.base.dummy import DummyCachingManager self._setWhichTemplate('DTML') self.root.caching_policy_manager = DummyCachingManager() original_len = len(self.RESPONSE.headers) script = self._makeOne('testSTX', 'testSTX.stx') script = script.__of__(self.root) script(self.REQUEST, self.RESPONSE) self.assertTrue(len(self.RESPONSE.headers) >= original_len + 2) self.assertTrue('foo' in self.RESPONSE.headers.keys()) self.assertTrue('bar' in self.RESPONSE.headers.keys())
def test_caching(self): # Test HTTP caching headers. self._setWhichTemplate('DTML') cpm = DummyCachingManager() getSiteManager().registerUtility(cpm, ICachingPolicyManager) original_len = len(self.RESPONSE.headers) obj = self._makeOne('testSTX', 'testSTX.stx') obj = obj.__of__(self.app) obj(self.REQUEST, self.RESPONSE) self.assertTrue(len(self.RESPONSE.headers) >= original_len + 2) self.assertTrue('foo' in self.RESPONSE.headers.keys()) self.assertTrue('bar' in self.RESPONSE.headers.keys())
def test_caching(self): from Products.CMFCore.tests.base.dummy import DummyCachingManager self.root.caching_policy_manager = DummyCachingManager() original_len = len(self.RESPONSE.headers) file = self._makeOne('test_file', 'test_file.swf') file = file.__of__(self.root) file.index_html(self.REQUEST, self.RESPONSE) headers = self.RESPONSE.headers self.failUnless(len(headers) >= original_len + 3) self.failUnless('foo' in headers.keys()) self.failUnless('bar' in headers.keys()) self.assertEqual(headers['test_path'], '/test_file')
def test_caching( self ): large_file_data = '0' * 100000 def fake_response_write(data): return response_write = self.RESPONSE.write self.RESPONSE.write = fake_response_write self._setupCachingPolicyManager(DummyCachingManager()) original_len = len(self.RESPONSE.headers) file = self._makeOne('test_file', 'test_file.swf', file=large_file_data) file = file.__of__(self.root) file.index_html(self.REQUEST, self.RESPONSE) headers = self.RESPONSE.headers self.failUnless(len(headers) >= original_len + 3) self.failUnless('foo' in headers.keys()) self.failUnless('bar' in headers.keys()) self.assertEqual(headers['test_path'], '/test_file') self.RESPONSE.write = response_write
def test_caching( self ): # Test HTTP caching headers. from Products.CMFCore.tests.base.dummy import DummyCachingManager self._setWhichTemplate('DTML') self.root.caching_policy_manager = DummyCachingManager() sm = getSiteManager(self.root) sm.registerUtility( self.root.caching_policy_manager , ICachingPolicyManager ) original_len = len( self.RESPONSE.headers ) script = self._makeOne('testSTX', 'testSTX.stx') script = script.__of__(self.root) script(self.REQUEST, self.RESPONSE) self.failUnless( len( self.RESPONSE.headers ) >= original_len + 2 ) self.failUnless( 'foo' in self.RESPONSE.headers.keys() ) self.failUnless( 'bar' in self.RESPONSE.headers.keys() )
def test_caching(self): large_data = '0' * 100000 def fake_response_write(data): return response_write = self.RESPONSE.write self.RESPONSE.write = fake_response_write cpm = DummyCachingManager() getSiteManager().registerUtility(cpm, ICachingPolicyManager) original_len = len(self.RESPONSE.headers) obj = self._makeOne('test_image', 'test_image.jpg', file=large_data) obj = obj.__of__(self.app) obj.index_html(self.REQUEST, self.RESPONSE) headers = self.RESPONSE.headers self.assertTrue(len(headers) >= original_len + 3) self.assertTrue('foo' in headers.keys()) self.assertTrue('bar' in headers.keys()) self.assertEqual(headers['test_path'], '/test_image') self.RESPONSE.write = response_write
def test_index_html_200_with_cpm( self ): # should behave the same as without cpm installed self._setupCachingPolicyManager(DummyCachingManager()) path, ref = self._extractFile() from webdav.common import rfc1123_date file = self._makeOne( 'test_file', 'test_file.swf', file=ref ) file = file.__of__( self.root ) mod_time = file.modified().timeTime() data = file.index_html( self.REQUEST, self.RESPONSE ) self.assertEqual( len( data ), len( ref ) ) self.assertEqual( data, ref ) # ICK! 'HTTPResponse.getHeader' doesn't case-flatten the key! self.assertEqual( self.RESPONSE.getHeader( 'Content-Length'.lower() ) , str(len(ref)) ) self.assertEqual( self.RESPONSE.getHeader( 'Content-Type'.lower() ) , 'application/octet-stream' ) self.assertEqual( self.RESPONSE.getHeader( 'Last-Modified'.lower() ) , rfc1123_date( mod_time ) )
def test_index_html_with_304_and_caching(self): # See collector #355 cpm = DummyCachingManager() getSiteManager().registerUtility(cpm, ICachingPolicyManager) original_len = len(self.RESPONSE.headers) path, _ref = self._extractFile() image = self._makeOne('test_image', 'test_image.gif') image = image.__of__(self.app) mod_time = os.stat(path)[8] self.REQUEST.environ['IF_MODIFIED_SINCE' ] = '%s;' % rfc1123_date(mod_time + 3600) data = image.index_html(self.REQUEST, self.RESPONSE) self.assertEqual(data, '') self.assertEqual(self.RESPONSE.getStatus(), 304) headers = self.RESPONSE.headers self.failUnless(len(headers) >= original_len + 3) self.failUnless('foo' in headers.keys()) self.failUnless('bar' in headers.keys()) self.assertEqual(headers['test_path'], '/test_image')