Changeset 2372 in products


Ignore:
Timestamp:
May 21, 2010 12:09:50 PM (14 years ago)
Author:
mylan
Message:

Added tests of default adapters registration

File:
1 edited

Legend:

Unmodified
Added
Removed
  • quintagroup.canonicalpath/trunk/quintagroup/canonicalpath/tests.py

    r2371 r2372  
    8888class TestDefaultCanonicalPathAdapter(TestCase): 
    8989 
    90  
    9190    def afterSetUp(self): 
    9291        self.loginAsPortalOwner() 
     
    318317    """Property provider.""" 
    319318 
    320 class NotProperyProviderItem(BaseItem, Traversable): 
     319class NotPropertyProviderItem(BaseItem, Traversable): 
    321320    """Not property provider.""" 
    322321 
     
    356355 
    357356    def test_convertBadItems(self): 
    358         bad = NotProperyProviderItem("item") 
     357        bad = NotPropertyProviderItem("item") 
    359358        self.convertor.convertIPathToLink(bad) 
    360359        result = self.convertor.getLogs() 
    361360        expect = "ERROR: exceptions.AttributeError: " \ 
    362                  "NotProperyProviderItem instance has no attribute 'hasProperty'" 
     361                 "NotPropertyProviderItem instance has no attribute 'hasProperty'" 
    363362        self.assertEqual(expect in result, True, "Wrong log: %s" % result) 
    364363 
     
    379378        # log must collect new errors 
    380379        # and return full log anytime 
    381         bad = NotProperyProviderItem("item") 
     380        bad = NotPropertyProviderItem("item") 
    382381        self.convertor.convertIPathToLink(bad) 
    383382        logs = self.convertor.getLogs() 
     
    391390             "Log was not updated - last: \"%s\", previous: \"%s\"" % (logs3, logs2)) 
    392391         
    393  
    394392    def test_loggingCleanup(self): 
    395         bad = NotProperyProviderItem("item") 
     393        bad = NotPropertyProviderItem("item") 
    396394        self.convertor.convertIPathToLink(bad) 
    397395        assert self.convertor.getLogs() != "" 
     
    399397        logs = self.convertor.getLogs() 
    400398        self.assertEqual(logs, "", "Log not cleand-up: \"%s\"" % logs) 
     399 
     400 
     401class TestAdaptersRegistration(unittest.TestCase): 
     402    """Test of default adapters registration.""" 
     403 
     404    def setUp(self): 
     405        self.cant = "Can't get \"%s\" adapter for object, which implement: " 
     406        self.doget = "Get \"%s\" adapter for object, which implement: " 
     407 
     408    def test_PropertyManagerAndTraversable(self): 
     409        class ProperyAndTraverseProvider(BaseItem, PropertyManager, Traversable): 
     410            """Property and Traversable provider.""" 
     411        item = ProperyAndTraverseProvider("test") 
     412        self.assertNotEqual(queryAdapter(item, ICanonicalLink), None, 
     413           self.cant % ICanonicalLink.__name__ + "IPropertyManager and ITraversable.") 
     414        self.assertNotEqual(queryAdapter(item, ICanonicalPath), None, 
     415           self.cant % ICanonicalPath.__name__ + "IPropertyManager and ITraversable.") 
     416 
     417    def test_Traversable(self): 
     418        """Traversable enough for get adapter""" 
     419        class TraverseProvider(BaseItem, Traversable): 
     420            """Only Traversable provider.""" 
     421        item = TraverseProvider("test") 
     422        self.assertNotEqual(queryAdapter(item, ICanonicalLink), None, 
     423           self.cant % ICanonicalLink.__name__ + "only ITraversable.") 
     424        self.assertNotEqual(queryAdapter(item, ICanonicalPath), None, 
     425           self.cant % ICanonicalPath.__name__ + "only ITraversable.") 
     426 
     427    def test_PropertyManager(self): 
     428        """Implementing only IPropertyManager - not enough, because of 
     429           the default value need ITraversable. 
     430        """ 
     431        class PropertyManagerProvider(BaseItem, PropertyManager): 
     432            """Only PropertyManager provider.""" 
     433        item = PropertyManagerProvider("test") 
     434        self.assertEqual(queryAdapter(item, ICanonicalLink), None, 
     435           self.doget % ICanonicalLink.__name__ + "only IPropertyManager.") 
     436        self.assertEqual(queryAdapter(item, ICanonicalPath), None, 
     437           self.doget % ICanonicalPath.__name__ + "only IPropertyManager.") 
     438 
     439    def test_NotProvider(self): 
     440        class NotProvider(BaseItem): 
     441            """Nor Traversable not PropertyManager provider.""" 
     442        item = NotProvider("test") 
     443        self.assertEqual(queryAdapter(item, ICanonicalLink), None, 
     444           self.doget % ICanonicalLink.__name__ + "nor ITraversabe not IPropertyManager.") 
     445        self.assertEqual(queryAdapter(item, ICanonicalPath), None, 
     446           self.doget % ICanonicalPath.__name__ + "nor ITraversabe not IPropertyManager.") 
    401447 
    402448 
     
    407453        unittest.makeSuite(TestDefaultCanonicalLinkAdapter), 
    408454        unittest.makeSuite(TestConvertor), 
     455        unittest.makeSuite(TestAdaptersRegistration), 
    409456        ]) 
    410457 
Note: See TracChangeset for help on using the changeset viewer.