Annotation of ExtFile/tests/testPUT_factory.py, revision 1.1

1.1     ! dwinter     1: #
        !             2: # Tests the PUT_factory() and PUT() method, especially with
        !             3: # SYNC_ZODB repository type.
        !             4: #
        !             5: 
        !             6: import os, sys
        !             7: if __name__ == '__main__':
        !             8:     execfile(os.path.join(sys.path[0], 'framework.py'))
        !             9: 
        !            10: from Testing import ZopeTestCase
        !            11: 
        !            12: ZopeTestCase.installProduct('SiteAccess')
        !            13: ZopeTestCase.installProduct('ExternalMethod')
        !            14: ZopeTestCase.installProduct('ExtFile')
        !            15: 
        !            16: from Products.ExtFile.tests.ExtFileTestCase import ExtFileTestCase
        !            17: from Products.ExtFile.tests.ExtFileTestCase import gifImage
        !            18: from Products.ExtFile.tests.ExtFileTestCase import copymove_perms
        !            19: 
        !            20: from Products.ExtFile import ExtFile, Config
        !            21: 
        !            22: from webdav.NullResource import NullResource
        !            23: from Acquisition import aq_base
        !            24: 
        !            25: user_name = ZopeTestCase.user_name
        !            26: user_password = ZopeTestCase.user_password
        !            27: 
        !            28: import base64
        !            29: auth_info = 'Basic %s' % base64.encodestring('%s:%s' % (user_name, user_password)).rstrip()
        !            30: 
        !            31: from os.path import join
        !            32: 
        !            33: 
        !            34: class TestPUTFactory(ExtFileTestCase):
        !            35: 
        !            36:     def afterSetUp(self):
        !            37:         ExtFileTestCase.afterSetUp(self)
        !            38:         self.setPermissions(copymove_perms)
        !            39: 
        !            40:         if not self.app.objectIds('Virtual Host Monster'):
        !            41:             factory = self.app.manage_addProduct['SiteAccess']
        !            42:             factory.manage_addVirtualHostMonster('VHM')
        !            43: 
        !            44:         factory = self.folder.manage_addProduct['ExternalMethod']
        !            45:         factory.manage_addExternalMethod('PUT_factory', '', 'ExtFile.PUT_factory', 'PUT_factory')
        !            46: 
        !            47:         self.folder.manage_addFolder('subfolder')
        !            48:         self.subfolder = self.folder.subfolder
        !            49: 
        !            50:         request = self.app.REQUEST
        !            51:         request['PARENTS'] = [self.app]
        !            52: 
        !            53:         # Fake a dav PUT request
        !            54:         request['BODYFILE'] = open(gifImage, 'rb')
        !            55:         request.environ['CONTENT_TYPE'] = 'image/gif'
        !            56:         request.environ['REQUEST_METHOD'] = 'PUT'
        !            57:         request._auth = auth_info
        !            58: 
        !            59:     def afterClear(self):
        !            60:         ExtFileTestCase.afterClear(self)
        !            61:         ExtFile.REPOSITORY = Config.FLAT
        !            62:         ExtFile.ZODB_PATH = Config.VIRTUAL
        !            63: 
        !            64:     def testPUT_factoryAddsImageNoTraverse(self):
        !            65:         request = self.app.REQUEST
        !            66:         new = NullResource(self.folder, 'image', request).__of__(self.folder)
        !            67:         new.PUT(request, request.RESPONSE)
        !            68:         self.failUnless(hasattr(aq_base(self.folder), 'image'))
        !            69:         self.failUnless(self._exists('image.gif.tmp'))
        !            70: 
        !            71:     def testPUT_factoryAddsImageFlat(self):
        !            72:         ExtFile.REPOSITORY = Config.FLAT
        !            73:         request = self.app.REQUEST
        !            74:         put = request.traverse('/test_folder_1_/image')
        !            75:         put(request, request.RESPONSE)
        !            76:         self.failUnless(hasattr(aq_base(self.folder), 'image'))
        !            77:         self.failUnless(self._exists('image.gif.tmp'))
        !            78: 
        !            79:     def testPUT_factoryAddsImageSyncZodb(self):
        !            80:         ExtFile.REPOSITORY = Config.SYNC_ZODB
        !            81:         request = self.app.REQUEST
        !            82:         put = request.traverse('/test_folder_1_/image')
        !            83:         put(request, request.RESPONSE)
        !            84:         self.failUnless(hasattr(aq_base(self.folder), 'image'))
        !            85:         self.failUnless(self._exists(join('test_folder_1_', 'image.gif.tmp')))
        !            86: 
        !            87:     def testPUT_factoryAddsImageSyncZodbSubfolder(self):
        !            88:         ExtFile.REPOSITORY = Config.SYNC_ZODB
        !            89:         request = self.app.REQUEST
        !            90:         put = request.traverse('/test_folder_1_/subfolder/image')
        !            91:         put(request, request.RESPONSE)
        !            92:         self.failUnless(hasattr(aq_base(self.subfolder), 'image'))
        !            93:         self.failUnless(self._exists(join('test_folder_1_', 'subfolder', 'image.gif.tmp')))
        !            94: 
        !            95:     def testPUT_factoryAddsImageSyncZodbVHM(self):
        !            96:         ExtFile.REPOSITORY = Config.SYNC_ZODB
        !            97:         request = self.app.REQUEST
        !            98:         put = request.traverse('/VirtualHostBase/http/foo.com:80/VirtualHostRoot/test_folder_1_/subfolder/image')
        !            99:         put(request, request.RESPONSE)
        !           100:         self.failUnless(hasattr(aq_base(self.subfolder), 'image'))
        !           101:         self.failUnless(self._exists(join('test_folder_1_', 'subfolder', 'image.gif.tmp')))
        !           102: 
        !           103:     def testPUT_factoryAddsImageSyncZodbVHMSubfolderHostingVirtual(self):
        !           104:         ExtFile.REPOSITORY = Config.SYNC_ZODB
        !           105:         request = self.app.REQUEST
        !           106:         put = request.traverse('/VirtualHostBase/http/foo.com:80/test_folder_1_/VirtualHostRoot/subfolder/image')
        !           107:         put(request, request.RESPONSE)
        !           108:         self.failUnless(hasattr(aq_base(self.subfolder), 'image'))
        !           109:         self.failUnless(self._exists(join('subfolder', 'image.gif.tmp')))
        !           110: 
        !           111:     def testPUT_factoryAddsImageSyncZodbVHMInsideOutHostingVirtual(self):
        !           112:         ExtFile.REPOSITORY = Config.SYNC_ZODB
        !           113:         request = self.app.REQUEST
        !           114:         put = request.traverse('/VirtualHostBase/http/foo.com:80/VirtualHostRoot/_vh_foo/test_folder_1_/subfolder/image')
        !           115:         put(request, request.RESPONSE)
        !           116:         self.failUnless(hasattr(aq_base(self.subfolder), 'image'))
        !           117:         self.failUnless(self._exists(join('test_folder_1_', 'subfolder', 'image.gif.tmp')))
        !           118: 
        !           119:     def testPUT_factoryAddsImageSyncZodbVHMSubfolderInsideOutHostingVirtual(self):
        !           120:         ExtFile.REPOSITORY = Config.SYNC_ZODB
        !           121:         request = self.app.REQUEST
        !           122:         put = request.traverse('/VirtualHostBase/http/foo.com:80/test_folder_1_/VirtualHostRoot/_vh_foo/subfolder/image')
        !           123:         put(request, request.RESPONSE)
        !           124:         self.failUnless(hasattr(aq_base(self.subfolder), 'image'))
        !           125:         self.failUnless(self._exists(join('subfolder', 'image.gif.tmp')))
        !           126: 
        !           127:     def testPUT_factoryAddsImageSyncZodbVHMSubfolderHostingPhysical(self):
        !           128:         ExtFile.REPOSITORY = Config.SYNC_ZODB
        !           129:         ExtFile.ZODB_PATH = Config.PHYSICAL
        !           130:         request = self.app.REQUEST
        !           131:         put = request.traverse('/VirtualHostBase/http/foo.com:80/test_folder_1_/VirtualHostRoot/subfolder/image')
        !           132:         put(request, request.RESPONSE)
        !           133:         self.failUnless(hasattr(aq_base(self.subfolder), 'image'))
        !           134:         self.failUnless(self._exists(join('test_folder_1_', 'subfolder', 'image.gif.tmp')))
        !           135: 
        !           136:     def testPUT_factoryAddsImageSyncZodbVHMInsideOutHostingPhysical(self):
        !           137:         ExtFile.REPOSITORY = Config.SYNC_ZODB
        !           138:         ExtFile.ZODB_PATH = Config.PHYSICAL
        !           139:         request = self.app.REQUEST
        !           140:         put = request.traverse('/VirtualHostBase/http/foo.com:80/VirtualHostRoot/_vh_foo/test_folder_1_/subfolder/image')
        !           141:         put(request, request.RESPONSE)
        !           142:         self.failUnless(hasattr(aq_base(self.subfolder), 'image'))
        !           143:         self.failUnless(self._exists(join('test_folder_1_', 'subfolder', 'image.gif.tmp')))
        !           144: 
        !           145:     def testPUT_factoryAddsImageSyncZodbVHMSubfolderInsideOutHostingPhysical(self):
        !           146:         ExtFile.REPOSITORY = Config.SYNC_ZODB
        !           147:         ExtFile.ZODB_PATH = Config.PHYSICAL
        !           148:         request = self.app.REQUEST
        !           149:         put = request.traverse('/VirtualHostBase/http/foo.com:80/test_folder_1_/VirtualHostRoot/_vh_foo/subfolder/image')
        !           150:         put(request, request.RESPONSE)
        !           151:         self.failUnless(hasattr(aq_base(self.subfolder), 'image'))
        !           152:         self.failUnless(self._exists(join('test_folder_1_', 'subfolder', 'image.gif.tmp')))
        !           153: 
        !           154: 
        !           155: def test_suite():
        !           156:     from unittest import TestSuite, makeSuite
        !           157:     suite = TestSuite()
        !           158:     suite.addTest(makeSuite(TestPUTFactory))
        !           159:     return suite
        !           160: 
        !           161: if __name__ == '__main__':
        !           162:     framework()
        !           163: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>