Esempio n. 1
0
    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')
Esempio n. 2
0
    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')
Esempio n. 3
0
    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')
Esempio n. 4
0
    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))
Esempio n. 5
0
 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())
Esempio n. 6
0
 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())
Esempio n. 8
0
 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())
Esempio n. 10
0
    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() )
Esempio n. 11
0
 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())
Esempio n. 12
0
 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')
Esempio n. 13
0
 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())
Esempio n. 15
0
 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())
Esempio n. 16
0
 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')
Esempio n. 17
0
 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
Esempio n. 18
0
    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() )
Esempio n. 19
0
    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
Esempio n. 20
0
    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 ) )
Esempio n. 21
0
    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')