[Checkins] SVN: zc.freeze/trunk/ - Updated tests to run with ZTK 1.0 (using a nonpersistent zope.locking token utility is no longer possible as it requires to be persistent to work)

Michael Howitz mh at gocept.com
Fri Mar 18 03:35:49 EDT 2011


Log message for revision 121016:
  - Updated tests to run with ZTK 1.0 (using a nonpersistent zope.locking token utility is no longer possible as it requires to be persistent to work)
  - Updated metadata in setup.py
  

Changed:
  A   zc.freeze/trunk/CHANGES.txt
  U   zc.freeze/trunk/buildout.cfg
  U   zc.freeze/trunk/setup.py
  D   zc.freeze/trunk/src/zc/freeze/CHANGES.txt
  A   zc.freeze/trunk/src/zc/freeze/ftesting.zcml
  U   zc.freeze/trunk/src/zc/freeze/subscribers.txt
  U   zc.freeze/trunk/src/zc/freeze/tests.py

-=-
Copied: zc.freeze/trunk/CHANGES.txt (from rev 120834, zc.freeze/trunk/src/zc/freeze/CHANGES.txt)
===================================================================
--- zc.freeze/trunk/CHANGES.txt	                        (rev 0)
+++ zc.freeze/trunk/CHANGES.txt	2011-03-18 07:35:49 UTC (rev 121016)
@@ -0,0 +1,30 @@
+=======
+CHANGES
+=======
+
+1.2 (unreleased)
+================
+
+* Updated tests to run with ZTK 1.0.
+
+
+1.1
+===
+
+(supports Zope 3.4/eggs)
+
+1.1b
+----
+
+Switched to supporting eggs
+
+1.0
+===
+
+(supports Zope 3.3/no eggs)
+
+1.0.1
+-----
+
+Removed the included rwproperty.py and added a dependency instead, as
+rwproperty is now available from pypi.

Modified: zc.freeze/trunk/buildout.cfg
===================================================================
--- zc.freeze/trunk/buildout.cfg	2011-03-17 22:22:13 UTC (rev 121015)
+++ zc.freeze/trunk/buildout.cfg	2011-03-18 07:35:49 UTC (rev 121016)
@@ -2,8 +2,6 @@
 develop = .
 parts = test py
 
-find-links = http://download.zope.org/distribution/
-
 [test]
 recipe = zc.recipe.testrunner
 eggs = zc.freeze

Modified: zc.freeze/trunk/setup.py
===================================================================
--- zc.freeze/trunk/setup.py	2011-03-17 22:22:13 UTC (rev 121015)
+++ zc.freeze/trunk/setup.py	2011-03-18 07:35:49 UTC (rev 121016)
@@ -19,19 +19,19 @@
         'zope.app.testing', # lame, should remove
         'zope.app.container', # lame, should remove
         ],
-#    dependency_links=['http://download.zope.org/distribution/',],
     packages=find_packages('src'),
     include_package_data=True,
     package_dir= {'':'src'},
-    
+
     namespace_packages=['zc'],
 
     zip_safe=False,
     author='Zope Project',
-    author_email='zope3-dev at zope.org',
+    author_email='zope-dev at zope.org',
+    url='http://pypi.python.org/pypi/zc.freeze',
     description=open('README.txt').read(),
     long_description=
-        open('src/zc/freeze/CHANGES.txt').read() +
+        open('CHANGES.txt').read() +
         '\n\n' +
         open("src/zc/freeze/README.txt").read(),
     license='ZPL 2.1',

Deleted: zc.freeze/trunk/src/zc/freeze/CHANGES.txt
===================================================================
--- zc.freeze/trunk/src/zc/freeze/CHANGES.txt	2011-03-17 22:22:13 UTC (rev 121015)
+++ zc.freeze/trunk/src/zc/freeze/CHANGES.txt	2011-03-18 07:35:49 UTC (rev 121016)
@@ -1,24 +0,0 @@
-=======
-CHANGES
-=======
-
-1.1
-===
-
-(supports Zope 3.4/eggs)
-
-1.1b
-----
-
-Switched to supporting eggs
-
-1.0
-===
-
-(supports Zope 3.3/no eggs)
-
-1.0.1
------
-
-Removed the included rwproperty.py and added a dependency instead, as
-rwproperty is now available from pypi.

