[z3-checkins] r5659 - z3/Five/branch/dc-experiments/tests

dreamcatcher at codespeak.net dreamcatcher at codespeak.net
Sat Jul 24 22:36:41 MEST 2004


Author: dreamcatcher
Date: Sat Jul 24 22:36:40 2004
New Revision: 5659

Modified:
   z3/Five/branch/dc-experiments/tests/test_security2.py
Log:

- Add tests for browser:resource security.



Modified: z3/Five/branch/dc-experiments/tests/test_security2.py
==============================================================================
--- z3/Five/branch/dc-experiments/tests/test_security2.py	(original)
+++ z3/Five/branch/dc-experiments/tests/test_security2.py	Sat Jul 24 22:36:40 2004
@@ -20,7 +20,7 @@
 class RestrictedPythonTest(ZopeTestCase.ZopeTestCase):
     """
     Test whether code is really restricted
-    
+
     Kind permission from Plone to use this.
     """
 
@@ -37,7 +37,7 @@
 
     def check(self, psbody):
         self.addPS('ps', body=psbody)
-        try: 
+        try:
             self.folder.ps()
         except (ImportError, Unauthorized), e:
             self.fail(e)
@@ -50,7 +50,7 @@
             pass
         else:
             self.fail("Authorized but shouldn't be")
-            
+
 view_names = [
     'eagle.txt',
     'falcon.html',
@@ -64,8 +64,14 @@
     'public_template_page',
     'public_template_class_page']
 
+resource_names = [
+    'cockatiel.html',
+    'style.css',
+    'pattern.png'
+    ]
+
 class SecurityTestCase(RestrictedPythonTest):
-    
+
     def afterSetUp(self):
         self.folder.manage_addProduct['FiveTest'].manage_addSimpleContent(
             'testoid', 'Testoid')
@@ -79,17 +85,31 @@
             self.checkUnauthorized(
                 'context.restrictedTraverse("testoid/%s")()' % view_name)
 
+    def test_resource_no_permission(self):
+        self.login('viewer')
+        for resource in resource_names:
+            self.checkUnauthorized(
+                'context.restrictedTraverse("testoid/++resource++%s")()' %
+                resource)
+
     def test_permission(self):
         self.login('manager')
         for view_name in view_names:
             self.check(
                 'context.restrictedTraverse("testoid/%s")()' % view_name)
 
+    def test_resource_permission(self):
+        self.login('manager')
+        for resource in resource_names:
+            self.check(
+                'context.restrictedTraverse("testoid/++resource++%s")()' %
+                resource)
+
     def test_public_permission(self):
         for view_name in public_view_names:
             self.check(
                 'context.restrictedTraverse("testoid/%s")()' % view_name)
-            
+
 class PublishTestCase(Functional, ZopeTestCase.ZopeTestCase):
     """A functional test for security actually involving the publisher.
     """
@@ -107,7 +127,7 @@
             # we expect that we get a 401 Unauthorized
             self.assertEqual(response.getStatus(), 401)
 
-            
+
     def test_permission(self):
         for view_name in view_names:
             response = self.publish('/test_folder_1_/testoid/%s' % view_name,
@@ -119,7 +139,7 @@
         for view_name in public_view_names:
             response = self.publish('/test_folder_1_/testoid/%s' % view_name)
             self.assertEqual(response.getStatus(), 200)
-            
+
 def test_suite():
     suite = unittest.TestSuite()
     suite.addTest(unittest.makeSuite(SecurityTestCase))


More information about the z3-checkins mailing list