summaryrefslogtreecommitdiff
path: root/repoze/bfg/tests
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2009-11-19 10:44:55 +0000
committerChris McDonough <chrism@agendaless.com>2009-11-19 10:44:55 +0000
commiteac7c470021b647d63c2e2af8acd6cebd738f2a4 (patch)
tree6d04102c9442c0dd67a26d002ff89ae51b454993 /repoze/bfg/tests
parent4dd55a50a7ed559748661f369313030773d13e75 (diff)
downloadpyramid-eac7c470021b647d63c2e2af8acd6cebd738f2a4.tar.gz
pyramid-eac7c470021b647d63c2e2af8acd6cebd738f2a4.tar.bz2
pyramid-eac7c470021b647d63c2e2af8acd6cebd738f2a4.zip
Rearrange things to try to avoid circular import deps.
Diffstat (limited to 'repoze/bfg/tests')
-rw-r--r--repoze/bfg/tests/test_configuration.py63
-rw-r--r--repoze/bfg/tests/test_router.py70
-rw-r--r--repoze/bfg/tests/test_traversal.py24
3 files changed, 62 insertions, 95 deletions
diff --git a/repoze/bfg/tests/test_configuration.py b/repoze/bfg/tests/test_configuration.py
index 1916fe11d..a1f60a91f 100644
--- a/repoze/bfg/tests/test_configuration.py
+++ b/repoze/bfg/tests/test_configuration.py
@@ -38,7 +38,7 @@ class ConfiguratorTests(unittest.TestCase):
def _callDefaultConfiguration(self, *arg, **kw):
inst = self._makeOne()
- inst.default_configuration(*arg, **kw)
+ inst.declarative(*arg, **kw)
return inst.reg
def _getRouteRequestIface(self, config, name):
@@ -292,7 +292,7 @@ class ConfiguratorTests(unittest.TestCase):
request.params = {'param':'1'}
self.assertEqual(wrapper(ctx, request), 'view8')
- def test_view_with_relative_template_renderer(self):
+ def test_view_with_template_renderer(self):
class view(object):
def __init__(self, context, request):
self.request = request
@@ -302,24 +302,24 @@ class ConfiguratorTests(unittest.TestCase):
return {'a':'1'}
config = self._makeOne()
renderer = self._registerRenderer(config)
- fixture = 'fixtures/minimal.txt'
+ fixture = 'repoze.bfg.tests:fixtures/minimal.txt'
config.view(view=view, renderer=fixture)
wrapper = self._getViewCallable(config)
request = DummyRequest()
result = wrapper(None, request)
self.assertEqual(result.body, 'Hello!')
- self.assertEqual(renderer.path, 'fixtures/minimal.txt')
+ self.assertEqual(renderer.path, 'repoze.bfg.tests:fixtures/minimal.txt')
- def test_view_with_relative_template_renderer_no_callable(self):
+ def test_view_with_template_renderer_no_callable(self):
config = self._makeOne()
renderer = self._registerRenderer(config)
- fixture = 'fixtures/minimal.txt'
+ fixture = 'repoze.bfg.tests:fixtures/minimal.txt'
config.view(view=None, renderer=fixture)
wrapper = self._getViewCallable(config)
request = DummyRequest()
result = wrapper(None, request)
self.assertEqual(result.body, 'Hello!')
- self.assertEqual(renderer.path, 'fixtures/minimal.txt')
+ self.assertEqual(renderer.path, 'repoze.bfg.tests:fixtures/minimal.txt')
def test_view_with_request_type_as_iface(self):
def view(context, request):
@@ -1162,43 +1162,36 @@ class ConfiguratorTests(unittest.TestCase):
self.failUnless(registry.queryUtility(IFixture)) # only in c.zcml
def test_default_config_fixtureapp_explicit_filename(self):
- manager = DummyRegistryManager()
from repoze.bfg.tests import fixtureapp
rootfactory = DummyRootFactory(None)
registry = self._callDefaultConfiguration(
- rootfactory, fixtureapp, filename='another.zcml',
- manager=manager)
+ rootfactory, fixtureapp, filename='another.zcml')
from repoze.bfg.tests.fixtureapp.models import IFixture
self.failIf(registry.queryUtility(IFixture)) # only in c.zcml
def test_default_config_fixtureapp_explicit_filename_in_settings(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._callDefaultConfiguration(
rootfactory, fixtureapp, filename='configure.zcml',
- settings={'configure_zcml':zcmlfile},
- manager=manager)
+ settings={'configure_zcml':zcmlfile})
from repoze.bfg.tests.fixtureapp.models import IFixture
self.failIf(registry.queryUtility(IFixture)) # only in c.zcml
def test_default_config_fixtureapp_explicit_specification_in_settings(self):
- manager = DummyRegistryManager()
rootfactory = DummyRootFactory(None)
from repoze.bfg.tests import fixtureapp
zcmlfile = 'repoze.bfg.tests.fixtureapp.subpackage:yetanother.zcml'
registry = self._callDefaultConfiguration(
rootfactory, fixtureapp, filename='configure.zcml',
- settings={'configure_zcml':zcmlfile},
- manager=manager)
+ settings={'configure_zcml':zcmlfile})
from repoze.bfg.tests.fixtureapp.models import IFixture
self.failIf(registry.queryUtility(IFixture)) # only in c.zcml
def test_default_config_fixtureapp_filename_hascolon_isabs(self):
- manager = DummyRegistryManager()
rootfactory = DummyRootFactory(None)
from repoze.bfg.tests import fixtureapp
zcmlfile = 'repoze.bfg.tests.fixtureapp.subpackage:yetanother.zcml'
@@ -1212,32 +1205,28 @@ class ConfiguratorTests(unittest.TestCase):
fixtureapp,
filename='configure.zcml',
settings={'configure_zcml':zcmlfile},
- manager=manager,
os=os)
def test_default_config_custom_settings(self):
- manager = DummyRegistryManager()
settings = {'mysetting':True}
from repoze.bfg.tests import fixtureapp
rootfactory = DummyRootFactory(None)
registry = self._callDefaultConfiguration(
- rootfactory, fixtureapp, settings=settings,
- manager=manager)
+ rootfactory, fixtureapp, settings=settings)
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_default_config_registrations(self):
+ def test_declarative_registrations(self):
manager = DummyRegistryManager()
settings = {'reload_templates':True,
'debug_authorization':True}
from repoze.bfg.tests import fixtureapp
rootfactory = DummyRootFactory(None)
registry = self._callDefaultConfiguration(
- rootfactory, fixtureapp, settings=settings,
- manager=manager)
+ rootfactory, fixtureapp, settings=settings)
from repoze.bfg.interfaces import ISettings
from repoze.bfg.interfaces import ILogger
from repoze.bfg.interfaces import IRootFactory
@@ -1248,7 +1237,6 @@ class ConfiguratorTests(unittest.TestCase):
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_default_config_routes_in_config(self):
from repoze.bfg.interfaces import ISettings
@@ -1325,31 +1313,6 @@ class TestBFGViewGrokker(unittest.TestCase):
result = grokker.grok('name', obj)
self.assertEqual(result, False)
-class TestDefaultRootFactory(unittest.TestCase):
- def _getTargetClass(self):
- from repoze.bfg.configuration import DefaultRootFactory
- return DefaultRootFactory
-
- def _makeOne(self, environ):
- return self._getTargetClass()(environ)
-
- def test_no_matchdict(self):
- environ = {}
- root = self._makeOne(environ)
- self.assertEqual(root.__parent__, None)
- self.assertEqual(root.__name__, None)
-
- def test_matchdict(self):
- class DummyRequest:
- pass
- request = DummyRequest()
- request.matchdict = {'a':1, 'b':2}
- root = self._makeOne(request)
- self.assertEqual(root.a, 1)
- self.assertEqual(root.b, 2)
-
-
-
class DummyRequest:
pass
diff --git a/repoze/bfg/tests/test_router.py b/repoze/bfg/tests/test_router.py
index 3321af938..f3fe6dd70 100644
--- a/repoze/bfg/tests/test_router.py
+++ b/repoze/bfg/tests/test_router.py
@@ -528,46 +528,26 @@ class TestMakeApp(unittest.TestCase):
return make_app(*arg, **kw)
def test_it(self):
- from repoze.bfg.interfaces import IWSGIApplicationCreatedEvent
- from repoze.bfg.tests import fixtureapp
- from zope.component import getSiteManager
- sm = getSiteManager()
- def subscriber(event):
- event.app.created = True
- manager = DummyRegistryManager()
- sm.registerHandler(subscriber, (IWSGIApplicationCreatedEvent,))
- rootfactory = DummyRootFactory(None)
settings = {'a':1}
- app = self._callFUT(rootfactory, fixtureapp, settings=settings,
- Configurator=DummyConfigurator, manager=manager)
- self.failUnless(app.created)
- self.failUnless(manager.pushed)
- self.failUnless(manager.popped)
- self.assertEqual(app.registry.root_factory, rootfactory)
- self.assertEqual(app.registry.settings, settings)
- self.assertEqual(app.registry.package, fixtureapp)
- self.assertEqual(app.registry.filename, 'configure.zcml')
+ package = object()
+ rootfactory = object()
+ app = self._callFUT(rootfactory, package, settings=settings,
+ Configurator=DummyConfigurator)
+ self.assertEqual(app.root_factory, rootfactory)
+ self.assertEqual(app.settings, settings)
+ self.assertEqual(app.package, package)
+ self.assertEqual(app.filename, 'configure.zcml')
def test_it_options_means_settings(self):
- from repoze.bfg.interfaces import IWSGIApplicationCreatedEvent
- from repoze.bfg.tests import fixtureapp
- from zope.component import getSiteManager
- sm = getSiteManager()
- def subscriber(event):
- event.app.created = True
- manager = DummyRegistryManager()
- sm.registerHandler(subscriber, (IWSGIApplicationCreatedEvent,))
- rootfactory = DummyRootFactory(None)
settings = {'a':1}
- app = self._callFUT(rootfactory, fixtureapp, options=settings,
- Configurator=DummyConfigurator, manager=manager)
- self.failUnless(app.created)
- self.failUnless(manager.pushed)
- self.failUnless(manager.popped)
- self.assertEqual(app.registry.root_factory, rootfactory)
- self.assertEqual(app.registry.settings, settings)
- self.assertEqual(app.registry.package, fixtureapp)
- self.assertEqual(app.registry.filename, 'configure.zcml')
+ package = object()
+ rootfactory = object()
+ app = self._callFUT(rootfactory, package, options=settings,
+ Configurator=DummyConfigurator)
+ self.assertEqual(app.root_factory, rootfactory)
+ self.assertEqual(app.settings, settings)
+ self.assertEqual(app.package, package)
+ self.assertEqual(app.filename, 'configure.zcml')
class DummyContext:
pass
@@ -640,13 +620,13 @@ class DummyRegistryManager:
self.popped = True
class DummyConfigurator(object):
- def __init__(self, registry):
- self.registry = registry
-
- def default_configuration(self, root_factory=None, package=None,
- filename=None, settings=None):
- self.registry.root_factory = root_factory
- self.registry.package = package
- self.registry.filename = filename
- self.registry.settings = settings
+ def make_wsgi_app(self):
+ return self
+
+ def declarative(self, root_factory=None, package=None,
+ filename=None, settings=None):
+ self.root_factory = root_factory
+ self.package = package
+ self.filename = filename
+ self.settings = settings
diff --git a/repoze/bfg/tests/test_traversal.py b/repoze/bfg/tests/test_traversal.py
index aceed1076..a15716d4c 100644
--- a/repoze/bfg/tests/test_traversal.py
+++ b/repoze/bfg/tests/test_traversal.py
@@ -970,6 +970,30 @@ class TraverseTests(unittest.TestCase):
self.assertEqual(result['view_name'], '')
self.assertEqual(result['context'], model)
+class TestDefaultRootFactory(unittest.TestCase):
+ def _getTargetClass(self):
+ from repoze.bfg.traversal import DefaultRootFactory
+ return DefaultRootFactory
+
+ def _makeOne(self, environ):
+ return self._getTargetClass()(environ)
+
+ def test_no_matchdict(self):
+ environ = {}
+ root = self._makeOne(environ)
+ self.assertEqual(root.__parent__, None)
+ self.assertEqual(root.__name__, None)
+
+ def test_matchdict(self):
+ class DummyRequest:
+ pass
+ request = DummyRequest()
+ request.matchdict = {'a':1, 'b':2}
+ root = self._makeOne(request)
+ self.assertEqual(root.a, 1)
+ self.assertEqual(root.b, 2)
+
+
def make_traverser(result):
class DummyTraverser(object):
def __init__(self, context):