diff options
| author | Chris McDonough <chrism@agendaless.com> | 2008-07-05 00:43:33 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2008-07-05 00:43:33 +0000 |
| commit | 1da614e3dab88f4a7ccf97630e808c1c119a0f90 (patch) | |
| tree | c7148708adeeb9b47af6f2ebc85844e941bb7a2f /repoze/bfg/tests/test_policy.py | |
| parent | 8f88693600edebb522b6d078691e72a0dcbdb287 (diff) | |
| download | pyramid-1da614e3dab88f4a7ccf97630e808c1c119a0f90.tar.gz pyramid-1da614e3dab88f4a7ccf97630e808c1c119a0f90.tar.bz2 pyramid-1da614e3dab88f4a7ccf97630e808c1c119a0f90.zip | |
policy -> traversal.
Diffstat (limited to 'repoze/bfg/tests/test_policy.py')
| -rw-r--r-- | repoze/bfg/tests/test_policy.py | 115 |
1 files changed, 0 insertions, 115 deletions
diff --git a/repoze/bfg/tests/test_policy.py b/repoze/bfg/tests/test_policy.py deleted file mode 100644 index 3623d43f5..000000000 --- a/repoze/bfg/tests/test_policy.py +++ /dev/null @@ -1,115 +0,0 @@ -import unittest - -from zope.component.testing import PlacelessSetup - -class SplitPathTests(unittest.TestCase): - def _getFUT(self): - from repoze.bfg.policy import split_path - return split_path - - def test_cleanPath_path_startswith_endswith(self): - f = self._getFUT() - self.assertEqual(f('/foo/'), ['foo']) - - def test_cleanPath_empty_elements(self): - f = self._getFUT() - self.assertEqual(f('foo///'), ['foo']) - - def test_cleanPath_onedot(self): - f = self._getFUT() - self.assertEqual(f('foo/./bar'), ['foo', 'bar']) - - def test_cleanPath_twodots(self): - f = self._getFUT() - self.assertEqual(f('foo/../bar'), ['bar']) - - def test_cleanPath_element_urllquoted(self): - f = self._getFUT() - self.assertEqual(f('/foo/space%20thing/bar'), ['foo', 'space thing', - 'bar']) - -class NaivePolicyTests(unittest.TestCase, PlacelessSetup): - def setUp(self): - PlacelessSetup.setUp(self) - - def tearDown(self): - PlacelessSetup.tearDown(self) - - def _getTargetClass(self): - from repoze.bfg.policy import NaiveTraversalPolicy - return NaiveTraversalPolicy - - def _makeOne(self, *arg, **kw): - import zope.component - gsm = zope.component.getGlobalSiteManager() - from repoze.bfg.interfaces import ITraverser - gsm.registerAdapter(DummyTraverser, (None,), ITraverser, '') - klass = self._getTargetClass() - return klass(*arg, **kw) - - def test_class_conforms_to_IPolicy(self): - from zope.interface.verify import verifyClass - from repoze.bfg.interfaces import ITraversalPolicy - verifyClass(ITraversalPolicy, self._getTargetClass()) - - def test_instance_conforms_to_IPolicy(self): - from zope.interface.verify import verifyObject - from repoze.bfg.interfaces import ITraversalPolicy - verifyObject(ITraversalPolicy, self._makeOne()) - - def test_call_nonkeyerror_raises(self): - policy = self._makeOne() - environ = {'PATH_INFO':'/foo'} - root = None - self.assertRaises(TypeError, policy, environ, root) - - def test_call_withconn_getitem_emptypath_nosubpath(self): - policy = self._makeOne() - context = DummyContext() - environ = {'PATH_INFO':''} - root = context - ctx, name, subpath = policy(environ, root) - self.assertEqual(context, ctx) - self.assertEqual(name, '') - self.assertEqual(subpath, []) - - def test_call_withconn_getitem_withpath_nosubpath(self): - policy = self._makeOne() - context = DummyContext() - context2 = DummyContext(context) - environ = {'PATH_INFO':'/foo/bar'} - root = context - ctx, name, subpath = policy(environ, root) - self.assertEqual(context, ctx) - self.assertEqual(name, 'bar') - self.assertEqual(subpath, []) - - def test_call_withconn_getitem_withpath_withsubpath(self): - policy = self._makeOne() - context = DummyContext() - context2 = DummyContext(context) - environ = {'PATH_INFO':'/foo/bar/baz/buz'} - root = context - ctx, name, subpath = policy(environ, root) - self.assertEqual(context, ctx) - self.assertEqual(name, 'bar') - self.assertEqual(subpath, ['baz', 'buz']) - -class DummyContext: - def __init__(self, next=None): - self.next = next - - def __getitem__(self, name): - if self.next is None: - raise KeyError, name - return self.next - -class DummyTraverser: - def __init__(self, context): - self.context = context - - def __call__(self, environ, name): - try: - return self.context[name] - except KeyError: - return None |
