diff options
| author | Chris McDonough <chrism@agendaless.com> | 2009-06-02 18:40:52 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2009-06-02 18:40:52 +0000 |
| commit | f0fd9d62c991afe0b125beb6d7f583be9500de84 (patch) | |
| tree | ba0ac4df571b3a3448b73edc0b5ed7651d161577 /repoze/bfg/tests | |
| parent | db0467ca526c07ab719de7e74c84882d3297ce83 (diff) | |
| download | pyramid-f0fd9d62c991afe0b125beb6d7f583be9500de84.tar.gz pyramid-f0fd9d62c991afe0b125beb6d7f583be9500de84.tar.bz2 pyramid-f0fd9d62c991afe0b125beb6d7f583be9500de84.zip | |
- Add API named ``repoze.bfg.settings.get_settings`` which retrieves a
derivation of values passed as the ``options`` value of
``repoze.bfg.router.make_app``. This API should be preferred
instead of using getUtility(ISettings). I added a new
``repoze.bfg.settings`` API document as well.
Diffstat (limited to 'repoze/bfg/tests')
| -rw-r--r-- | repoze/bfg/tests/test_router.py | 11 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_settings.py | 38 |
2 files changed, 40 insertions, 9 deletions
diff --git a/repoze/bfg/tests/test_router.py b/repoze/bfg/tests/test_router.py index d07efcc69..6e18f6089 100644 --- a/repoze/bfg/tests/test_router.py +++ b/repoze/bfg/tests/test_router.py @@ -798,6 +798,17 @@ class MakeAppTests(unittest.TestCase): app = self._callFUT(rootpolicy, fixtureapp) assert app.created is True + def test_custom_settings(self): + options= {'mysetting':True} + from repoze.bfg.tests import fixtureapp + rootpolicy = make_rootfactory(None) + app = self._callFUT(rootpolicy, fixtureapp, options=options) + 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): options= {'reload_templates':True, 'debug_authorization':True} diff --git a/repoze/bfg/tests/test_settings.py b/repoze/bfg/tests/test_settings.py index 97fe9d026..903a23f5d 100644 --- a/repoze/bfg/tests/test_settings.py +++ b/repoze/bfg/tests/test_settings.py @@ -1,4 +1,5 @@ import unittest +from repoze.bfg.testing import cleanUp class TestSettings(unittest.TestCase): def _getTargetClass(self): @@ -9,17 +10,36 @@ class TestSettings(unittest.TestCase): klass = self._getTargetClass() return klass(options) - def test_no_options(self): - settings = self._makeOne() + def test_getattr(self): + settings = self._makeOne(reload_templates=False) self.assertEqual(settings.reload_templates, False) - self.assertEqual(settings.debug_notfound, False) - self.assertEqual(settings.debug_authorization, False) - def test_with_option(self): - settings = self._makeOne(reload_templates=True) - self.assertEqual(settings.reload_templates, True) - self.assertEqual(settings.debug_notfound, False) - self.assertEqual(settings.debug_authorization, False) + def test_getattr_raises_attribute_error(self): + settings = self._makeOne() + self.assertRaises(AttributeError, settings.__getattr__, + 'reload_templates' + ) + +class TestGetSettings(unittest.TestCase): + def setUp(self): + cleanUp() + + def tearDown(self): + cleanUp() + + def _callFUT(self): + from repoze.bfg.settings import get_settings + return get_settings() + + def test_it_nosettings(self): + self.assertEqual(self._callFUT(), None) + + def test_it_withsettings(self): + from repoze.bfg.interfaces import ISettings + from zope.component import provideUtility + settings = {'a':1} + provideUtility(settings, ISettings) + self.assertEqual(self._callFUT(), settings) class TestGetOptions(unittest.TestCase): def _callFUT(self, *arg, **kw): |
