[Checkins] SVN: zope.component/tseaver-test_cleanup/ Use a single exception type for excptions raised directly here.

Tres Seaver cvs-admin at zope.org
Tue Jun 26 23:01:13 UTC 2012


Log message for revision 127117:
  Use a single exception type for excptions raised directly here.
  
  Derives from both ValueError and zope.configuration.ConfigurationError for
  backward compatibility.

Changed:
  _U  zope.component/tseaver-test_cleanup/
  U   zope.component/tseaver-test_cleanup/src/zope/component/tests/test_zcml.py
  U   zope.component/tseaver-test_cleanup/src/zope/component/zcml.py

-=-
Modified: zope.component/tseaver-test_cleanup/src/zope/component/tests/test_zcml.py
===================================================================
--- zope.component/tseaver-test_cleanup/src/zope/component/tests/test_zcml.py	2012-06-26 23:01:06 UTC (rev 127116)
+++ zope.component/tseaver-test_cleanup/src/zope/component/tests/test_zcml.py	2012-06-26 23:01:10 UTC (rev 127117)
@@ -80,14 +80,16 @@
  
     def test_empty_factory(self):
         from zope.interface import Interface
+        from zope.component.zcml import ComponentConfigurationError
         class IFoo(Interface):
             pass
         _cfg_ctx = _makeConfigContext()
-        self.assertRaises(ValueError,
+        self.assertRaises(ComponentConfigurationError,
                           self._callFUT, _cfg_ctx, [], [Interface], IFoo)
  
     def test_multiple_factory_multiple_for_(self):
         from zope.interface import Interface
+        from zope.component.zcml import ComponentConfigurationError
         class IFoo(Interface):
             pass
         class IBar(Interface):
@@ -97,7 +99,7 @@
         class Bar(object):
             pass
         _cfg_ctx = _makeConfigContext()
-        self.assertRaises(ValueError,
+        self.assertRaises(ComponentConfigurationError,
                           self._callFUT, _cfg_ctx, [Foo, Bar],
                                          [Interface, IBar], IFoo)
 
@@ -796,8 +798,8 @@
 
 
     def testMultiView_fails_w_multiple_factories(self):
-        from zope.configuration.exceptions import ConfigurationError
-        self.assertRaises(ConfigurationError,
+        from zope.component.zcml import ComponentConfigurationError
+        self.assertRaises(ComponentConfigurationError,
             self._config,
             '''
               <view name="test"
@@ -807,7 +809,9 @@
                          zope.component.testfiles.adapter.I1
                          zope.component.testfiles.adapter.I2"
                     type="zope.component.testfiles.views.IV"/>
-            ''')
+            ''',
+            testing=1,
+           )
 
     def testView_w_multiple_factories(self):
         from zope.component import queryMultiAdapter
@@ -844,15 +848,17 @@
         self.assertEqual(a1.context[0], ob)
 
     def testView_fails_w_no_factories(self):
-        from zope.configuration.exceptions import ConfigurationError
-        self.assertRaises(ConfigurationError,
+        from zope.component.zcml import ComponentConfigurationError
+        self.assertRaises(ComponentConfigurationError,
             self._config,
             '''
                           <view name="test"
                                    factory=""
                                    for="zope.component.testfiles.views.IC"
                                    type="zope.component.testfiles.views.IV"/>
-            ''')
+            ''',
+            testing=1,
+            )
 
 
     def testViewThatProvidesAnInterface(self):
@@ -1039,9 +1045,8 @@
         self.assertEqual(v.action(), 'done')
 
     def testIncompleteProtectedViewNoPermission(self):
-        from zope.configuration.exceptions import ConfigurationError
-        self.assertRaises(
-            ConfigurationError,
+        from zope.component.zcml import ComponentConfigurationError
+        self.assertRaises(ComponentConfigurationError,
             self._config,
             '''
             <view name="test"
@@ -1051,10 +1056,11 @@
                   allowed_attributes="action index"
                   />
             ''',
+            testing=1,
             )
 
     def testViewUndefinedPermission(self):
-        self.assertRaises(ValueError,
+        self.assertRaises(ValueError,  #raised from zope.security
             self._config,
             '''
             <view name="test"
@@ -1158,7 +1164,7 @@
         self.assertEqual(v.__class__, R1)
 
     def testResourceUndefinedPermission(self):
-        self.assertRaises(ValueError,
+        self.assertRaises(ValueError,  #raised from zope.security
             self._config,
             '''
             <resource name="test"

Modified: zope.component/tseaver-test_cleanup/src/zope/component/zcml.py
===================================================================
--- zope.component/tseaver-test_cleanup/src/zope/component/zcml.py	2012-06-26 23:01:06 UTC (rev 127116)
+++ zope.component/tseaver-test_cleanup/src/zope/component/zcml.py	2012-06-26 23:01:10 UTC (rev 127117)
@@ -47,6 +47,9 @@
 
 _ = MessageFactory('zope')
 
+class ComponentConfigurationError(ValueError, ConfigurationError):
+    pass
+
 def handler(methodName, *args, **kwargs):
     method = getattr(getSiteManager(), methodName)
     method(*args, **kwargs)
@@ -185,9 +188,10 @@
     if len(factories) == 1:
         factory = factories[0]
     elif len(factories) < 1:
-        raise ValueError("No factory specified")
+        raise ComponentConfigurationError("No factory specified")
     elif len(factories) > 1 and len(for_) != 1:
-        raise ValueError("Can't use multiple factories and multiple for")
+        raise ComponentConfigurationError(
+            "Can't use multiple factories and multiple for")
     else:
         factory = _rolledUpFactory(factories)
 
@@ -515,19 +519,23 @@
         value_type=GlobalObject(),
         )
 
-def view(_context, factory, type, name, for_, layer=None,
-         permission=None, allowed_interface=None, allowed_attributes=None,
-         provides=Interface):
+def view(_context, factory, type, name, for_,
+         layer=None,
+         permission=None,
+         allowed_interface=None,
+         allowed_attributes=None,
+         provides=Interface,
+        ):
 
     if ((allowed_attributes or allowed_interface)
         and (not permission)):
-        raise ConfigurationError(
+        raise ComponentConfigurationError(
             "Must use name attribute with allowed_interface or "
             "allowed_attributes"
             )
 
     if not factory:
-        raise ConfigurationError("No view factory specified.")
+        raise ComponentConfigurationError("No view factory specified.")
 
     if permission is not None:
 
@@ -548,7 +556,7 @@
 
 
     if not for_:
-        raise ValueError("No for interfaces specified");
+        raise ComponentConfigurationError("No for interfaces specified");
     for_ = tuple(for_)
 
     # Generate a single factory from multiple factories:
@@ -556,9 +564,10 @@
     if len(factories) == 1:
         factory = factories[0]
     elif len(factories) < 1:
-        raise ValueError("No factory specified")
+        raise ComponentConfigurationError("No factory specified")
     elif len(factories) > 1 and len(for_) > 1:
-        raise ValueError("Can't use multiple factories and multiple for")
+        raise ComponentConfigurationError(
+            "Can't use multiple factories and multiple for")
     else:
         def factory(ob, request):
             for f in factories[:-1]:
@@ -636,7 +645,7 @@
 
     if ((allowed_attributes or allowed_interface)
         and (not permission)):
-        raise ConfigurationError(
+        raise ComponentConfigurationError(
             "Must use name attribute with allowed_interface or "
             "allowed_attributes"
             )



More information about the checkins mailing list