[Zope-Checkins] SVN: Zope/trunk/src/Testing/ZopeTestCase/ Avoid a dependency on PythonScripts in ZopeTestCase

Hanno Schlichting hannosch at hannosch.eu
Sat Jul 10 07:13:04 EDT 2010


Log message for revision 114502:
  Avoid a dependency on PythonScripts in ZopeTestCase
  

Changed:
  U   Zope/trunk/src/Testing/ZopeTestCase/testFunctional.py
  D   Zope/trunk/src/Testing/ZopeTestCase/testPythonScript.py
  U   Zope/trunk/src/Testing/ZopeTestCase/zopedoctest/FunctionalDocTest.txt
  U   Zope/trunk/src/Testing/ZopeTestCase/zopedoctest/testFunctionalDocTest.py

-=-
Modified: Zope/trunk/src/Testing/ZopeTestCase/testFunctional.py
===================================================================
--- Zope/trunk/src/Testing/ZopeTestCase/testFunctional.py	2010-07-10 11:11:55 UTC (rev 114501)
+++ Zope/trunk/src/Testing/ZopeTestCase/testFunctional.py	2010-07-10 11:13:04 UTC (rev 114502)
@@ -20,8 +20,6 @@
 
 from Testing import ZopeTestCase
 
-ZopeTestCase.installProduct('PythonScripts')
-
 from Testing.ZopeTestCase import user_name
 from Testing.ZopeTestCase import user_password
 
@@ -48,10 +46,6 @@
         self.folder.addDTMLDocument('secret_html', file='secret')
         self.folder.secret_html.manage_permission(view, ['Owner'])
 
-        # A Python Script performing integer computation
-        self.folder.manage_addProduct['PythonScripts'].manage_addPythonScript('script')
-        self.folder.script.ZPythonScript_edit(params='a=0', body='return a+1')
-
         # A method redirecting to the Zope root
         redirect = '''<dtml-call "RESPONSE.redirect('%s')">''' % self.app.absolute_url()
         self.folder.addDTMLMethod('redirect', file=redirect)
@@ -74,20 +68,6 @@
         self.assertEqual(response.getStatus(), 200)
         self.assertEqual(response.getBody(), 'index')
 
-    def testPublishScript(self):
-        response = self.publish(self.folder_path+'/script')
-        self.assertEqual(response.getStatus(), 200)
-        self.assertEqual(response.getBody(), '1')
-
-    def testPublishScriptWithArgument(self):
-        response = self.publish(self.folder_path+'/script?a:int=2')
-        self.assertEqual(response.getStatus(), 200)
-        self.assertEqual(response.getBody(), '3')
-
-    def testServerError(self):
-        response = self.publish(self.folder_path+'/script?a=2')
-        self.assertEqual(response.getStatus(), 500)
-
     def testUnauthorized(self):
         response = self.publish(self.folder_path+'/secret_html')
         self.assertEqual(response.getStatus(), 401)
@@ -191,7 +171,7 @@
         self.assertEqual(getSecurityManager().getUser().getId(), user_name)
 
         self.folder.acl_users.userFolderAddUser('barney', 'secret', [], [])
-        response = self.publish(self.folder_path, basic='barney:secret')
+        self.publish(self.folder_path, basic='barney:secret')
 
         self.assertEqual(getSecurityManager().getUser().getId(), user_name)
 

