summaryrefslogtreecommitdiff
path: root/repoze/bfg/tests
diff options
context:
space:
mode:
Diffstat (limited to 'repoze/bfg/tests')
-rw-r--r--repoze/bfg/tests/test_chameleon_text.py35
-rw-r--r--repoze/bfg/tests/test_chameleon_zpt.py34
-rw-r--r--repoze/bfg/tests/test_configuration.py266
-rw-r--r--repoze/bfg/tests/test_registry.py46
-rw-r--r--repoze/bfg/tests/test_router.py268
-rw-r--r--repoze/bfg/tests/test_security.py20
-rw-r--r--repoze/bfg/tests/test_settings.py5
-rw-r--r--repoze/bfg/tests/test_testing.py69
-rw-r--r--repoze/bfg/tests/test_threadlocal.py7
-rw-r--r--repoze/bfg/tests/test_traversal.py24
-rw-r--r--repoze/bfg/tests/test_url.py8
-rw-r--r--repoze/bfg/tests/test_view.py8
-rw-r--r--repoze/bfg/tests/test_zcml.py6
13 files changed, 412 insertions, 384 deletions
diff --git a/repoze/bfg/tests/test_chameleon_text.py b/repoze/bfg/tests/test_chameleon_text.py
index a6384887f..a0fb946d1 100644
--- a/repoze/bfg/tests/test_chameleon_text.py
+++ b/repoze/bfg/tests/test_chameleon_text.py
@@ -19,7 +19,14 @@ class Base:
import os
here = os.path.abspath(os.path.dirname(__file__))
return os.path.join(here, 'fixtures', name)
+
+ def _registerUtility(self, utility, iface, name=''):
+ from zope.component import getSiteManager
+ sm = getSiteManager()
+ sm.registerUtility(utility, iface, name=name)
+ return sm
+
class TextTemplateRendererTests(Base, unittest.TestCase):
def _getTargetClass(self):
from repoze.bfg.chameleon_text import TextTemplateRenderer
@@ -92,13 +99,11 @@ class RenderTemplateToResponseTests(Base, unittest.TestCase):
self.assertEqual(len(result.headerlist), 2)
def test_iresponsefactory_override(self):
- from zope.component import getGlobalSiteManager
- gsm = getGlobalSiteManager()
from webob import Response
class Response2(Response):
pass
from repoze.bfg.interfaces import IResponseFactory
- gsm.registerUtility(Response2, IResponseFactory)
+ self._registerUtility(Response2, IResponseFactory)
minimal = self._getTemplatePath('minimal.txt')
result = self._callFUT(minimal)
self.failUnless(isinstance(result, Response2))
@@ -109,40 +114,34 @@ class GetRendererTests(Base, unittest.TestCase):
return get_renderer(name)
def test_nonabs_registered(self):
- from zope.component import getGlobalSiteManager
from zope.component import queryUtility
from repoze.bfg.chameleon_text import TextTemplateRenderer
from repoze.bfg.interfaces import ITemplateRenderer
minimal = self._getTemplatePath('minimal.txt')
utility = TextTemplateRenderer(minimal)
- gsm = getGlobalSiteManager()
- gsm.registerUtility(utility, ITemplateRenderer, name=minimal)
+ self._registerUtility(utility, ITemplateRenderer, name=minimal)
result = self._callFUT(minimal)
self.assertEqual(result, utility)
self.assertEqual(queryUtility(ITemplateRenderer, minimal), utility)
def test_nonabs_unregistered(self):
- from zope.component import getGlobalSiteManager
from zope.component import queryUtility
from repoze.bfg.chameleon_text import TextTemplateRenderer
from repoze.bfg.interfaces import ITemplateRenderer
minimal = self._getTemplatePath('minimal.txt')
self.assertEqual(queryUtility(ITemplateRenderer, minimal), None)
utility = TextTemplateRenderer(minimal)
- gsm = getGlobalSiteManager()
- gsm.registerUtility(utility, ITemplateRenderer, name=minimal)
+ self._registerUtility(utility, ITemplateRenderer, name=minimal)
result = self._callFUT(minimal)
self.assertEqual(result, utility)
self.assertEqual(queryUtility(ITemplateRenderer, minimal), utility)
def test_explicit_registration(self):
- from zope.component import getGlobalSiteManager
from repoze.bfg.interfaces import ITemplateRenderer
class Dummy:
template = object()
- gsm = getGlobalSiteManager()
utility = Dummy()
- gsm.registerUtility(utility, ITemplateRenderer, name='foo')
+ self._registerUtility(utility, ITemplateRenderer, name='foo')
result = self._callFUT('foo')
self.failUnless(result is utility)
@@ -158,42 +157,36 @@ class GetTemplateTests(unittest.TestCase, Base):
return get_template(name)
def test_nonabs_registered(self):
- from zope.component import getGlobalSiteManager
from zope.component import queryUtility
from repoze.bfg.chameleon_text import TextTemplateRenderer
from repoze.bfg.interfaces import ITemplateRenderer
minimal = self._getTemplatePath('minimal.txt')
utility = TextTemplateRenderer(minimal)
- gsm = getGlobalSiteManager()
- gsm.registerUtility(utility, ITemplateRenderer, name=minimal)
+ self._registerUtility(utility, ITemplateRenderer, name=minimal)
result = self._callFUT(minimal)
self.assertEqual(result.filename, minimal)
self.assertEqual(queryUtility(ITemplateRenderer, minimal), utility)
def test_nonabs_unregistered(self):
- from zope.component import getGlobalSiteManager
from zope.component import queryUtility
from repoze.bfg.chameleon_text import TextTemplateRenderer
from repoze.bfg.interfaces import ITemplateRenderer
minimal = self._getTemplatePath('minimal.txt')
self.assertEqual(queryUtility(ITemplateRenderer, minimal), None)
utility = TextTemplateRenderer(minimal)
- gsm = getGlobalSiteManager()
- gsm.registerUtility(utility, ITemplateRenderer, name=minimal)
+ self._registerUtility(utility, ITemplateRenderer, name=minimal)
result = self._callFUT(minimal)
self.assertEqual(result.filename, minimal)
self.assertEqual(queryUtility(ITemplateRenderer, minimal), utility)
def test_explicit_registration(self):
- from zope.component import getGlobalSiteManager
from repoze.bfg.interfaces import ITemplateRenderer
class Dummy:
template = object()
def implementation(self):
return self.template
- gsm = getGlobalSiteManager()
utility = Dummy()
- gsm.registerUtility(utility, ITemplateRenderer, name='foo')
+ self._registerUtility(utility, ITemplateRenderer, name='foo')
result = self._callFUT('foo')
self.failUnless(result is utility.template)
diff --git a/repoze/bfg/tests/test_chameleon_zpt.py b/repoze/bfg/tests/test_chameleon_zpt.py
index 381a1d0bf..0a78c1caa 100644
--- a/repoze/bfg/tests/test_chameleon_zpt.py
+++ b/repoze/bfg/tests/test_chameleon_zpt.py
@@ -13,6 +13,12 @@ class Base(object):
import os
here = os.path.abspath(os.path.dirname(__file__))
return os.path.join(here, 'fixtures', name)
+
+ def _registerUtility(self, utility, iface, name=''):
+ from zope.component import getSiteManager
+ sm = getSiteManager()
+ sm.registerUtility(utility, iface, name=name)
+ return sm
class ZPTTemplateRendererTests(Base, unittest.TestCase):
def _getTargetClass(self):
@@ -84,13 +90,11 @@ class RenderTemplateToResponseTests(Base, unittest.TestCase):
self.assertEqual(len(result.headerlist), 2)
def test_iresponsefactory_override(self):
- from zope.component import getGlobalSiteManager
- gsm = getGlobalSiteManager()
from webob import Response
class Response2(Response):
pass
from repoze.bfg.interfaces import IResponseFactory
- gsm.registerUtility(Response2, IResponseFactory)
+ self._registerUtility(Response2, IResponseFactory)
minimal = self._getTemplatePath('minimal.pt')
result = self._callFUT(minimal)
self.failUnless(isinstance(result, Response2))
@@ -101,40 +105,34 @@ class GetRendererTests(Base, unittest.TestCase):
return get_renderer(name)
def test_nonabs_registered(self):
- from zope.component import getGlobalSiteManager
from zope.component import queryUtility
from repoze.bfg.chameleon_zpt import ZPTTemplateRenderer
from repoze.bfg.interfaces import ITemplateRenderer
minimal = self._getTemplatePath('minimal.pt')
utility = ZPTTemplateRenderer(minimal)
- gsm = getGlobalSiteManager()
- gsm.registerUtility(utility, ITemplateRenderer, name=minimal)
+ self._registerUtility(utility, ITemplateRenderer, name=minimal)
result = self._callFUT(minimal)
self.assertEqual(result, utility)
self.assertEqual(queryUtility(ITemplateRenderer, minimal), utility)
def test_nonabs_unregistered(self):
- from zope.component import getGlobalSiteManager
from zope.component import queryUtility
from repoze.bfg.chameleon_zpt import ZPTTemplateRenderer
from repoze.bfg.interfaces import ITemplateRenderer
minimal = self._getTemplatePath('minimal.pt')
self.assertEqual(queryUtility(ITemplateRenderer, minimal), None)
utility = ZPTTemplateRenderer(minimal)
- gsm = getGlobalSiteManager()
- gsm.registerUtility(utility, ITemplateRenderer, name=minimal)
+ self._registerUtility(utility, ITemplateRenderer, name=minimal)
result = self._callFUT(minimal)
self.assertEqual(result, utility)
self.assertEqual(queryUtility(ITemplateRenderer, minimal), utility)
def test_explicit_registration(self):
- from zope.component import getGlobalSiteManager
from repoze.bfg.interfaces import ITemplateRenderer
class Dummy:
template = object()
- gsm = getGlobalSiteManager()
utility = Dummy()
- gsm.registerUtility(utility, ITemplateRenderer, name='foo')
+ self._registerUtility(utility, ITemplateRenderer, name='foo')
result = self._callFUT('foo')
self.failUnless(result is utility)
@@ -144,42 +142,36 @@ class GetTemplateTests(Base, unittest.TestCase):
return get_template(name)
def test_nonabs_registered(self):
- from zope.component import getGlobalSiteManager
from zope.component import queryUtility
from repoze.bfg.chameleon_zpt import ZPTTemplateRenderer
from repoze.bfg.interfaces import ITemplateRenderer
minimal = self._getTemplatePath('minimal.pt')
utility = ZPTTemplateRenderer(minimal)
- gsm = getGlobalSiteManager()
- gsm.registerUtility(utility, ITemplateRenderer, name=minimal)
+ self._registerUtility(utility, ITemplateRenderer, name=minimal)
result = self._callFUT(minimal)
self.assertEqual(result.filename, minimal)
self.assertEqual(queryUtility(ITemplateRenderer, minimal), utility)
def test_nonabs_unregistered(self):
- from zope.component import getGlobalSiteManager
from zope.component import queryUtility
from repoze.bfg.chameleon_zpt import ZPTTemplateRenderer
from repoze.bfg.interfaces import ITemplateRenderer
minimal = self._getTemplatePath('minimal.pt')
self.assertEqual(queryUtility(ITemplateRenderer, minimal), None)
utility = ZPTTemplateRenderer(minimal)
- gsm = getGlobalSiteManager()
- gsm.registerUtility(utility, ITemplateRenderer, name=minimal)
+ self._registerUtility(utility, ITemplateRenderer, name=minimal)
result = self._callFUT(minimal)
self.assertEqual(result.filename, minimal)
self.assertEqual(queryUtility(ITemplateRenderer, minimal), utility)
def test_explicit_registration(self):
- from zope.component import getGlobalSiteManager
from repoze.bfg.interfaces import ITemplateRenderer
class Dummy:
template = object()
def implementation(self):
return self.template
- gsm = getGlobalSiteManager()
utility = Dummy()
- gsm.registerUtility(utility, ITemplateRenderer, name='foo')
+ self._registerUtility(utility, ITemplateRenderer, name='foo')
result = self._callFUT('foo')
self.failUnless(result is utility.template)
diff --git a/repoze/bfg/tests/test_configuration.py b/repoze/bfg/tests/test_configuration.py
new file mode 100644
index 000000000..b2fc27e3e
--- /dev/null
+++ b/repoze/bfg/tests/test_configuration.py
@@ -0,0 +1,266 @@
+import unittest
+
+from repoze.bfg.testing import cleanUp
+
+class MakeRegistryTests(unittest.TestCase):
+ def setUp(self):
+ cleanUp()
+
+ def tearDown(self):
+ cleanUp()
+
+ def _callFUT(self, *arg, **kw):
+ from repoze.bfg.router import make_registry
+ return make_registry(*arg, **kw)
+
+ def test_fixtureapp_default_filename_withpackage(self):
+ manager = DummyRegistryManager()
+ from repoze.bfg.tests import fixtureapp
+ rootfactory = DummyRootFactory(None)
+ registry = self._callFUT(rootfactory, fixtureapp)
+ self.assertEqual(registry.__name__, 'repoze.bfg.tests.fixtureapp')
+ from repoze.bfg.tests.fixtureapp.models import IFixture
+ self.failUnless(registry.queryUtility(IFixture)) # only in c.zcml
+
+ def test_fixtureapp_explicit_filename(self):
+ manager = DummyRegistryManager()
+ from repoze.bfg.tests import fixtureapp
+ rootfactory = DummyRootFactory(None)
+ registry = self._callFUT(
+ rootfactory, fixtureapp, filename='another.zcml',
+ manager=manager)
+ self.assertEqual(registry.__name__, 'repoze.bfg.tests.fixtureapp')
+ from repoze.bfg.tests.fixtureapp.models import IFixture
+ self.failIf(registry.queryUtility(IFixture)) # only in c.zcml
+
+ def test_fixtureapp_explicit_filename_in_options(self):
+ import os
+ manager = DummyRegistryManager()
+ rootfactory = DummyRootFactory(None)
+ from repoze.bfg.tests import fixtureapp
+ zcmlfile = os.path.join(os.path.dirname(fixtureapp.__file__),
+ 'another.zcml')
+ registry = self._callFUT(
+ rootfactory, fixtureapp, filename='configure.zcml',
+ options={'configure_zcml':zcmlfile},
+ manager=manager)
+ self.assertEqual(registry.__name__, 'repoze.bfg.tests.fixtureapp')
+ from repoze.bfg.tests.fixtureapp.models import IFixture
+ self.failIf(registry.queryUtility(IFixture)) # only in c.zcml
+
+ def test_fixtureapp_explicit_specification_in_options(self):
+ manager = DummyRegistryManager()
+ rootfactory = DummyRootFactory(None)
+ from repoze.bfg.tests import fixtureapp
+ zcmlfile = 'repoze.bfg.tests.fixtureapp.subpackage:yetanother.zcml'
+ registry = self._callFUT(
+ rootfactory, fixtureapp, filename='configure.zcml',
+ options={'configure_zcml':zcmlfile},
+ manager=manager)
+ self.assertEqual(registry.__name__,
+ 'repoze.bfg.tests.fixtureapp.subpackage')
+ from repoze.bfg.tests.fixtureapp.models import IFixture
+ self.failIf(registry.queryUtility(IFixture)) # only in c.zcml
+
+ def test_fixtureapp_filename_hascolon_isabs(self):
+ manager = DummyRegistryManager()
+ rootfactory = DummyRootFactory(None)
+ from repoze.bfg.tests import fixtureapp
+ zcmlfile = 'repoze.bfg.tests.fixtureapp.subpackage:yetanother.zcml'
+ class Dummy:
+ def isabs(self, name):
+ return True
+ os = Dummy()
+ os.path = Dummy()
+ self.assertRaises(IOError, self._callFUT,
+ rootfactory,
+ fixtureapp,
+ filename='configure.zcml',
+ options={'configure_zcml':zcmlfile},
+ manager=manager,
+ os=os)
+
+ def test_custom_settings(self):
+ manager = DummyRegistryManager()
+ options= {'mysetting':True}
+ from repoze.bfg.tests import fixtureapp
+ rootfactory = DummyRootFactory(None)
+ registry = self._callFUT(rootfactory, fixtureapp, options=options,
+ manager=manager)
+ from repoze.bfg.interfaces import ISettings
+ settings = registry.getUtility(ISettings)
+ self.assertEqual(settings.reload_templates, False)
+ self.assertEqual(settings.debug_authorization, False)
+ self.assertEqual(settings.mysetting, True)
+
+ def test_registrations(self):
+ manager = DummyRegistryManager()
+ options= {'reload_templates':True,
+ 'debug_authorization':True}
+ from repoze.bfg.tests import fixtureapp
+ rootfactory = DummyRootFactory(None)
+ registry = self._callFUT(rootfactory, fixtureapp, options=options,
+ manager=manager)
+ from repoze.bfg.interfaces import ISettings
+ from repoze.bfg.interfaces import ILogger
+ from repoze.bfg.interfaces import IRootFactory
+ settings = registry.getUtility(ISettings)
+ logger = registry.getUtility(ILogger, name='repoze.bfg.debug')
+ rootfactory = registry.getUtility(IRootFactory)
+ self.assertEqual(logger.name, 'repoze.bfg.debug')
+ self.assertEqual(settings.reload_templates, True)
+ self.assertEqual(settings.debug_authorization, True)
+ self.assertEqual(rootfactory, rootfactory)
+ self.failUnless(manager.pushed and manager.popped)
+
+ def test_routes_in_config_with_rootfactory(self):
+ options= {'reload_templates':True,
+ 'debug_authorization':True}
+ from repoze.bfg.urldispatch import RoutesRootFactory
+ from repoze.bfg.tests import routesapp
+ rootfactory = DummyRootFactory(None)
+ registry = self._callFUT(rootfactory, routesapp, options=options)
+ from repoze.bfg.interfaces import ISettings
+ from repoze.bfg.interfaces import ILogger
+ from repoze.bfg.interfaces import IRootFactory
+ settings = registry.getUtility(ISettings)
+ logger = registry.getUtility(ILogger, name='repoze.bfg.debug')
+ effective_rootfactory = registry.getUtility(IRootFactory)
+ self.assertEqual(logger.name, 'repoze.bfg.debug')
+ self.assertEqual(settings.reload_templates, True)
+ self.assertEqual(settings.debug_authorization, True)
+ self.failUnless(isinstance(effective_rootfactory, RoutesRootFactory))
+ self.assertEqual(effective_rootfactory.default_root_factory,
+ rootfactory)
+
+ def test_routes_in_config_no_rootfactory(self):
+ options= {'reload_templates':True,
+ 'debug_authorization':True}
+ from repoze.bfg.urldispatch import RoutesRootFactory
+ from repoze.bfg.router import DefaultRootFactory
+ from repoze.bfg.tests import routesapp
+ registry = self._callFUT(None, routesapp, options=options)
+ from repoze.bfg.interfaces import ISettings
+ from repoze.bfg.interfaces import ILogger
+ from repoze.bfg.interfaces import IRootFactory
+ settings = registry.getUtility(ISettings)
+ logger = registry.getUtility(ILogger, name='repoze.bfg.debug')
+ rootfactory = registry.getUtility(IRootFactory)
+ self.assertEqual(logger.name, 'repoze.bfg.debug')
+ self.assertEqual(settings.reload_templates, True)
+ self.assertEqual(settings.debug_authorization, True)
+ self.failUnless(isinstance(rootfactory, RoutesRootFactory))
+ self.assertEqual(rootfactory.default_root_factory, DefaultRootFactory)
+
+ def test_no_routes_in_config_no_rootfactory(self):
+ from repoze.bfg.router import DefaultRootFactory
+ from repoze.bfg.interfaces import IRootFactory
+ options= {'reload_templates':True,
+ 'debug_authorization':True}
+ from repoze.bfg.tests import fixtureapp
+ registry = self._callFUT(None, fixtureapp, options=options)
+ rootfactory = registry.getUtility(IRootFactory)
+ self.assertEqual(rootfactory, DefaultRootFactory)
+
+ def test_authorization_policy_no_authentication_policy(self):
+ from repoze.bfg.interfaces import IAuthorizationPolicy
+ authzpolicy = DummyContext()
+ from repoze.bfg.tests import routesapp
+ logger = DummyLogger()
+ registry = self._callFUT(
+ None, routesapp, authorization_policy=authzpolicy,
+ debug_logger=logger)
+ self.failIf(registry.queryUtility(IAuthorizationPolicy))
+ self.assertEqual(logger.messages, [])
+
+ def test_authentication_policy_no_authorization_policy(self):
+ from repoze.bfg.interfaces import IAuthorizationPolicy
+ from repoze.bfg.interfaces import IAuthenticationPolicy
+ from repoze.bfg.authorization import ACLAuthorizationPolicy
+ authnpolicy = DummyContext()
+ from repoze.bfg.tests import routesapp
+ logger = DummyLogger()
+ registry = self._callFUT(
+ None, routesapp, authentication_policy=authnpolicy,
+ debug_logger=logger)
+ self.assertEqual(registry.getUtility(IAuthenticationPolicy),
+ authnpolicy)
+ self.assertEqual(
+ registry.getUtility(IAuthorizationPolicy).__class__,
+ ACLAuthorizationPolicy)
+ self.assertEqual(len(logger.messages), 1) # deprecation warning
+
+ def test_authentication_policy_and_authorization_policy(self):
+ from repoze.bfg.interfaces import IAuthorizationPolicy
+ from repoze.bfg.interfaces import IAuthenticationPolicy
+ authnpolicy = DummyContext()
+ authzpolicy = DummyContext()
+ from repoze.bfg.tests import routesapp
+ logger = DummyLogger()
+ registry = self._callFUT(
+ None, routesapp, authentication_policy=authnpolicy,
+ authorization_policy = authzpolicy,
+ debug_logger=logger)
+ self.assertEqual(registry.getUtility(IAuthenticationPolicy),
+ authnpolicy)
+ self.assertEqual(registry.getUtility(IAuthorizationPolicy),
+ authzpolicy)
+ self.assertEqual(len(logger.messages), 1) # deprecation warning
+
+ def test_lock_and_unlock(self):
+ from repoze.bfg.tests import fixtureapp
+ rootfactory = DummyRootFactory(None)
+ dummylock = DummyLock()
+ registry = self._callFUT(
+ rootfactory, fixtureapp, filename='configure.zcml',
+ lock=dummylock)
+ self.assertEqual(dummylock.acquired, True)
+ self.assertEqual(dummylock.released, True)
+
+class DummyRegistryManager:
+ def push(self, registry):
+ from repoze.bfg.threadlocal import manager
+ manager.push(registry)
+ self.pushed = True
+
+ def pop(self):
+ from repoze.bfg.threadlocal import manager
+ manager.pop()
+ self.popped = True
+
+class DummyRootFactory:
+ def __init__(self, root):
+ self.root = root
+
+ def __call__(self, environ):
+ return self.root
+
+class DummyLogger:
+ def __init__(self):
+ self.messages = []
+ def info(self, msg):
+ self.messages.append(msg)
+ warn = info
+ debug = info
+
+class DummyContext:
+ pass
+
+class DummyLock:
+ def acquire(self):
+ self.acquired = True
+
+ def release(self):
+ self.released = True
+
+class DummyThreadLocalManager:
+ def __init__(self, data):
+ self.data = data
+
+ def pop(self):
+ self.popped = True
+ return self.data
+
+ def push(self, data):
+ self.pushed = data
+
diff --git a/repoze/bfg/tests/test_registry.py b/repoze/bfg/tests/test_registry.py
index f1bc6a6f0..57e8134c9 100644
--- a/repoze/bfg/tests/test_registry.py
+++ b/repoze/bfg/tests/test_registry.py
@@ -1,7 +1,5 @@
import unittest
-from repoze.bfg.testing import cleanUp
-
class TestRegistry(unittest.TestCase):
def _getTargetClass(self):
from repoze.bfg.registry import Registry
@@ -39,47 +37,3 @@ class TestRegistry(unittest.TestCase):
registry.registerSubscriptionAdapter(EventHandler, [IFoo], Interface)
self.assertEqual(registry.has_listeners, True)
-class TestPopulateRegistry(unittest.TestCase):
- def setUp(self):
- cleanUp()
-
- def tearDown(self):
- cleanUp()
-
- def _callFUT(self, *arg, **kw):
- from repoze.bfg.registry import populateRegistry
- return populateRegistry(*arg, **kw)
-
- def test_it(self):
- from repoze.bfg.tests import fixtureapp
- dummylock = DummyLock()
- dummyregmgr = DummyThreadLocalManager({'registry':None})
- from zope.component.registry import Components
- registry = Components('hello')
- self._callFUT(registry,
- 'configure.zcml',
- fixtureapp,
- lock=dummylock,
- manager=dummyregmgr)
- self.assertEqual(dummylock.acquired, True)
- self.assertEqual(dummylock.released, True)
- self.assertEqual(dummyregmgr.data['registry'], None)
-
-class DummyThreadLocalManager:
- def __init__(self, data):
- self.data = data
-
- def pop(self):
- self.popped = True
- return self.data
-
- def push(self, data):
- self.pushed = data
-
-class DummyLock:
- def acquire(self):
- self.acquired = True
-
- def release(self):
- self.released = True
-
diff --git a/repoze/bfg/tests/test_router.py b/repoze/bfg/tests/test_router.py
index 5c39b65f0..151734b9b 100644
--- a/repoze/bfg/tests/test_router.py
+++ b/repoze/bfg/tests/test_router.py
@@ -2,7 +2,7 @@ import unittest
from repoze.bfg.testing import cleanUp
-class RouterTests(unittest.TestCase):
+class TestRouter(unittest.TestCase):
def setUp(self):
from repoze.bfg.registry import Registry
from zope.component import getSiteManager
@@ -407,230 +407,6 @@ class RouterTests(unittest.TestCase):
self.assertEqual(len(router.threadlocal_manager.pushed), 1)
self.assertEqual(len(router.threadlocal_manager.popped), 1)
-class MakeAppTests(unittest.TestCase):
- def setUp(self):
- cleanUp()
-
- def tearDown(self):
- cleanUp()
-
- def _callFUT(self, *arg, **kw):
- from repoze.bfg.router import make_app
- return make_app(*arg, **kw)
-
- def test_fixtureapp_default_filename_withpackage(self):
- manager = DummyRegistryManager()
- from repoze.bfg.tests import fixtureapp
- rootfactory = DummyRootFactory(None)
- app = self._callFUT(rootfactory, fixtureapp, manager=manager)
- self.assertEqual(app.registry.__name__, 'repoze.bfg.tests.fixtureapp')
- from repoze.bfg.tests.fixtureapp.models import IFixture
- self.failUnless(app.registry.queryUtility(IFixture)) # only in c.zcml
-
- def test_fixtureapp_explicit_filename(self):
- manager = DummyRegistryManager()
- from repoze.bfg.tests import fixtureapp
- rootfactory = DummyRootFactory(None)
- app = self._callFUT(rootfactory, fixtureapp, filename='another.zcml',
- manager=manager)
- self.assertEqual(app.registry.__name__, 'repoze.bfg.tests.fixtureapp')
- from repoze.bfg.tests.fixtureapp.models import IFixture
- self.failIf(app.registry.queryUtility(IFixture)) # only in c.zcml
-
- def test_fixtureapp_explicit_filename_in_options(self):
- import os
- manager = DummyRegistryManager()
- rootfactory = DummyRootFactory(None)
- from repoze.bfg.tests import fixtureapp
- zcmlfile = os.path.join(os.path.dirname(fixtureapp.__file__),
- 'another.zcml')
- app = self._callFUT(rootfactory, fixtureapp, filename='configure.zcml',
- options={'configure_zcml':zcmlfile},
- manager=manager)
- self.assertEqual(app.registry.__name__, 'repoze.bfg.tests.fixtureapp')
- from repoze.bfg.tests.fixtureapp.models import IFixture
- self.failIf(app.registry.queryUtility(IFixture)) # only in c.zcml
-
- def test_fixtureapp_explicit_specification_in_options(self):
- manager = DummyRegistryManager()
- rootfactory = DummyRootFactory(None)
- from repoze.bfg.tests import fixtureapp
- zcmlfile = 'repoze.bfg.tests.fixtureapp.subpackage:yetanother.zcml'
- app = self._callFUT(rootfactory, fixtureapp, filename='configure.zcml',
- options={'configure_zcml':zcmlfile},
- manager=manager)
- self.assertEqual(app.registry.__name__,
- 'repoze.bfg.tests.fixtureapp.subpackage')
- from repoze.bfg.tests.fixtureapp.models import IFixture
- self.failIf(app.registry.queryUtility(IFixture)) # only in c.zcml
-
- def test_fixtureapp_filename_hascolon_isabs(self):
- manager = DummyRegistryManager()
- rootfactory = DummyRootFactory(None)
- from repoze.bfg.tests import fixtureapp
- zcmlfile = 'repoze.bfg.tests.fixtureapp.subpackage:yetanother.zcml'
- class Dummy:
- def isabs(self, name):
- return True
- os = Dummy()
- os.path = Dummy()
- self.assertRaises(IOError, self._callFUT,
- rootfactory,
- fixtureapp,
- filename='configure.zcml',
- options={'configure_zcml':zcmlfile},
- manager=manager,
- os=os)
-
- def test_event(self):
- manager = DummyRegistryManager()
- def subscriber(event):
- event.app.created = True
- from repoze.bfg.interfaces import IWSGIApplicationCreatedEvent
- from zope.component import getGlobalSiteManager
- getGlobalSiteManager().registerHandler(
- subscriber,
- (IWSGIApplicationCreatedEvent,)
- )
- from repoze.bfg.tests import fixtureapp
- rootfactory = DummyRootFactory(None)
- app = self._callFUT(rootfactory, fixtureapp, manager=manager)
- assert app.created is True
-
- def test_custom_settings(self):
- manager = DummyRegistryManager()
- options= {'mysetting':True}
- from repoze.bfg.tests import fixtureapp
- rootfactory = DummyRootFactory(None)
- app = self._callFUT(rootfactory, fixtureapp, options=options,
- manager=manager)
- from repoze.bfg.interfaces import ISettings
- settings = app.registry.getUtility(ISettings)
- self.assertEqual(settings.reload_templates, False)
- self.assertEqual(settings.debug_authorization, False)
- self.assertEqual(settings.mysetting, True)
-
- def test_registrations(self):
- manager = DummyRegistryManager()
- options= {'reload_templates':True,
- 'debug_authorization':True}
- from repoze.bfg.tests import fixtureapp
- rootfactory = DummyRootFactory(None)
- app = self._callFUT(rootfactory, fixtureapp, options=options,
- manager=manager)
- from repoze.bfg.interfaces import ISettings
- from repoze.bfg.interfaces import ILogger
- from repoze.bfg.interfaces import IRootFactory
- settings = app.registry.getUtility(ISettings)
- logger = app.registry.getUtility(ILogger, name='repoze.bfg.debug')
- rootfactory = app.registry.getUtility(IRootFactory)
- self.assertEqual(logger.name, 'repoze.bfg.debug')
- self.assertEqual(settings.reload_templates, True)
- self.assertEqual(settings.debug_authorization, True)
- self.assertEqual(rootfactory, rootfactory)
- self.failUnless(manager.pushed and manager.popped)
-
- def test_routes_in_config_with_rootfactory(self):
- manager = DummyRegistryManager()
- options= {'reload_templates':True,
- 'debug_authorization':True}
- from repoze.bfg.urldispatch import RoutesRootFactory
- from repoze.bfg.tests import routesapp
- rootfactory = DummyRootFactory(None)
- app = self._callFUT(rootfactory, routesapp, options=options,
- manager=manager)
- from repoze.bfg.interfaces import ISettings
- from repoze.bfg.interfaces import ILogger
- from repoze.bfg.interfaces import IRootFactory
- settings = app.registry.getUtility(ISettings)
- logger = app.registry.getUtility(ILogger, name='repoze.bfg.debug')
- effective_rootfactory = app.registry.getUtility(IRootFactory)
- self.assertEqual(logger.name, 'repoze.bfg.debug')
- self.assertEqual(settings.reload_templates, True)
- self.assertEqual(settings.debug_authorization, True)
- self.failUnless(isinstance(effective_rootfactory, RoutesRootFactory))
- self.assertEqual(effective_rootfactory.default_root_factory,
- rootfactory)
- self.failUnless(manager.pushed and manager.popped)
-
- def test_routes_in_config_no_rootfactory(self):
- manager = DummyRegistryManager()
- options= {'reload_templates':True,
- 'debug_authorization':True}
- from repoze.bfg.urldispatch import RoutesRootFactory
- from repoze.bfg.router import DefaultRootFactory
- from repoze.bfg.tests import routesapp
- app = self._callFUT(None, routesapp, options=options,
- manager=manager)
- from repoze.bfg.interfaces import ISettings
- from repoze.bfg.interfaces import ILogger
- from repoze.bfg.interfaces import IRootFactory
- settings = app.registry.getUtility(ISettings)
- logger = app.registry.getUtility(ILogger, name='repoze.bfg.debug')
- rootfactory = app.registry.getUtility(IRootFactory)
- self.assertEqual(logger.name, 'repoze.bfg.debug')
- self.assertEqual(settings.reload_templates, True)
- self.assertEqual(settings.debug_authorization, True)
- self.failUnless(isinstance(rootfactory, RoutesRootFactory))
- self.assertEqual(rootfactory.default_root_factory, DefaultRootFactory)
- self.failUnless(manager.pushed and manager.popped)
-
- def test_no_routes_in_config_no_rootfactory(self):
- manager = DummyRegistryManager()
- from repoze.bfg.router import DefaultRootFactory
- from repoze.bfg.interfaces import IRootFactory
- options= {'reload_templates':True,
- 'debug_authorization':True}
- from repoze.bfg.tests import fixtureapp
- app = self._callFUT(None, fixtureapp, options=options,
- manager=manager)
- rootfactory = app.registry.getUtility(IRootFactory)
- self.assertEqual(rootfactory, DefaultRootFactory)
-
- def test_authorization_policy_no_authentication_policy(self):
- manager = DummyRegistryManager()
- from repoze.bfg.interfaces import IAuthorizationPolicy
- authzpolicy = DummyContext()
- from repoze.bfg.tests import routesapp
- logger = DummyLogger()
- app = self._callFUT(None, routesapp, authorization_policy=authzpolicy,
- debug_logger=logger, manager=manager)
- self.failIf(app.registry.queryUtility(IAuthorizationPolicy))
- self.assertEqual(logger.messages, [])
-
- def test_authentication_policy_no_authorization_policy(self):
- manager = DummyRegistryManager()
- from repoze.bfg.interfaces import IAuthorizationPolicy
- from repoze.bfg.interfaces import IAuthenticationPolicy
- from repoze.bfg.authorization import ACLAuthorizationPolicy
- authnpolicy = DummyContext()
- from repoze.bfg.tests import routesapp
- logger = DummyLogger()
- app = self._callFUT(None, routesapp, authentication_policy=authnpolicy,
- debug_logger=logger, manager=manager)
- self.assertEqual(app.registry.getUtility(IAuthenticationPolicy),
- authnpolicy)
- self.assertEqual(
- app.registry.getUtility(IAuthorizationPolicy).__class__,
- ACLAuthorizationPolicy)
- self.assertEqual(len(logger.messages), 1) # deprecation warning
-
- def test_authentication_policy_and_authorization_policy(self):
- manager = DummyRegistryManager()
- from repoze.bfg.interfaces import IAuthorizationPolicy
- from repoze.bfg.interfaces import IAuthenticationPolicy
- authnpolicy = DummyContext()
- authzpolicy = DummyContext()
- from repoze.bfg.tests import routesapp
- logger = DummyLogger()
- app = self._callFUT(None, routesapp, authentication_policy=authnpolicy,
- authorization_policy = authzpolicy,
- debug_logger=logger, manager=manager)
- self.assertEqual(app.registry.getUtility(IAuthenticationPolicy),
- authnpolicy)
- self.assertEqual(app.registry.getUtility(IAuthorizationPolicy),
- authzpolicy)
- self.assertEqual(len(logger.messages), 1) # deprecation warning
class TestDefaultRootFactory(unittest.TestCase):
def _getTargetClass(self):
@@ -652,13 +428,38 @@ class TestDefaultRootFactory(unittest.TestCase):
self.assertEqual(root.a, 1)
self.assertEqual(root.b, 2)
+class TestMakeApp(unittest.TestCase):
+ def setUp(self):
+ cleanUp()
-class DummyRegistryManager:
- def push(self, registry):
- self.pushed = True
+ def tearDown(self):
+ cleanUp()
- def pop(self):
- self.popped = True
+ def _callFUT(self, *arg, **kw):
+ from repoze.bfg.router import make_app
+ return make_app(None, *arg, **kw)
+
+ def test_it(self):
+ from repoze.bfg.interfaces import IWSGIApplicationCreatedEvent
+ from zope.component import getSiteManager
+ from repoze.bfg.tests import fixtureapp
+ sm = getSiteManager()
+ class DummyMakeRegistry(object):
+ def __call__(self, *arg):
+ self.arg = arg
+ return sm
+ def subscriber(event):
+ event.app.created = True
+ dummy_make_registry = DummyMakeRegistry()
+ manager = DummyRegistryManager()
+ sm.registerHandler(subscriber, (IWSGIApplicationCreatedEvent,))
+ rootfactory = DummyRootFactory(None)
+ app = self._callFUT(rootfactory, fixtureapp, manager=manager,
+ make_registry=dummy_make_registry)
+ self.failUnless(app.created)
+ self.failUnless(manager.pushed)
+ self.failUnless(manager.popped)
+ self.assertEqual(len(dummy_make_registry.arg), 6)
class DummyContext:
pass
@@ -720,3 +521,10 @@ class DummyLogger:
warn = info
debug = info
+class DummyRegistryManager:
+ def push(self, registry):
+ self.pushed = True
+
+ def pop(self):
+ self.popped = True
+
diff --git a/repoze/bfg/tests/test_security.py b/repoze/bfg/tests/test_security.py
index ef08e8641..d3d89923d 100644
--- a/repoze/bfg/tests/test_security.py
+++ b/repoze/bfg/tests/test_security.py
@@ -124,18 +124,18 @@ class TestViewExecutionPermitted(unittest.TestCase):
self.request = request
return allow
checker = Checker()
- gsm = zope.component.getGlobalSiteManager()
- gsm.registerAdapter(checker, (Interface, Interface),
- ISecuredView,
- view_name)
+ sm = zope.component.getSiteManager()
+ sm.registerAdapter(checker, (Interface, Interface),
+ ISecuredView,
+ view_name)
return checker
def test_no_permission(self):
import zope.component
- gsm = zope.component.getGlobalSiteManager()
+ sm = zope.component.getSiteManager()
from repoze.bfg.interfaces import ISettings
settings = dict(debug_authorization=True)
- gsm.registerUtility(settings, ISettings)
+ sm.registerUtility(settings, ISettings)
context = DummyContext()
request = DummyRequest({})
result = self._callFUT(context, request, '')
@@ -162,16 +162,16 @@ def _registerAuthenticationPolicy(result):
from repoze.bfg.interfaces import IAuthenticationPolicy
policy = DummyAuthenticationPolicy(result)
import zope.component
- gsm = zope.component.getGlobalSiteManager()
- gsm.registerUtility(policy, IAuthenticationPolicy)
+ sm = zope.component.getSiteManager()
+ sm.registerUtility(policy, IAuthenticationPolicy)
return policy
def _registerAuthorizationPolicy(result):
from repoze.bfg.interfaces import IAuthorizationPolicy
policy = DummyAuthorizationPolicy(result)
import zope.component
- gsm = zope.component.getGlobalSiteManager()
- gsm.registerUtility(policy, IAuthorizationPolicy)
+ sm = zope.component.getSiteManager()
+ sm.registerUtility(policy, IAuthorizationPolicy)
return policy
diff --git a/repoze/bfg/tests/test_settings.py b/repoze/bfg/tests/test_settings.py
index bef8297bf..ba43fac04 100644
--- a/repoze/bfg/tests/test_settings.py
+++ b/repoze/bfg/tests/test_settings.py
@@ -35,10 +35,11 @@ class TestGetSettings(unittest.TestCase):
self.assertEqual(self._callFUT(), None)
def test_it_withsettings(self):
+ from zope.component import getSiteManager
from repoze.bfg.interfaces import ISettings
- from zope.component import provideUtility
+ sm = getSiteManager()
settings = {'a':1}
- provideUtility(settings, ISettings)
+ sm.registerUtility(settings, ISettings)
self.assertEqual(self._callFUT(), settings)
class TestGetOptions(unittest.TestCase):
diff --git a/repoze/bfg/tests/test_testing.py b/repoze/bfg/tests/test_testing.py
index 05cddc980..7e468725a 100644
--- a/repoze/bfg/tests/test_testing.py
+++ b/repoze/bfg/tests/test_testing.py
@@ -507,39 +507,52 @@ class TestDummyTemplateRenderer(unittest.TestCase):
result = renderer({'a':1, 'b':2})
self.assertEqual(result, 'abc')
-class CleanUpTests(object):
+class TestSetUp(unittest.TestCase):
def setUp(self):
- from repoze.bfg.testing import _cleanups
- self._old_cleanups = _cleanups[:]
-
- def tearDown(self):
- from repoze.bfg import testing
- testing._cleanups = self._old_cleanups
-
-class TestAddCleanUp(CleanUpTests, unittest.TestCase):
- def _getFUT(self, ):
- from repoze.bfg.testing import addCleanUp
- return addCleanUp
+ from zope.component import getSiteManager
+ getSiteManager.reset()
+
+ def _callFUT(self, ):
+ from repoze.bfg.testing import setUp
+ return setUp()
def test_it(self):
- addCleanUp = self._getFUT()
- addCleanUp(1, ('a', 'b'), {'foo':'bar'})
- from repoze.bfg.testing import _cleanups
- self.assertEqual(_cleanups[-1], (1, ('a', 'b'), {'foo':'bar'}))
+ from zope.component.globalregistry import base
+ from zope.interface import Interface
+ from zope.component import getSiteManager
+ getSiteManager.sethook(lambda *arg: base)
+ class IFoo(Interface):
+ pass
+ def foo():
+ """ """
+ base.registerUtility(foo, IFoo)
+ sm = getSiteManager()
+ self.assertEqual(sm.queryUtility(IFoo), foo)
+ self._callFUT()
+ newsm = getSiteManager()
+ self.assertEqual(newsm.queryUtility(IFoo), None)
-class TestCleanUp(CleanUpTests, unittest.TestCase):
- def _getFUT(self, ):
+class TestCleanUp(TestSetUp):
+ def _callFUT(self, ):
from repoze.bfg.testing import cleanUp
- return cleanUp
+ return cleanUp()
+
+class TestTearDown(unittest.TestCase):
+ def setUp(self):
+ from zope.component import getSiteManager
+ getSiteManager.reset()
+
+ def _callFUT(self, ):
+ from repoze.bfg.testing import tearDown
+ return tearDown()
def test_it(self):
- from repoze.bfg.testing import _cleanups
- cleanUp = self._getFUT()
- L = []
- def f(*arg, **kw):
- L.append((arg, kw))
- _cleanups.append((f, ('a', '1'), {'kw':'1'}))
- cleanUp()
- self.assertEqual(L, [(('a', '1'), {'kw':'1'})])
-
+ from zope.component.globalregistry import base
+ from zope.component import getSiteManager
+ getSiteManager.sethook(lambda *arg: 'foo')
+ sm = getSiteManager()
+ self.assertEqual(sm, 'foo')
+ self._callFUT()
+ newsm = getSiteManager()
+ self.assertEqual(newsm, base)
diff --git a/repoze/bfg/tests/test_threadlocal.py b/repoze/bfg/tests/test_threadlocal.py
index 2cf405508..09a25debd 100644
--- a/repoze/bfg/tests/test_threadlocal.py
+++ b/repoze/bfg/tests/test_threadlocal.py
@@ -21,10 +21,11 @@ class TestThreadLocalManager(unittest.TestCase):
self.assertEqual(local.get(), 1)
def test_default(self):
- from zope.component import getGlobalSiteManager
- local = self._makeOne(getGlobalSiteManager)
+ def thedefault():
+ return '123'
+ local = self._makeOne(thedefault)
self.assertEqual(local.stack, [])
- self.assertEqual(local.get(), getGlobalSiteManager())
+ self.assertEqual(local.get(), '123')
def test_push_and_pop(self):
local = self._makeOne()
diff --git a/repoze/bfg/tests/test_traversal.py b/repoze/bfg/tests/test_traversal.py
index a4e90bc07..69a8b4b6f 100644
--- a/repoze/bfg/tests/test_traversal.py
+++ b/repoze/bfg/tests/test_traversal.py
@@ -391,10 +391,10 @@ class FindModelTests(unittest.TestCase):
def _registerTraverserFactory(self, traverser):
import zope.component
- gsm = zope.component.getGlobalSiteManager()
+ sm = zope.component.getSiteManager()
from repoze.bfg.interfaces import ITraverserFactory
from zope.interface import Interface
- gsm.registerAdapter(traverser, (Interface,), ITraverserFactory)
+ sm.registerAdapter(traverser, (Interface,), ITraverserFactory)
def test_list(self):
model = DummyContext()
@@ -663,10 +663,10 @@ class TraversalContextURLTests(unittest.TestCase):
def _registerTraverserFactory(self, traverser):
import zope.component
- gsm = zope.component.getGlobalSiteManager()
+ sm = zope.component.getSiteManager()
from repoze.bfg.interfaces import ITraverserFactory
from zope.interface import Interface
- gsm.registerAdapter(traverser, (Interface,), ITraverserFactory)
+ sm.registerAdapter(traverser, (Interface,), ITraverserFactory)
def test_class_conforms_to_IContextURL(self):
from zope.interface.verify import verifyClass
@@ -849,12 +849,12 @@ class TestVirtualRoot(unittest.TestCase):
return virtual_root(model, request)
def test_registered(self):
- from zope.component import getGlobalSiteManager
+ from zope.component import getSiteManager
from repoze.bfg.interfaces import IContextURL
from zope.interface import Interface
- gsm = getGlobalSiteManager()
- gsm.registerAdapter(DummyContextURL, (Interface,Interface),
- IContextURL)
+ sm = getSiteManager()
+ sm.registerAdapter(DummyContextURL, (Interface,Interface),
+ IContextURL)
context = DummyContext()
request = DummyRequest()
result = self._callFUT(context, request)
@@ -880,10 +880,10 @@ class TraverseTests(unittest.TestCase):
def _registerTraverserFactory(self, traverser):
import zope.component
- gsm = zope.component.getGlobalSiteManager()
+ sm = zope.component.getSiteManager()
from repoze.bfg.interfaces import ITraverserFactory
from zope.interface import Interface
- gsm.registerAdapter(traverser, (Interface,), ITraverserFactory)
+ sm.registerAdapter(traverser, (Interface,), ITraverserFactory)
def test_list(self):
model = DummyContext()
@@ -977,10 +977,10 @@ class UnderTraverseTests(unittest.TestCase):
def _registerTraverserFactory(self, traverser):
import zope.component
- gsm = zope.component.getGlobalSiteManager()
+ sm = zope.component.getSiteManager()
from repoze.bfg.interfaces import ITraverserFactory
from zope.interface import Interface
- gsm.registerAdapter(traverser, (Interface,), ITraverserFactory)
+ sm.registerAdapter(traverser, (Interface,), ITraverserFactory)
def test_default_traverser_factory(self):
context = DummyContext()
diff --git a/repoze/bfg/tests/test_url.py b/repoze/bfg/tests/test_url.py
index 1199328e3..6754f6f34 100644
--- a/repoze/bfg/tests/test_url.py
+++ b/repoze/bfg/tests/test_url.py
@@ -16,15 +16,15 @@ class ModelURLTests(unittest.TestCase):
def _registerContextURL(self):
from repoze.bfg.interfaces import IContextURL
from zope.interface import Interface
- from zope.component import getGlobalSiteManager
+ from zope.component import getSiteManager
class DummyContextURL(object):
def __init__(self, context, request):
pass
def __call__(self):
return 'http://example.com/context/'
- gsm = getGlobalSiteManager()
- gsm.registerAdapter(DummyContextURL, (Interface, Interface),
- IContextURL)
+ sm = getSiteManager()
+ sm.registerAdapter(DummyContextURL, (Interface, Interface),
+ IContextURL)
def test_root_default(self):
self._registerContextURL()
diff --git a/repoze/bfg/tests/test_view.py b/repoze/bfg/tests/test_view.py
index 8e2310c09..eee5a61bd 100644
--- a/repoze/bfg/tests/test_view.py
+++ b/repoze/bfg/tests/test_view.py
@@ -11,9 +11,9 @@ class BaseTest(object):
def _registerView(self, app, name, *for_):
import zope.component
- gsm = zope.component.getGlobalSiteManager()
+ sm = zope.component.getSiteManager()
from repoze.bfg.interfaces import IView
- gsm.registerAdapter(app, for_, IView, name)
+ sm.registerAdapter(app, for_, IView, name)
def _makeEnviron(self, **extras):
environ = {
@@ -466,8 +466,8 @@ class AppendSlashNotFoundView(unittest.TestCase):
return self.routelist
mapper = DummyMapper()
import zope.component
- gsm = zope.component.getGlobalSiteManager()
- gsm.registerUtility(mapper, IRoutesMapper)
+ sm = zope.component.getSiteManager()
+ sm.registerUtility(mapper, IRoutesMapper)
return mapper
def test_no_mapper(self):
diff --git a/repoze/bfg/tests/test_zcml.py b/repoze/bfg/tests/test_zcml.py
index 1f0fc44d8..d592fd902 100644
--- a/repoze/bfg/tests/test_zcml.py
+++ b/repoze/bfg/tests/test_zcml.py
@@ -1486,11 +1486,11 @@ class TestConnectRouteFunction(unittest.TestCase):
return connect_route(path, name, factory)
def _registerRoutesMapper(self):
- from zope.component import getGlobalSiteManager
- gsm = getGlobalSiteManager()
+ from zope.component import getSiteManager
+ sm = getSiteManager()
mapper = DummyMapper()
from repoze.bfg.interfaces import IRoutesMapper
- gsm.registerUtility(mapper, IRoutesMapper)
+ sm.registerUtility(mapper, IRoutesMapper)
return mapper
def test_defaults(self):