Annotation of kupuMPIWG/plone/tests/test_resourcetypemapper.py, revision 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>