Deleted: Zope/trunk/src/Testing/ZopeTestCase/testPythonScript.py
===================================================================
--- Zope/trunk/src/Testing/ZopeTestCase/testPythonScript.py	2010-07-10 11:11:55 UTC (rev 114501)
+++ Zope/trunk/src/Testing/ZopeTestCase/testPythonScript.py	2010-07-10 11:13:04 UTC (rev 114502)
@@ -1,195 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2005 Zope Foundation and Contributors.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-##############################################################################
-"""Example ZopeTestCase testing a PythonScript in the default fixture
-
-This test module demonstrates the security API of ZopeTestCase.
-
-Note that you are encouraged to call any of the following methods to
-modify the test user's security credentials:
-
-    setRoles()
-    setPermissions()
-    login()
-    logout()
-
-$Id$
-"""
-
-from Testing import ZopeTestCase
-
-ZopeTestCase.installProduct('PythonScripts')
-
-from AccessControl import Unauthorized
-from AccessControl import getSecurityManager
-
-access_permissions = ['View management screens']
-change_permissions = ['Change Python Scripts']
-
-ps_params1 = 'a=1'
-ps_body1 = 'return a'
-ps_params2 = 'a'
-ps_body2 = 'return a+1'
-
-
-class TestPythonScript(ZopeTestCase.ZopeTestCase):
-    '''Tries various things allowed by the ZopeTestCase API.'''
-
-    def afterSetUp(self):
-        '''Adds a PythonScript object to the default fixture'''
-        dispatcher = self.folder.manage_addProduct['PythonScripts']
-        dispatcher.manage_addPythonScript('ps')
-        self.ps = self.folder['ps']
-        self.ps.ZPythonScript_edit(ps_params1, ps_body1)
-
-    # Test the setup
-
-    def testSetup(self):
-        # The PythonScript should exist and be properly set up
-        self.failUnless(hasattr(self.folder, 'ps'))
-        self.assertEqual(self.ps.body(), ps_body1+'\n')
-        self.assertEqual(self.ps.params(), ps_params1)
-        owner = self.ps.getOwner()
-        self.assertEqual(owner.getUserName(), ZopeTestCase.user_name)
-
-    # Test the script(s)
-
-    def testCanCallScript1WithArgument(self):
-        # PythonScript should return 2
-        self.assertEqual(self.ps(2), 2)
-
-    def testCanCallScript1WithoutArgument(self):
-        # PythonScript should return 1
-        self.assertEqual(self.ps(), 1)
-
-    def testCanCallScript2WithArgument(self):
-        # PythonScript should return 2
-        self.ps.ZPythonScript_edit(ps_params2, ps_body2)
-        self.assertEqual(self.ps(1), 2)
-
-    def testCannotCallScript2WithoutArgument(self):
-        # PythonScript should raise a TypeError if called without arguments
-        self.ps.ZPythonScript_edit(ps_params2, ps_body2)
-        self.assertRaises(TypeError, self.ps, ())
-
-    # Test access protection with restrictedTraverse
-
-    def testCannotAccessWithoutAccessPermission(self):
-        # manage_main should be protected
-        self.assertRaises(Unauthorized, self.ps.restrictedTraverse, 'manage_main')
-
-    def testCanAccessWithAccessPermission(self):
-        # manage_main should be accessible if we have the necessary permissions
-        self.setPermissions(access_permissions)
-        try:
-            self.ps.restrictedTraverse('manage_main')
-        except Unauthorized:
-            self.fail('Access to manage_main was denied')
-
-    def testCannotAccessIfAnonymous(self):
-        # manage_main should be protected from Anonymous
-        self.logout()
-        self.assertRaises(Unauthorized, self.ps.restrictedTraverse, 'manage_main')
-
-    def testCanAccessIfManager(self):
-        # manage_main should be accessible to Manager
-        self.setRoles(['Manager'])
-        try:
-            self.ps.restrictedTraverse('manage_main')
-        except Unauthorized:
-            self.fail('Access to manage_main was denied to Manager')
-
-    # Test access protection with SecurityManager
-
-    def testCannotAccessWithoutAccessPermissionSecurityManager(self):
-        # manage_main should be protected
-        self.assertRaises(Unauthorized, getSecurityManager().validate,
-                          self.ps, self.ps, 'manage_main', self.ps.manage_main)
-
-    def testCanAccessWithAccessPermissionSecurityManager(self):
-        # manage_main should be accessible if we have the necessary permissions
-        self.setPermissions(access_permissions)
-        try:
-            getSecurityManager().validate(self.ps, self.ps, 'manage_main', self.ps.manage_main)
-        except Unauthorized:
-            self.fail('Access to manage_main was denied')
-
-    def testCannotAccessIfAnonymousSecurityManager(self):
-        # manage_main should be protected from Anonymous
-        self.logout()
-        self.assertRaises(Unauthorized, getSecurityManager().validate,
-                          self.ps, self.ps, 'manage_main', self.ps.manage_main)
-
-    def testCanAccessIfManagerSecurityManager(self):
-        # manage_main should be accessible to Manager
-        self.setRoles(['Manager'])
-        try:
-            getSecurityManager().validate(self.ps, self.ps, 'manage_main', self.ps.manage_main)
-        except Unauthorized:
-            self.fail('Access to manage_main was denied to Manager')
-
-    # Test edit protection with restrictedTraverse
-
-    def testCannotEditWithoutChangePermission(self):
-        # PythonScript should not be editable
-        try:
-            self.ps.restrictedTraverse('ZPythonScript_edit')(ps_params2, ps_body2)
-        except Unauthorized:
-            pass    # Test passed
-        else:
-            self.assertEqual(self.ps.body(), ps_body2+'\n', 
-                    'ZPythonScript_edit was not protected')
-            self.assertEqual(self.ps.body(), ps_body1+'\n', 
-                    'ZPythonScript_edit was protected but no exception was raised')
-
-    def testCanEditWithChangePermission(self):
-        # PythonScript should be editable if we have the necessary permissions
-        self.setPermissions(change_permissions)
-        try:
-            self.ps.restrictedTraverse('ZPythonScript_edit')(ps_params2, ps_body2)
-        except Unauthorized:
-            self.fail('Access to ZPythonScript_edit was denied')
-        else:
-            self.assertEqual(self.ps.body(), ps_body2+'\n')
-            self.assertEqual(self.ps.params(), ps_params2)
-
-    def testCannotEditIfAnonymous(self):
-        # PythonScript should not be editable by Anonymous
-        self.logout()
-        try:
-            self.ps.restrictedTraverse('ZPythonScript_edit')(ps_params2, ps_body2)
-        except Unauthorized:
-            pass    # Test passed
-        else:
-            self.assertEqual(self.ps.body(), ps_body2+'\n', 
-                    'ZPythonScript_edit was not protected')
-            self.assertEqual(self.ps.body(), ps_body1+'\n', 
-                    'ZPythonScript_edit was protected but no exception was raised')
-
-    def testCanEditIfManager(self):
-        # PythonScript should be editable by Manager
-        self.setRoles(['Manager'])
-        try:
-            self.ps.restrictedTraverse('ZPythonScript_edit')(ps_params2, ps_body2)
-        except Unauthorized:
-            self.fail('Access to ZPythonScript_edit was denied to Manager')
-        else:
-            self.assertEqual(self.ps.body(), ps_body2+'\n')
-            self.assertEqual(self.ps.params(), ps_params2)
-
-
-def test_suite():
-    from unittest import TestSuite, makeSuite
-    suite = TestSuite()
-    suite.addTest(makeSuite(TestPythonScript))
-    return suite
-