Added: zc.freeze/trunk/src/zc/freeze/ftesting.zcml
===================================================================
--- zc.freeze/trunk/src/zc/freeze/ftesting.zcml	                        (rev 0)
+++ zc.freeze/trunk/src/zc/freeze/ftesting.zcml	2011-03-18 07:35:49 UTC (rev 121016)
@@ -0,0 +1,12 @@
+<configure xmlns="http://namespaces.zope.org/zope">
+
+  <include package="zope.component" file="meta.zcml" />
+  <include package="zope.security" file="meta.zcml" />
+  <include package="zope.browserpage" file="meta.zcml" />
+  <include package="zope.app.publication" file="meta.zcml" />
+  <include package="zope.app.publication" />
+  <include package="zope.traversing" />
+  <include package="zope.container" />
+  <include package="zope.app.appsetup" />
+
+</configure>


Property changes on: zc.freeze/trunk/src/zc/freeze/ftesting.zcml
___________________________________________________________________
Added: svn:keywords
   + Id Rev Date
Added: svn:eol-style
   + native

Modified: zc.freeze/trunk/src/zc/freeze/subscribers.txt
===================================================================
--- zc.freeze/trunk/src/zc/freeze/subscribers.txt	2011-03-17 22:22:13 UTC (rev 121015)
+++ zc.freeze/trunk/src/zc/freeze/subscribers.txt	2011-03-18 07:35:49 UTC (rev 121016)
@@ -1,3 +1,7 @@
+=============
+ Subscribers
+=============
+
 The subscribers module contains a subscriber for "enforcing" freezing
 using zope.locking tokens.  This, of course, assumes that zope.locking
 tokens are configured to themselves be enforced somehow, using
@@ -3,53 +7,17 @@
 approaches such as those in zc.tokenpolicy.  By default, this `freezer`
 subscriber is registered only for objects that provide
