[ Index ]
 

Code source de Kupu-1.3.5

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/plone/tests/ -> test_resourcetypemapper.py (source)

   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 14615 2005-07-13 11:05:28Z 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


Généré le : Sun Feb 25 15:30:41 2007 par Balluche grâce à PHPXref 0.7