summaryrefslogtreecommitdiff
path: root/repoze/bfg/tests
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2009-06-02 18:40:52 +0000
committerChris McDonough <chrism@agendaless.com>2009-06-02 18:40:52 +0000
commitf0fd9d62c991afe0b125beb6d7f583be9500de84 (patch)
treeba0ac4df571b3a3448b73edc0b5ed7651d161577 /repoze/bfg/tests
parentdb0467ca526c07ab719de7e74c84882d3297ce83 (diff)
downloadpyramid-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.py11
-rw-r--r--repoze/bfg/tests/test_settings.py38
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):