Modified: Zope/trunk/src/Testing/ZopeTestCase/zopedoctest/FunctionalDocTest.txt
===================================================================
--- Zope/trunk/src/Testing/ZopeTestCase/zopedoctest/FunctionalDocTest.txt	2010-07-10 11:11:55 UTC (rev 114501)
+++ Zope/trunk/src/Testing/ZopeTestCase/zopedoctest/FunctionalDocTest.txt	2010-07-10 11:13:04 UTC (rev 114502)
@@ -86,36 +86,6 @@
   <BLANKLINE>
   index
 
-Test Publish Script
-
-  >>> print http(r"""
-  ... GET /test_folder_1_/script HTTP/1.1
-  ... """, handle_errors=False)
-  HTTP/1.1 200 OK
-  Content-Length: 1
-  Content-Type: text/plain; charset=...
-  <BLANKLINE>
-  1
-
-Test Publish Script with Argument
-
-  >>> print http(r"""
-  ... GET /test_folder_1_/script?a:int=2 HTTP/1.1
-  ... """, handle_errors=False)
-  HTTP/1.1 200 OK
-  Content-Length: 1
-  Content-Type: text/plain; charset=...
-  <BLANKLINE>
-  3
-
-Test Server Error
-
-  >>> print http(r"""
-  ... GET /test_folder_1_/script?a=2 HTTP/1.1
-  ... """, handle_errors=True)
-  HTTP/1.1 500 Internal Server Error
-  ...Content-Type: text/html...TypeError...
-
 Test parameter containing an additional '?'
 
   >>> print http(r"""

Modified: Zope/trunk/src/Testing/ZopeTestCase/zopedoctest/testFunctionalDocTest.py
===================================================================
--- Zope/trunk/src/Testing/ZopeTestCase/zopedoctest/testFunctionalDocTest.py	2010-07-10 11:11:55 UTC (rev 114501)
+++ Zope/trunk/src/Testing/ZopeTestCase/zopedoctest/testFunctionalDocTest.py	2010-07-10 11:13:04 UTC (rev 114502)
@@ -14,11 +14,9 @@
 """
 import unittest
 
-from Testing.ZopeTestCase import installProduct
 from Testing.ZopeTestCase import FunctionalDocTestSuite
 from Testing.ZopeTestCase import FunctionalDocFileSuite
 
-installProduct('PythonScripts')
 
 class HTTPHeaderOutputTests(unittest.TestCase):
 
@@ -108,9 +106,6 @@
     '''
     self.folder.addDTMLDocument('index_html', file='index')
 
-    self.folder.manage_addProduct['PythonScripts'].manage_addPythonScript('script')
-    self.folder.script.ZPythonScript_edit(params='a=0', body='return a+1')
-
     change_title = '''<dtml-call "manage_changeProperties(title=REQUEST.get('title'))">'''
     self.folder.addDTMLMethod('change_title', file=change_title)
 



More information about the Zope-Checkins mailing list