
tseaver at palladion
Sep 20, 2006, 8:05 AM
Post #1 of 1
(3658 views)
Permalink
|
|
CVS: Products/ZopeVersionControl/tests - testReferenceVersioning.py:1.4 testVersionControl.py:1.9
|
|
Update of /cvs-repository/Products/ZopeVersionControl/tests In directory cvs.zope.org:/tmp/cvs-serv30243/tests Modified Files: testReferenceVersioning.py testVersionControl.py Log Message: - Fixed compatibility with Zope 2.8 and new-style objects o http://www.zope.org/Collectors/Zope/2137 === Products/ZopeVersionControl/tests/testReferenceVersioning.py 1.3 => 1.4 === --- Products/ZopeVersionControl/tests/testReferenceVersioning.py:1.3 Mon May 3 11:25:03 2004 +++ Products/ZopeVersionControl/tests/testReferenceVersioning.py Wed Sep 20 11:05:05 2006 @@ -1,4 +1,4 @@ - ############################################################################## +############################################################################## # # Copyright (c) 2001 Zope Corporation and Contributors. All Rights Reserved. # @@ -14,18 +14,10 @@ $Id$ """ - -import Zope -try: - Zope.startup() -except NameError: # pre Zope 2.6.1 - pass - import unittest -from Products.ZopeVersionControl.tests.testVersionControl \ - import VersionControlTests -from OFS.DTMLDocument import addDTMLDocument +from common import common_setUp +from common import common_tearDown has_refs = 1 try: @@ -35,13 +27,14 @@ class ReferenceVCTests(unittest.TestCase): - setUp = VersionControlTests.setUp.im_func - tearDown = VersionControlTests.tearDown.im_func - commit = VersionControlTests.commit.im_func + setUp = common_setUp + tearDown = common_tearDown def testContainerVersioning(self): # Verify that containers and items are versioned independently, # except in the case of references. + from OFS.DTMLDocument import addDTMLDocument + repository = self.repository folder1 = self.app.folder1 folder2 = folder1.folder2 === Products/ZopeVersionControl/tests/testVersionControl.py 1.8 => 1.9 === --- Products/ZopeVersionControl/tests/testVersionControl.py:1.8 Tue Feb 24 13:30:10 2004 +++ Products/ZopeVersionControl/tests/testVersionControl.py Wed Sep 20 11:05:05 2006 @@ -1,4 +1,4 @@ - ############################################################################## +############################################################################## # # Copyright (c) 2001 Zope Corporation and Contributors. All Rights Reserved. # @@ -10,88 +10,24 @@ # FOR A PARTICULAR PURPOSE # ############################################################################## +""" Test the ZVC machinery -__version__='$Revision$'[11:-2] - -import Zope -try: - Zope.startup() -except NameError: # pre Zope 2.6.1 - pass - -import os, sys, unittest, ZODB, Acquisition, cStringIO -from AccessControl.SecurityManagement import newSecurityManager -from AccessControl.SecurityManagement import noSecurityManager -from Testing.makerequest import makerequest -from AccessControl import SecurityManager -from OFS.DTMLDocument import addDTMLDocument -from OFS.Application import Application -from OFS.Folder import manage_addFolder - +$Id$ +""" +import unittest + +from common import get_transaction +from common import common_setUp +from common import common_tearDown +from common import common_commit class VersionControlTests(unittest.TestCase): - def setUp(self): - # Install a hack to make SimpleItem version aware, so that the - # tests work. In normal development, you would mix in the - # VersionSupport class on an as-needed basis. - import Products.ZopeVersionControl - Products.ZopeVersionControl.install_hack() - - from Products.ZopeVersionControl.ZopeRepository import addRepository - from ZODB.DemoStorage import DemoStorage - s = DemoStorage(quota=(1<<20)) - self.connection = ZODB.DB( s ).open() - try: - r = self.connection.root() - a = Application() - r['Application'] = a - self.root = a - responseOut = self.responseOut = cStringIO.StringIO() - self.app = makerequest( self.root, stdout=responseOut ) - self.app.acl_users.userFolderAddUser('UnitTester', '123', (), ()) - manage_addFolder(self.app, 'folder1') - self.folder1 = getattr(self.app, 'folder1') - manage_addFolder(self.folder1, 'folder2') - self.folder2 = getattr(self.folder1, 'folder2') - addDTMLDocument(self.folder2, 'document1', file='some text') - self.document1 = getattr(self.folder2, 'document1') - addDTMLDocument(self.folder2, 'document2', file='some text') - self.document2 = getattr(self.folder2, 'document2') - addDTMLDocument(self.folder2, 'document_nonversion', file='some?') - self.document_nonversion = getattr(self.folder2, - 'document_nonversion') - self.document_nonversion.__non_versionable__ = 1 - addRepository(self.folder1, 'repository') - self.repository = getattr(self.folder1, 'repository') - get_transaction().commit() - except: - self.connection.close() - raise - get_transaction().begin() - user = self.app.acl_users.getUser('UnitTester') - user = user.__of__(self.app.acl_users) - newSecurityManager( None, user) - - def tearDown(self): - noSecurityManager() - del self.folder1 - del self.folder2 - del self.document1 - del self.document2 - get_transaction().abort() - self.app._p_jar.sync() - self.connection.close() - del self.app - del self.responseOut - del self.root - del self.connection + setUp = common_setUp + tearDown = common_tearDown + commit = common_commit do_commits = 0 - def commit(self): - if self.do_commits: - get_transaction().commit() - def testIsVersionableResource(self): # Test checking whether an object is a versionable resource. @@ -733,6 +669,7 @@ def testContainerVersioning(self): + from OFS.DTMLDocument import addDTMLDocument # Verify that containers and items are versioned independently. repository = self.repository folder1 = self.app.folder1 @@ -811,22 +748,33 @@ self.assertEqual(document.extra_attr, 'v1') self.assertEqual(document.__ac_local_roles__, {}) + def testNonVersionedAttributeWithAcquisition(self): + # Test a non-version-controlled attribute + # that is acquired does not cause an error + self.document1.__vc_ignore__ = ('dummy_attr',) + self.folder1.dummy_attr = 'dummy_attr' + self.assertEqual( self.folder1.dummy_attr, self.document1.dummy_attr ) + + repository = self.repository + document = repository.applyVersionControl(self.document1) + info = repository.getVersionInfo(document) + first_version = info.version_id + repository.checkoutResource(document) + self.document1.extra_attr = 'new' + repository.checkinResource(document) + repository.updateResource(document, first_version) class VersionControlTestsWithCommits(VersionControlTests): """Version control test suite with transaction commits that mimic the transaction commits that you would get with Web based usage.""" do_commits = 1 - def test_suite(): suite = unittest.TestSuite() suite.addTest(unittest.makeSuite(VersionControlTests)) suite.addTest(unittest.makeSuite(VersionControlTestsWithCommits)) return suite -def main(): - unittest.main(defaultTest='test_suite') - if __name__ == '__main__': - main() + unittest.main(defaultTest='test_suite') _______________________________________________ Zope-CVS maillist - Zope-CVS [at] zope http://mail.zope.org/mailman/listinfo/zope-cvs Zope CVS instructions: http://dev.zope.org/CVS
|