Changeset 1753 in products for quintagroup.catalogupdater
- Timestamp:
- Feb 16, 2010 2:46:05 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
quintagroup.catalogupdater/trunk/quintagroup/catalogupdater/tests.py
r1739 r1753 1 1 import unittest 2 2 3 from zope.testing import doctestunit 4 from zope.component import testing 3 from zope.interface import Interface 4 from zope.component import queryUtility 5 from zope.component import provideAdapter 6 7 from plone.indexer.decorator import indexer 8 from plone.indexer.interfaces import IIndexableObject 5 9 from Testing import ZopeTestCase as ztc 6 10 7 11 from Products.Five import zcml 8 12 from Products.Five import fiveconfigure 13 from Products.CMFCore.utils import getToolByName 9 14 from Products.PloneTestCase import PloneTestCase as ptc 10 15 from Products.PloneTestCase.layer import PloneSite 11 ptc.setupPloneSite() 16 from Products.Archetypes.tests.utils import makeContent 12 17 13 import quintagroup.catalogupdater18 from quintagroup.catalogupdater.utility import ICatalogUpdater 14 19 15 20 class TestCase(ptc.PloneTestCase): … … 17 22 @classmethod 18 23 def setUp(cls): 24 import quintagroup.catalogupdater 19 25 fiveconfigure.debug_mode = True 20 zcml.load_config('configure.zcml', 21 quintagroup.catalogupdater) 26 zcml.load_config('configure.zcml', quintagroup.catalogupdater) 22 27 fiveconfigure.debug_mode = False 23 28 24 @classmethod 25 def tearDown(cls): 26 pass 29 ptc.setupPloneSite() 30 31 32 class TestUtility(TestCase): 33 34 def afterSetUp(self): 35 self.loginAsPortalOwner() 36 self.my_doc = makeContent(self.portal, portal_type='Document', id='my_doc') 37 self.catalog = getToolByName(self.portal, 'portal_catalog') 38 self.logout() 39 self.addIndexer() 40 41 def addIndexer(self): 42 @indexer(Interface) 43 def test_column(obj): 44 return obj.id 45 46 provideAdapter(test_column, name='test_column') 47 self.catalog.addColumn('test_column') 48 49 def testMetadataUpdate(self): 50 """ Test is metadata column updated with utility 51 """ 52 docs = self.catalog.unrestrictedSearchResults(portal_type='Document') 53 self.assertTrue([1 for b in docs if b.test_column == b.id] == [], 54 "Some document has updated 'test_column' metadata in catalog: '%s'" % docs) 55 56 cu = queryUtility(ICatalogUpdater, name="catalog_updater") 57 cu.updateMetadata4All(self.catalog, 'test_column') 58 59 docs = self.catalog.unrestrictedSearchResults(portal_type='Document') 60 self.assertTrue([1 for b in docs if b.test_column != b.id] == [], 61 "Some document has wrong 'test_column' metadata in catalog: '%s'" % docs) 62 63 def testOnlyOneColumnUpdate(self): 64 """ Update a title property for the my_doc object (without reindexing) 65 then, after utility usage - check is that metadata is leave unchanged. 66 """ 67 self.loginAsPortalOwner() 68 self.my_doc.update(title="My document") 69 self.logout() 70 71 mydoc = self.catalog.unrestrictedSearchResults(id='my_doc')[0] 72 self.assertTrue(mydoc.Title == "My document", mydoc.Title) 73 74 self.my_doc.setTitle('New my document') # catalog not updated 75 cu = queryUtility(ICatalogUpdater, name="catalog_updater") 76 cu.updateMetadata4All(self.catalog, 'test_column') 77 78 mydoc = self.catalog.unrestrictedSearchResults(id='my_doc')[0] 79 self.assertTrue(mydoc.Title == 'My document', 80 "Other metadata updated: Title='%s'" % mydoc.Title) 81 82 self.assertTrue(mydoc.test_column == 'my_doc', 83 "Wrong data in updated metadata: test_column='%s', " \ 84 "must be 'my_doc'" % mydoc.test_column) 27 85 28 86 29 87 def test_suite(): 30 88 return unittest.TestSuite([ 31 32 # Unit tests 33 #doctestunit.DocFileSuite( 34 # 'README.txt', package='quintagroup.catalogupdater', 35 # setUp=testing.setUp, tearDown=testing.tearDown), 36 37 #doctestunit.DocTestSuite( 38 # module='quintagroup.catalogupdater.mymodule', 39 # setUp=testing.setUp, tearDown=testing.tearDown), 40 41 42 # Integration tests that use PloneTestCase 43 #ztc.ZopeDocFileSuite( 44 # 'README.txt', package='quintagroup.catalogupdater', 45 # test_class=TestCase), 46 47 #ztc.FunctionalDocFileSuite( 48 # 'browser.txt', package='quintagroup.catalogupdater', 49 # test_class=TestCase), 50 89 unittest.makeSuite(TestUtility), 51 90 ]) 52 91
Note: See TracChangeset
for help on using the changeset viewer.