Changeset 2915 in products


Ignore:
Timestamp:
Oct 22, 2010 11:38:20 AM (14 years ago)
Author:
mylan
Message:

#228: Added TestFormDataProcessing? tests

File:
1 edited

Legend:

Unmodified
Added
Removed
  • quintagroup.plonegooglesitemaps/branches/blacklist/quintagroup/plonegooglesitemaps/tests/testBlackoutList.py

    r2911 r2915  
    44from base import * 
    55from types import ListType, TupleType 
    6 from zope.component import queryUtility 
     6from zope.component import queryUtility, queryMultiAdapter 
    77 
    88from Products.CMFPlone.utils import _createObjectByType 
     
    2424 
    2525 
     26def createTestContent(self): 
     27    # Add testing content to portal 
     28    for cont in [self.portal, self.folder]: 
     29        for i in range(1,4): 
     30            doc = _createObjectByType('Document', cont, id='doc%i' % i) 
     31            doc.edit(text_format='plain', text='hello world %i' % i) 
     32            self.workflow.doActionFor(doc, 'publish') 
     33 
    2634class TestDefaultFilters(TestCase): 
    2735 
    2836    def afterSetUp(self): 
    29         self.loginAsPortalOwner() 
    30         # Add testing content to portal 
    31         for cont in [self.portal, self.folder]: 
    32             for i in range(1,4): 
    33                 doc = _createObjectByType('Document', cont, id='my_doc%i' % i) 
    34                 doc.edit(text_format='plain', text='hello world %i' % i) 
     37        super(TestDefaultFilters, self).afterSetUp() 
     38        createTestContent(self) 
    3539        self.catres = self.portal.portal_catalog(portal_type=["Document",]) 
    3640        self.logout() 
     
    3943        idfilter = queryUtility(IBlackoutFilterUtility, name=idfname) 
    4044        catpaths = [c.getPath() for c in self.catres] 
    41         filtered = [f.getPath() for f in idfilter.filterOut(self.catres, fkey="my_doc1")] 
    42         excluded = [c.getPath() for c in self.catres if c.id == "my_doc1"] 
     45        filtered = [f.getPath() for f in idfilter.filterOut(self.catres, fkey="doc1")] 
     46        excluded = [c.getPath() for c in self.catres if c.id == "doc1"] 
    4347        map(lambda l:l.sort(), [catpaths, filtered, excluded]) 
    4448        self.assertTrue(type(filtered) in [ListType, TupleType], 
     
    5256        pathfilter = queryUtility(IBlackoutFilterUtility, name=pathfname) 
    5357        catpaths = [c.getPath() for c in self.catres] 
    54         filtered = [f.getPath() for f in pathfilter.filterOut(self.catres, fkey="/plone/my_doc1")] 
    55         excluded = [c.getPath() for c in self.catres if c.getPath() == "/plone/my_doc1"] 
     58        filtered = [f.getPath() for f in pathfilter.filterOut(self.catres, fkey="/plone/doc1")] 
     59        excluded = [c.getPath() for c in self.catres if c.getPath() == "/plone/doc1"] 
    5660        map(lambda l:l.sort(), [catpaths, filtered, excluded]) 
    5761        self.assertTrue(type(filtered) in [ListType, TupleType], 
     
    6165            'Wrong filtered-out by "%s" filter:\nsrc %s\nres %s\nexcluded %s' % ( 
    6266             pathfname, catpaths, filtered, excluded)) 
    63          
    64          
     67 
     68 
     69class TestFormDataProcessing(TestCase): 
     70 
     71    def afterSetUp(self): 
     72        super(TestFormDataProcessing, self).afterSetUp() 
     73        createTestContent(self) 
     74        # Add sitemap object 
     75        self.sm = _createObjectByType('Sitemap', self.portal, id='google-sitemaps') 
     76        self.smview = queryMultiAdapter((self.sm, self.app.REQUEST), name="sitemap.xml") 
     77        self.catres = self.portal.portal_catalog(portal_type=["Document",]) 
     78 
     79    def testGetNamedFilterUtility(self): 
     80        self.sm.edit(blackout_list="path:/plone/doc1") 
     81        filtered = [f['url'] for f in self.smview.results()] 
     82        catpaths = [c.getURL() for c in self.catres] 
     83        excluded = [c.getURL() for c in self.catres \ 
     84                    if c.getPath() == "/plone/doc1"] 
     85        map(lambda l:l.sort(), [catpaths, filtered, excluded]) 
     86        self.assertTrue(set(catpaths)-set(filtered) == set(excluded), 
     87            'Wrong filtered-out by "%s" filter:\nsrc %s\nres %s\nexcluded %s' % ( 
     88             idfname, catpaths, filtered, excluded)) 
     89 
     90    def testDefaultFilterUtility(self): 
     91        self.sm.edit(blackout_list="id:doc1") 
     92        filtered = [f['url'] for f in self.smview.results()] 
     93        catpaths = [c.getURL() for c in self.catres] 
     94        excluded = [c.getURL() for c in self.catres if c.id == "doc1"] 
     95        map(lambda l:l.sort(), [catpaths, filtered, excluded]) 
     96        self.assertTrue(set(catpaths)-set(filtered) == set(excluded), 
     97            'Wrong filtered-out by "%s" filter:\nsrc %s\nres %s\nexcluded %s' % ( 
     98             idfname, catpaths, filtered, excluded)) 
     99        # Now check is output of unnamed filter same to id-named one. 
     100        self.sm.edit(blackout_list="id:doc1") 
     101        filtered_def = [f['url'] for f in self.smview.results()] 
     102        filtered_def.sort() 
     103        self.assertTrue(filtered == filtered_def, 
     104            'Output of named "id" filter is not same to unnamed one:' \ 
     105            'id-named: %s\nunnamed: %s' % (filtered, filtered_def)) 
     106 
    65107 
    66108def test_suite(): 
     
    69111    suite.addTest(makeSuite(TestBOFilterUtilities)) 
    70112    suite.addTest(makeSuite(TestDefaultFilters)) 
     113    suite.addTest(makeSuite(TestFormDataProcessing)) 
    71114    return suite 
    72115 
Note: See TracChangeset for help on using the changeset viewer.