[Repoze-dev] Repoze CVS: test_helper.py

Chris McDonough chrism at agendaless.com
Thu Sep 13 00:58:08 UTC 2007


Update of /home/repoze/cvs/repoze.zope2/repoze/zope2/tests
In directory laguna.palladion.com:/tmp/cvs-serv17270/repoze/zope2/tests

Modified Files:
	test_helper.py 
Log Message:
Add path_element method and tests.


Index: test_helper.py
===================================================================
RCS file: /home/repoze/cvs/repoze.zope2/repoze/zope2/tests/test_helper.py,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- test_helper.py	13 Sep 2007 00:02:54 -0000	1.2
+++ test_helper.py	13 Sep 2007 00:58:05 -0000	1.3
@@ -53,9 +53,20 @@
         self.assertEqual(helper.request, None)
 
     def test_setup(self):
+        from zope.security.management import queryInteraction
         helper = self._makeOne()
         helper.setup()
         self.assertEqual(helper.request['URL'], 'http://localhost:8080')
+        self.assertNotEqual(queryInteraction(), None)
+
+    def test_teardown(self):
+        from zope.security.management import queryInteraction
+        from zope.security.management import newInteraction
+        helper = self._makeOne()
+        newInteraction()
+        interaction = queryInteraction()
+        helper.teardown()
+        self.assertEqual(queryInteraction(), None)
 
     def test_invoke(self):
         published = DummyPublishedObject()
@@ -65,14 +76,36 @@
         helper.invoke(published)
         self.assertEqual(helper.request['URL'], 'http://localhost:8080')
 
-    def test_teardown(self):
-        from zope.security.management import queryInteraction
-        from zope.security.management import newInteraction
+    def test_path_elements_bad_name(self):
         helper = self._makeOne()
-        newInteraction()
-        interaction = queryInteraction()
-        helper.teardown()
-        self.assertEqual(queryInteraction(), None)
+        from paste.httpexceptions import HTTPNotFound
+        self.assertRaises(HTTPNotFound, helper.path_elements, '/REQUEST')
+        self.assertRaises(HTTPNotFound, helper.path_elements,'/foo/aq_self')
+        self.assertRaises(HTTPNotFound, helper.path_elements,'/foo/bar/aq_base')
+        
+    def test_path_elements_startswith_endswith(self):
+        helper = self._makeOne()
+        from paste.httpexceptions import HTTPNotFound
+        self.assertEqual(helper.path_elements('/foo/'), ['foo'])
+        self.assertEqual(helper.browser_path, '/foo/')
+
+    def test_path_elements_empty_elements(self):
+        helper = self._makeOne()
+        from paste.httpexceptions import HTTPNotFound
+        self.assertEqual(helper.path_elements('foo///'), ['foo'])
+        self.assertEqual(helper.browser_path, 'foo///')
+
+    def test_path_elements_onedot(self):
+        helper = self._makeOne()
+        from paste.httpexceptions import HTTPNotFound
+        self.assertEqual(helper.path_elements('foo/./bar'), ['foo', 'bar'])
+        self.assertEqual(helper.browser_path, 'foo/./bar')
+
+    def test_path_elements_twodots(self):
+        helper = self._makeOne()
+        from paste.httpexceptions import HTTPNotFound
+        self.assertEqual(helper.path_elements('foo/../bar'), ['bar'])
+        self.assertEqual(helper.browser_path, 'foo/../bar')
 
 class DummyHelper:
     def __init__(self, environ, config):

_______________________________________________
Repoze-dev mailing list
Repoze-dev at lists.repoze.org
http://lists.repoze.org/mailman/listinfo/repoze-dev



More information about the Repoze-dev mailing list