[Checkins] SVN: zc.catalog/trunk/src/zc/catalog/browser/ftest isolate functional tests in a separate layer

Fred L. Drake, Jr. fdrake at gmail.com
Wed Sep 20 23:23:27 EDT 2006


Log message for revision 70277:
  isolate functional tests in a separate layer

Changed:
  A   zc.catalog/trunk/src/zc/catalog/browser/ftesting.zcml
  U   zc.catalog/trunk/src/zc/catalog/browser/ftests.py

-=-
Added: zc.catalog/trunk/src/zc/catalog/browser/ftesting.zcml
===================================================================
--- zc.catalog/trunk/src/zc/catalog/browser/ftesting.zcml	2006-09-21 03:22:57 UTC (rev 70276)
+++ zc.catalog/trunk/src/zc/catalog/browser/ftesting.zcml	2006-09-21 03:23:27 UTC (rev 70277)
@@ -0,0 +1,53 @@
+<configure
+    xmlns="http://namespaces.zope.org/zope"
+    xmlns:browser="http://namespaces.zope.org/browser"
+    i18n_domain="zc.catalog"
+    >
+
+  <include package="zope.app" />
+  <include package="zope.app.authentication" />
+  <include package="zope.app.server" />
+  <include package="zope.app.keyreference" />
+  <include package="zope.app.intid" />
+  <include package="zope.app.catalog" />
+  <include package="zc.catalog" />
+
+  <subscriber handler="zc.catalog.browser.ftests.initializeIntIds" />
+
+  <!-- Security -->
+
+  <include package="zope.app.securitypolicy" file="meta.zcml" />
+  <include package="zope.app.securitypolicy" />
+
+  <securityPolicy
+      component="zope.app.securitypolicy.zopepolicy.ZopeSecurityPolicy"
+      />
+
+  <role
+      id="zope.Anonymous"
+      title="Everybody"
+      description="All users have this role implicitly"
+      />
+  <role id="zope.Manager" title="Site Manager" />
+  <role id="zope.Member" title="Site Member" />
+
+  <!-- Replace the following directive if you don't want public access -->
+  <grant
+      permission="zope.View"
+      role="zope.Member"
+      />
+  <grant
+      permission="zope.app.dublincore.view"
+      role="zope.Member"
+      />
+
+  <grantAll role="zope.Manager" />
+
+
+  <unauthenticatedPrincipal id="zope.anybody" title="Unauthenticated User" />
+
+  <principal id="zope.mgr" title="Manager" login="mgr" password="mgrpw" />
+
+  <grant role="zope.Manager" principal="zope.mgr" />
+
+</configure>


Property changes on: zc.catalog/trunk/src/zc/catalog/browser/ftesting.zcml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Modified: zc.catalog/trunk/src/zc/catalog/browser/ftests.py
===================================================================
--- zc.catalog/trunk/src/zc/catalog/browser/ftests.py	2006-09-21 03:22:57 UTC (rev 70276)
+++ zc.catalog/trunk/src/zc/catalog/browser/ftests.py	2006-09-21 03:23:27 UTC (rev 70277)
@@ -15,13 +15,48 @@
 
 $Id$
 """
-from zope.app.testing.functional import FunctionalDocFileSuite
-from zope.testing import doctest
+import doctest
+import os.path
+import unittest
 
+import transaction
+
+import zope.app.appsetup.bootstrap
+import zope.app.appsetup.interfaces
+import zope.app.intid
+import zope.app.intid.interfaces
+import zope.app.testing.functional
+
+
+here = os.path.dirname(os.path.realpath(__file__))
+
+ZcCatalogLayer = zope.app.testing.functional.ZCMLLayer(
+    os.path.join(here, "ftesting.zcml"), __name__, "ZcCatalogLayer")
+
+
+ at zope.component.adapter(
+    zope.app.appsetup.interfaces.IDatabaseOpenedWithRootEvent)
+#
+def initializeIntIds(event):
+    db, connection, root, root_folder = (
+        zope.app.appsetup.bootstrap.getInformationFromEvent(event))
+    sm = root_folder.getSiteManager()
+    intids = zope.app.intid.IntIds()
+    sm["default"]["test-int-ids"] = intids
+    sm.registerUtility(
+        intids,
+        zope.app.intid.interfaces.IIntIds)
+    transaction.commit()
+    connection.close()
+
+
 def test_suite():
-    return FunctionalDocFileSuite('README.txt',
+    suite = zope.app.testing.functional.FunctionalDocFileSuite(
+        "README.txt",
         optionflags=doctest.ELLIPSIS|doctest.NORMALIZE_WHITESPACE)
+    suite.layer = ZcCatalogLayer
+    return suite
 
-if __name__ == '__main__':
-    import unittest
-    unittest.main(defaultTest='test_suite')
+
+if __name__ == "__main__":
+    unittest.main(defaultTest="test_suite")



More information about the Checkins mailing list