Annotation of kupuMPIWG/plone/tests/test_resourcetypemapper.py, revision 1.1.1.1

1.1       dwinter     1: ##############################################################################
                      2: #
                      3: # Copyright (c) 2003-2005 Kupu Contributors. All rights reserved.
                      4: #
                      5: # This software is distributed under the terms of the Kupu
                      6: # License. See LICENSE.txt for license text. For a list of Kupu
                      7: # Contributors see CREDITS.txt.
                      8: #
                      9: ##############################################################################
                     10: """Tests for the library tool
                     11: 
                     12: $Id: test_resourcetypemapper.py 14851 2005-07-21 11:39:15Z duncan $
                     13: """
                     14: 
                     15: import os, sys
                     16: if __name__ == '__main__':
                     17:     execfile(os.path.join(sys.path[0], 'framework.py'))
                     18: 
                     19: import Acquisition
                     20: from Testing.ZopeTestCase import ZopeTestCase
                     21: # from Products.CMFPlone.tests import PloneTestCase
                     22: from Products.kupu.plone.librarytool import KupuLibraryTool
                     23: 
                     24: class FakeType:
                     25:     def __init__(self, id, **kw):
                     26:         self.id = id
                     27:         for k in kw:
                     28:             setattr(self, k, kw[k])
                     29: 
                     30: class FakeTypeTool:
                     31:     def listTypeInfo(self, container=None):
                     32:         return [ FakeType(f)
                     33:             for f in "Foo|Bar|Monkey|Ape|Nothing In Here Anymore|Bad Monkey|Bad Ape".split('|') ]
                     34: 
                     35: class FakePortal(Acquisition.Implicit):
                     36:     absolute_url = lambda(self): None
                     37:     portal_types = FakeTypeTool()
                     38: 
                     39: 
                     40: class TestIResourceTypeMapper(ZopeTestCase):
                     41:     """Test the implementation of IResourceMapper in KupuLibraryTool"""
                     42: 
                     43:     def afterSetUp(self):
                     44:         self.portal = FakePortal()
                     45:         self.type_map = self.prepare()
                     46: 
                     47:     def prepare(self):
                     48:         type_map = KupuLibraryTool()
                     49:         type_map = type_map.__of__(self.portal)
                     50:         type_map.addResourceType("foobar", ("Foo", "", "Bar"))
                     51:         type_map.addResourceType("bonobo", ("Monkey", " Ape\n"))
                     52:         return type_map
                     53: 
                     54:     def test_get_portal_types(self):
                     55:         type_map = self.type_map
                     56:         self.assertEqual(type_map.getPortalTypesForResourceType("foobar"),
                     57:                          ("Foo", "Bar"))
                     58:         self.assertEqual(type_map.getPortalTypesForResourceType("bonobo"),
                     59:                          ("Monkey", "Ape"))
                     60: 
                     61:     def test_update(self):
                     62:         type_map = self.type_map
                     63:         type_info = [
                     64:             dict(old_type='foobar', resource_type='foobar',
                     65:                  portal_types=("Nothing In Here Anymore",)),
                     66:             dict(old_type='bonobo', resource_type='chimpanse',
                     67:                  portal_types=("Bad Monkey", "Bad Ape")),
                     68:             ]
                     69:         type_map.updateResourceTypes(type_info)
                     70:         self.assertEqual(type_map.getPortalTypesForResourceType("foobar"),
                     71:                          ("Nothing In Here Anymore",))
                     72:         self.assertEqual(type_map.getPortalTypesForResourceType("chimpanse"),
                     73:                          ("Bad Monkey", "Bad Ape"))
                     74:         self.assertRaises(KeyError, type_map.getPortalTypesForResourceType,
                     75:                           "bonobo")
                     76: 
                     77:     def test_delete(self):
                     78:         type_map = self.type_map
                     79:         type_map.deleteResourceTypes(["foobar", "bonobo"])
                     80:         self.assertRaises(KeyError, type_map.getPortalTypesForResourceType,
                     81:                           "foobar")
                     82:         self.assertRaises(KeyError, type_map.getPortalTypesForResourceType,
                     83:                           "bonobo")
                     84: 
                     85: if __name__ == '__main__':
                     86:     framework()
                     87: else:
                     88:     # While framework.py provides its own test_suite()
                     89:     # method the testrunner utility does not.
                     90:     from unittest import TestSuite, makeSuite
                     91:     def test_suite():
                     92:         suite = TestSuite()
                     93:         suite.addTest(makeSuite(TestIResourceTypeMapper))
                     94:         return suite

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>