From cd4efecf7f3af0fe35e279436889c76dd5d5843e Mon Sep 17 00:00:00 2001 From: Hanno Schlichting <hanno@hannosch.eu> Date: Wed, 27 Aug 2008 14:05:44 +0000 Subject: [PATCH] Remove tests that depend on the presence of the Examples.zexp --- lib/python/Testing/ZopeTestCase/doc/HOWTO.stx | 3 - .../Testing/ZopeTestCase/testBaseTestCase.py | 5 +- .../ZopeTestCase/testPortalTestCase.py | 5 +- .../Testing/ZopeTestCase/testShoppingCart.py | 143 ------------------ .../Testing/ZopeTestCase/testZopeTestCase.py | 5 +- 5 files changed, 6 insertions(+), 155 deletions(-) delete mode 100644 lib/python/Testing/ZopeTestCase/testShoppingCart.py diff --git a/lib/python/Testing/ZopeTestCase/doc/HOWTO.stx b/lib/python/Testing/ZopeTestCase/doc/HOWTO.stx index f160d6d0c..12e711e39 100644 --- a/lib/python/Testing/ZopeTestCase/doc/HOWTO.stx +++ b/lib/python/Testing/ZopeTestCase/doc/HOWTO.stx @@ -178,9 +178,6 @@ Writing Tests It demonstrates how to manipulate the test user's roles and permissions and how security is validated. - - **'testShoppingCart.py'** tests the ShoppingCart example. This test - uses Sessions and shows how to test a TTW Zope application. - - **'testFunctional.py'** demonstrates the new functional testing features. Tests may call 'self.publish()' to simulate URL calls to the ZPublisher. diff --git a/lib/python/Testing/ZopeTestCase/testBaseTestCase.py b/lib/python/Testing/ZopeTestCase/testBaseTestCase.py index a6dec5356..013bd6ccd 100644 --- a/lib/python/Testing/ZopeTestCase/testBaseTestCase.py +++ b/lib/python/Testing/ZopeTestCase/testBaseTestCase.py @@ -15,9 +15,8 @@ NOTE: This is *not* an example TestCase. Do not use this file as a blueprint for your own tests! -See testPythonScript.py and testShoppingCart.py for -example test cases. See testSkeleton.py for a quick -way of getting started. +See testPythonScript.py for example test cases. See testSkeleton.py for a +quick way of getting started. $Id$ """ diff --git a/lib/python/Testing/ZopeTestCase/testPortalTestCase.py b/lib/python/Testing/ZopeTestCase/testPortalTestCase.py index 40cb2a3d5..d312ecb0b 100644 --- a/lib/python/Testing/ZopeTestCase/testPortalTestCase.py +++ b/lib/python/Testing/ZopeTestCase/testPortalTestCase.py @@ -15,9 +15,8 @@ NOTE: This is *not* an example TestCase. Do not use this file as a blueprint for your own tests! -See testPythonScript.py and testShoppingCart.py for -example test cases. See testSkeleton.py for a quick -way of getting started. +See testPythonScript.py for example test cases. See testSkeleton.py for a +quick way of getting started. $Id$ """ diff --git a/lib/python/Testing/ZopeTestCase/testShoppingCart.py b/lib/python/Testing/ZopeTestCase/testShoppingCart.py deleted file mode 100644 index 05999315e..000000000 --- a/lib/python/Testing/ZopeTestCase/testShoppingCart.py +++ /dev/null @@ -1,143 +0,0 @@ -############################################################################## -# -# Copyright (c) 2005 Zope Corporation and Contributors. All Rights Reserved. -# -# 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 the ShoppingCart example application - -Note the use of sessions and how the SESSION object is added to -the REQUEST in afterSetUp(). - -You can use zLOG.LOG() if you set up the event log variables first. -Handy for debugging and tracing your tests. - -$Id$ -""" - -import os, sys -if __name__ == '__main__': - execfile(os.path.join(sys.path[0], 'framework.py')) - -#os.environ['STUPID_LOG_FILE'] = os.path.join(os.getcwd(), 'zLOG.log') -#os.environ['STUPID_LOG_SEVERITY'] = '0' - -from Testing import ZopeTestCase - -from Testing.ZopeTestCase import layer -from Testing.ZopeTestCase import utils -from Testing.ZopeTestCase import transaction - -from Globals import SOFTWARE_HOME -examples_path = os.path.join(SOFTWARE_HOME, '..', '..', 'skel', 'import', 'Examples.zexp') -examples_path = os.path.abspath(examples_path) - - -class ShoppingCartLayer(layer.ZopeLite): - - @classmethod - def setUp(cls): - # Set up sessioning objects - utils.appcall(utils.setupCoreSessions) - - # Set up example applications - utils.appcall(utils.importObjectFromFile, examples_path, quiet=1) - - @classmethod - def tearDown(cls): - def cleanup(app): - app._delObject('Examples') - transaction.commit() - utils.appcall(cleanup) - - -class DummyOrder: - '''Construct an order we can add to the cart''' - __allow_access_to_unprotected_subobjects__ = 1 - - def __init__(self, id, quantity): - self.id = id - self.quantity = quantity - - -class TestShoppingCart(ZopeTestCase.ZopeTestCase): - '''Test the ShoppingCart example application''' - - _setup_fixture = 0 # No default fixture - - layer = ShoppingCartLayer - - def afterSetUp(self): - self.cart = self.app.Examples.ShoppingCart - # Put SESSION object into REQUEST - request = self.app.REQUEST - sdm = self.app.session_data_manager - request.set('SESSION', sdm.getSessionData()) - self.session = request.SESSION - - def testSession(self): - # Session should work - self.session.set('boring', 'boring') - self.assertEqual(self.session.get('boring'), 'boring') - - def testCartIsEmpty(self): - # Cart should be empty - self.assertEqual(len(self.cart.currentItems()), 0) - - def testAddItems(self): - # Adding to the cart should work - self.cart.addItems([DummyOrder('510-115', 1),]) - self.assertEqual(len(self.cart.currentItems()), 1) - - def testDeleteItems(self): - # Deleting from the cart should work - self.cart.addItems([DummyOrder('510-115', 1),]) - self.cart.deleteItems(['510-115']) - self.assertEqual(len(self.cart.currentItems()), 0) - - def testAddQuantity(self): - # Adding to quantity should work - self.cart.addItems([DummyOrder('510-115', 1),]) - self.cart.addItems([DummyOrder('510-115', 2),]) - self.cart.addItems([DummyOrder('510-115', 3),]) - self.assertEqual(self.cart.currentItems()[0]['quantity'], 6) - - def testGetTotal(self): - # Totals should be computed correctly - self.cart.addItems([DummyOrder('510-115', 1),]) - self.cart.addItems([DummyOrder('510-122', 2),]) - self.cart.addItems([DummyOrder('510-007', 2),]) - self.assertEqual(self.cart.getTotal(), 149.95) - - def testGetItem(self): - # Getting an item from the "database" should work - item = self.cart.getItem('510-115') - self.assertEqual(item['id'], '510-115') - self.assertEqual(item['title'], 'Econo Feeder') - self.assertEqual(item['price'], 7.95) - - def testEight(self): - # Additional test to trigger connection pool depletion bug - pass - - -class TestSandboxedShoppingCart(ZopeTestCase.Sandboxed, TestShoppingCart): - '''Demonstrate that sessions work in sandboxes''' - - -def test_suite(): - from unittest import TestSuite, makeSuite - suite = TestSuite() - suite.addTest(makeSuite(TestShoppingCart)) - suite.addTest(makeSuite(TestSandboxedShoppingCart)) - return suite - -if __name__ == '__main__': - framework() - diff --git a/lib/python/Testing/ZopeTestCase/testZopeTestCase.py b/lib/python/Testing/ZopeTestCase/testZopeTestCase.py index b7340b783..d6e8ebaf9 100644 --- a/lib/python/Testing/ZopeTestCase/testZopeTestCase.py +++ b/lib/python/Testing/ZopeTestCase/testZopeTestCase.py @@ -15,9 +15,8 @@ NOTE: This is *not* an example TestCase. Do not use this file as a blueprint for your own tests! -See testPythonScript.py and testShoppingCart.py for -example test cases. See testSkeleton.py for a quick -way of getting started. +See testPythonScript.py for example test cases. See testSkeleton.py for a +quick way of getting started. $Id$ """ -- 2.30.9