-zc.freeze.interfaces.ITokenEnforced.  Imagine a demo object that
-implements ITokenEnforced, with a token utility already in place [#setup]_.
+zc.freeze.interfaces.ITokenEnforced.
 
-    >>> import zc.freeze.subscribers
-    >>> import zope.component
-    >>> zope.component.provideHandler(zc.freeze.subscribers.freezer)
-    >>> demo = Demo()
-    >>> import zc.freeze.interfaces
-    >>> import zope.interface
-    >>> zope.interface.directlyProvides(
-    ...     demo, zc.freeze.interfaces.ITokenEnforced)
-    >>> zc.freeze.interfaces.ITokenEnforced.providedBy(demo)
-    True
-    >>> util.get(demo) is None
-    True
-    >>> demo._z_frozen
-    False
-    >>> demo._z_freeze()
-    >>> demo._z_frozen
-    True
-    >>> import zope.locking.interfaces
-    >>> zope.locking.interfaces.IFreeze.providedBy(util.get(demo))
-    True
+Set up
+======
 
-If an object does not provide ITokenEnforced, the subscriber will not
-fire, given a default registration.
+This sets up a `zope.locking` token utility. This code also creates a Demo
+class that provides ``IVersioning`` and can be used in our setup.
 
-    >>> demo2 = Demo()
-    >>> zc.freeze.interfaces.ITokenEnforced.providedBy(demo2)
-    False
-    >>> demo2._z_freeze()
-    >>> demo2._z_frozen
-    True
-    >>> util.get(demo2) is None
-    True
-
-=========
-Footnotes
-=========
-
-.. [#setup] This sets up a zope.locking token utility as a global,
-    non-persistent utility.  This is completely useless and even dangerous
-    in real use, but is fine for this test.  This code also creates a Demo
-    class that provides IVersioning and can be used in our non-persistent
-    setup.
-
     >>> from zope import interface, component
     >>> from zope.locking import utility, interfaces
-    >>> util = utility.TokenUtility()
+    >>> getRootFolder()['token_util'] = util = utility.TokenUtility()
+    >>> import transaction
+    >>> transaction.commit()
     >>> component.provideUtility(util, provides=interfaces.ITokenUtility)
     >>> import zope.app.keyreference.interfaces
@@ -82,6 +50,47 @@
     ...     def __cmp__(self, other):
     ...         if self.key_type_id == other.key_type_id:
     ...             return cmp(self._id, other._id)
-    ...         return cmp(self.key_type_id, other.key_type_id) 
+    ...         return cmp(self.key_type_id, other.key_type_id)
     ...
     >>> component.provideAdapter(DemoKeyReference)
+
+
+Subscription
+============
+
+Imagine a demo object that implements ``ITokenEnforced``, with a token utility
+already in place.
+
+    >>> import zc.freeze.subscribers
+    >>> import zope.component
+    >>> zope.component.provideHandler(zc.freeze.subscribers.freezer)
+    >>> demo = Demo()
+    >>> import zc.freeze.interfaces
+    >>> import zope.interface
+    >>> zope.interface.directlyProvides(
+    ...     demo, zc.freeze.interfaces.ITokenEnforced)
+    >>> zc.freeze.interfaces.ITokenEnforced.providedBy(demo)
+    True
+    >>> util.get(demo) is None
+    True
+    >>> demo._z_frozen
+    False
+    >>> demo._z_freeze()
+    >>> demo._z_frozen
+    True
+    >>> import zope.locking.interfaces
+    >>> zope.locking.interfaces.IFreeze.providedBy(util.get(demo))
+    True
+
+If an object does not provide ``ITokenEnforced``, the subscriber will not
+fire, given a default registration.
+
+    >>> demo2 = Demo()
+    >>> zc.freeze.interfaces.ITokenEnforced.providedBy(demo2)
+    False
+    >>> demo2._z_freeze()
+    >>> demo2._z_frozen
+    True
+    >>> util.get(demo2) is None
+    True
+

Modified: zc.freeze/trunk/src/zc/freeze/tests.py
===================================================================
--- zc.freeze/trunk/src/zc/freeze/tests.py	2011-03-17 22:22:13 UTC (rev 121015)
+++ zc.freeze/trunk/src/zc/freeze/tests.py	2011-03-18 07:35:49 UTC (rev 121016)
@@ -1,12 +1,15 @@
+from zope.app.container.tests.placelesssetup import PlacelessSetup
+from zope.app.testing import placelesssetup
+from zope.component import testing, eventtesting
+from zope.testing import doctest
 import unittest
-from zope.app.testing import placelesssetup
+import zope.app.testing.functional
 import zope.testing.module
-from zope.testing import doctest
-from zope.component import testing, eventtesting
-from zope.app.container.tests.placelesssetup import PlacelessSetup
 
+
 container_setup = PlacelessSetup()
 
+
 def setUp(test):
     placelesssetup.setUp(test)
     events = test.globs['events'] = []
@@ -53,12 +56,13 @@
     except ImportError:
         pass
     else:
-        tests += (
-        doctest.DocFileSuite(
+        zope.app.testing.functional.defineLayer(
+            'SubscribersLayer', zcml='ftesting.zcml')
+
+        subscribers = zope.app.testing.functional.FunctionalDocFileSuite(
             'subscribers.txt',
-            setUp=subscribersSetUp, tearDown=subscribersTearDown,
-            optionflags=doctest.INTERPRET_FOOTNOTES),)
+            setUp=subscribersSetUp, tearDown=subscribersTearDown)
+        subscribers.layer = SubscribersLayer
+        tests += (subscribers,)
+
     return unittest.TestSuite(tests)
-
-if __name__ == '__main__':
-    unittest.main(defaultTest='test_suite')



More information about the checkins mailing list