summaryrefslogtreecommitdiff
path: root/repoze/bfg/tests/test_policy.py
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2008-07-05 00:43:33 +0000
committerChris McDonough <chrism@agendaless.com>2008-07-05 00:43:33 +0000
commit1da614e3dab88f4a7ccf97630e808c1c119a0f90 (patch)
treec7148708adeeb9b47af6f2ebc85844e941bb7a2f /repoze/bfg/tests/test_policy.py
parent8f88693600edebb522b6d078691e72a0dcbdb287 (diff)
downloadpyramid-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.py115
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