golden hour
/usr/lib/python2.7/site-packages/zope/component/tests
⬆️ Go Up
Upload
File/Folder
Size
Actions
__init__.py
16 B
Del
OK
__init__.pyc
152 B
Del
OK
__init__.pyo
152 B
Del
OK
examples.py
3.16 KB
Del
OK
examples.pyc
7.99 KB
Del
OK
examples.pyo
7.99 KB
Del
OK
test___init__.py
3.12 KB
Del
OK
test___init__.pyc
5.24 KB
Del
OK
test___init__.pyo
5.24 KB
Del
OK
test__api.py
41.84 KB
Del
OK
test__api.pyc
74.24 KB
Del
OK
test__api.pyo
74.24 KB
Del
OK
test__declaration.py
7.01 KB
Del
OK
test__declaration.pyc
12.41 KB
Del
OK
test__declaration.pyo
12.41 KB
Del
OK
test_event.py
2.3 KB
Del
OK
test_event.pyc
2.85 KB
Del
OK
test_event.pyo
2.85 KB
Del
OK
test_factory.py
3.7 KB
Del
OK
test_factory.pyc
6.09 KB
Del
OK
test_factory.pyo
6.09 KB
Del
OK
test_globalregistry.py
8.47 KB
Del
OK
test_globalregistry.pyc
14.39 KB
Del
OK
test_globalregistry.pyo
14.29 KB
Del
OK
test_hookable.py
4 KB
Del
OK
test_hookable.pyc
6.62 KB
Del
OK
test_hookable.pyo
6.62 KB
Del
OK
test_hooks.py
11.42 KB
Del
OK
test_hooks.pyc
17.43 KB
Del
OK
test_hooks.pyo
17.43 KB
Del
OK
test_interface.py
14.15 KB
Del
OK
test_interface.pyc
23.29 KB
Del
OK
test_interface.pyo
23.29 KB
Del
OK
test_persistentregistry.py
6.27 KB
Del
OK
test_persistentregistry.pyc
8.41 KB
Del
OK
test_persistentregistry.pyo
8.41 KB
Del
OK
test_registry.py
4.55 KB
Del
OK
test_registry.pyc
7.34 KB
Del
OK
test_registry.pyo
7.34 KB
Del
OK
test_security.py
9.15 KB
Del
OK
test_security.pyc
16.49 KB
Del
OK
test_security.pyo
16.49 KB
Del
OK
test_standalone.py
1.99 KB
Del
OK
test_standalone.pyc
1.77 KB
Del
OK
test_standalone.pyo
1.77 KB
Del
OK
test_zcml.py
47.22 KB
Del
OK
test_zcml.pyc
56.41 KB
Del
OK
test_zcml.pyo
56.41 KB
Del
OK
Edit: test_hooks.py
############################################################################## # # Copyright (c) 2012 Zope Foundation and Contributors. # All Rights Reserved. # # This software is subject to the provisions of the Zope Public License, # Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution. # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED # WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS # FOR A PARTICULAR PURPOSE. # ############################################################################## """Tests for z.c.hooks """ import unittest class Test_read_property(unittest.TestCase): def _getTargetClass(self): from zope.component.hooks import read_property return read_property def test_via_instance(self): class Foo(object): @self._getTargetClass() def bar(self): return 'BAR' foo = Foo() self.assertEqual(foo.bar, 'BAR') foo.bar = 'BAZ' self.assertEqual(foo.bar, 'BAZ') del foo.bar self.assertEqual(foo.bar, 'BAR') def test_via_class(self): class Foo(object): @self._getTargetClass() def bar(self): return 'BAR' bar = Foo.bar self.assertTrue(isinstance(bar, self._getTargetClass())) self.assertEqual(bar.func(object()), 'BAR') class SiteInfoTests(unittest.TestCase): def _getTargetClass(self): from zope.component.hooks import SiteInfo return SiteInfo def _makeOne(self): return self._getTargetClass()() def test_initial(self): from zope.component.globalregistry import getGlobalSiteManager gsm = getGlobalSiteManager() si = self._makeOne() self.assertEqual(si.site, None) self.assertTrue(si.sm is gsm) def test_adapter_hook(self): _hook = object() class _Registry(object): adapter_hook = _hook class _SiteManager(object): adapters = _Registry() si = self._makeOne() si.sm = _SiteManager() self.assertFalse('adapter_hook' in si.__dict__) self.assertTrue(si.adapter_hook is _hook) self.assertTrue('adapter_hook' in si.__dict__) del si.adapter_hook self.assertFalse('adapter_hook' in si.__dict__) class Test_setSite(unittest.TestCase): def _callFUT(self, site): from zope.component.hooks import setSite return setSite(site) def test_w_None(self): from zope.component import hooks from zope.component.globalregistry import getGlobalSiteManager gsm = getGlobalSiteManager() _SM2 = object() _SITE = object() _HOOK = object() siteinfo = _DummySiteInfo() siteinfo.sm = _SM2 siteinfo.site = _SITE siteinfo.adapterhook = _HOOK with _Monkey(hooks, siteinfo=siteinfo): self._callFUT(None) self.assertTrue(siteinfo.sm is gsm) self.assertTrue(siteinfo.site is None) self.assertFalse('adapter_hook' in siteinfo.__dict__) def test_w_site(self): from zope.component import hooks _SM2 = object() class _Site(object): def getSiteManager(self): return _SM2 siteinfo = _DummySiteInfo() _site = _Site() with _Monkey(hooks, siteinfo=siteinfo): self._callFUT(_site) self.assertTrue(siteinfo.sm is _SM2) self.assertTrue(siteinfo.site is _site) self.assertFalse('adapter_hook' in siteinfo.__dict__) class Test_getSite(unittest.TestCase): def _callFUT(self): from zope.component.hooks import getSite return getSite() def test_w_None(self): from zope.component import hooks from zope.component.globalregistry import getGlobalSiteManager gsm = getGlobalSiteManager() siteinfo = _DummySiteInfo() with _Monkey(hooks, siteinfo=siteinfo): self.assertTrue(self._callFUT() is None) def test_w_site(self): from zope.component import hooks from zope.component.globalregistry import getGlobalSiteManager gsm = getGlobalSiteManager() _SM2 = object() _SITE = object() siteinfo = _DummySiteInfo() siteinfo.sm = _SM2 siteinfo.site = _SITE with _Monkey(hooks, siteinfo=siteinfo): self.assertTrue(self._callFUT() is _SITE) class Test_site(unittest.TestCase): def _callFUT(self, new_site): from zope.component.hooks import site return site(new_site) def test_it(self): from zope.component import hooks from zope.component.globalregistry import getGlobalSiteManager gsm = getGlobalSiteManager() _SM2 = object() class _Site(object): def getSiteManager(self): return _SM2 _site = _Site() siteinfo = _DummySiteInfo() self.assertTrue(siteinfo.site is None) self.assertTrue(siteinfo.sm is _SM) with _Monkey(hooks, siteinfo=siteinfo): with self._callFUT(_site): self.assertTrue(siteinfo.site is _site) self.assertTrue(siteinfo.sm is _SM2) self.assertTrue(siteinfo.site is None) self.assertTrue(siteinfo.sm is gsm) class Test_getSiteManager(unittest.TestCase): def _callFUT(self, context=None): from zope.component.hooks import getSiteManager return getSiteManager(context) def test_default(self): from zope.component import hooks from zope.component.globalregistry import getGlobalSiteManager gsm = getGlobalSiteManager() _SM2 = object() siteinfo = _DummySiteInfo() siteinfo.sm = _SM2 with _Monkey(hooks, siteinfo=siteinfo): self.assertTrue(self._callFUT() is _SM2) def test_w_explicit_context_no_IComponentLookup(self): from zope.component import hooks from zope.component.globalregistry import getGlobalSiteManager gsm = getGlobalSiteManager() _SM2 = object() siteinfo = _DummySiteInfo() siteinfo.sm = _SM2 with _Monkey(hooks, siteinfo=siteinfo): self.assertTrue(self._callFUT(object()) is gsm) def test_w_explicit_context_w_IComponentLookup(self): from zope.interface import Interface from zope.component import hooks from zope.component.globalregistry import getGlobalSiteManager from zope.component.interfaces import IComponentLookup class _Lookup(object): def __init__(self, context): self.context = context gsm = getGlobalSiteManager() gsm.registerAdapter(_Lookup, (Interface,), IComponentLookup, '') _SM2 = object() siteinfo = _DummySiteInfo() siteinfo.sm = _SM2 context = object() with _Monkey(hooks, siteinfo=siteinfo): sm = self._callFUT(context) self.assertTrue(isinstance(sm, _Lookup)) self.assertTrue(sm.context is context) class Test_adapter_hook(unittest.TestCase): def _callFUT(self, interface, object, name='', default=None): from zope.component.hooks import adapter_hook return adapter_hook(interface, object, name, default) def test_success(self): from zope.interface import Interface from zope.component import hooks from zope.component.globalregistry import getGlobalSiteManager class IFoo(Interface): pass gsm = getGlobalSiteManager() _ADAPTER = object() _DEFAULT = object() _CONTEXT = object() _called = [] def _adapter_hook(interface, object, name, default): _called.append((interface, object, name, default)) return _ADAPTER siteinfo = _DummySiteInfo() siteinfo.adapter_hook = _adapter_hook with _Monkey(hooks, siteinfo=siteinfo): adapter = self._callFUT(IFoo, _CONTEXT, 'bar', _DEFAULT) self.assertTrue(adapter is _ADAPTER) self.assertEqual(_called, [(IFoo, _CONTEXT, 'bar', _DEFAULT)]) def test_hook_raises(self): from zope.interface import Interface from zope.component import hooks from zope.component.globalregistry import getGlobalSiteManager from zope.component.interfaces import ComponentLookupError class IFoo(Interface): pass gsm = getGlobalSiteManager() _DEFAULT = object() _CONTEXT = object() _called = [] def _adapter_hook(interface, object, name, default): _called.append((interface, object, name, default)) raise ComponentLookupError('testing') siteinfo = _DummySiteInfo() siteinfo.adapter_hook = _adapter_hook with _Monkey(hooks, siteinfo=siteinfo): adapter = self._callFUT(IFoo, _CONTEXT, 'bar', _DEFAULT) self.assertTrue(adapter is _DEFAULT) self.assertEqual(_called, [(IFoo, _CONTEXT, 'bar', _DEFAULT)]) class Test_setHooks(unittest.TestCase): def _callFUT(self): from zope.component.hooks import setHooks return setHooks() def test_it(self): import zope.component._api from zope.component import hooks class _Hook(object): def __init__(self): self._hooked = None def sethook(self, value): self._hooked = value adapter_hook = _Hook() getSiteManager = _Hook() with _Monkey(zope.component._api, adapter_hook=adapter_hook, getSiteManager=getSiteManager): self._callFUT() self.assertEqual(adapter_hook._hooked, hooks.adapter_hook) self.assertEqual(getSiteManager._hooked, hooks.getSiteManager) class Test_resetHooks(unittest.TestCase): def _callFUT(self): from zope.component.hooks import resetHooks return resetHooks() def test_it(self): import zope.component._api class _Hook(object): def __init__(self): self._reset = False def reset(self): self._reset = True adapter_hook = _Hook() getSiteManager = _Hook() with _Monkey(zope.component._api, adapter_hook=adapter_hook, getSiteManager=getSiteManager): self._callFUT() self.assertTrue(adapter_hook._reset) self.assertTrue(getSiteManager._reset) _SM = object() class _DummySiteInfo(object): sm = _SM site = None class _Monkey(object): # context-manager for replacing module names in the scope of a test. def __init__(self, module, **kw): self.module = module self.to_restore = dict([(key, getattr(module, key)) for key in kw]) for key, value in kw.items(): setattr(module, key, value) def __enter__(self): return self def __exit__(self, exc_type, exc_val, exc_tb): for key, value in self.to_restore.items(): setattr(self.module, key, value) def test_suite(): return unittest.TestSuite(( unittest.makeSuite(Test_read_property), unittest.makeSuite(SiteInfoTests), unittest.makeSuite(Test_setSite), unittest.makeSuite(Test_getSite), unittest.makeSuite(Test_site), unittest.makeSuite(Test_getSiteManager), unittest.makeSuite(Test_adapter_hook), unittest.makeSuite(Test_setHooks), unittest.makeSuite(Test_resetHooks), ))
Save