Changeset 2925 in products


Ignore:
Timestamp:
Oct 25, 2010 2:50:57 PM (13 years ago)
Author:
mylan
Message:

#228: Fixed rewrited blackout filter utility and functionality.

File:
1 edited

Legend:

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

    r2922 r2925  
    3030        self.createTestContent() 
    3131        self.sm = _createObjectByType('Sitemap', self.portal, id='google-sitemaps') 
     32        self.req = self.app.REQUEST 
    3233        self.catres = self.portal.portal_catalog(portal_type=["Document",]) 
    3334        self.logout() 
     
    4445class TestDefaultFilters(TestFilterMixin): 
    4546 
    46     def getPreparedLists(self, fname, fargs, checkindex): 
     47    def getPreparedLists(self, fname, fargs): 
    4748        futil = queryUtility(IBlackoutFilterUtility, name=fname) 
    48         filtered = [f.getPath() for f in futil.filterOut(self.catres, fkey=fargs)] 
     49        filtered = [f.getPath() for f in futil.filterOut(self.catres, fkey=fargs, 
     50                    sitemap=self.sm, request=self.req)] 
    4951        catpaths = [c.getPath() for c in self.catres] 
    50         excluded = [c.getPath() for c in self.catres if checkindex(c) == fargs] 
    51         map(lambda l:l.sort(), [catpaths, filtered, excluded]) 
    52         return catpaths, filtered, excluded 
     52        return catpaths, filtered 
    5353 
    5454    def testIdFilter(self): 
    55         catpaths, filtered, excluded = self.getPreparedLists(idfname, "doc1", 
    56             lambda b: b.id) 
     55        catpaths, filtered = self.getPreparedLists(idfname, "doc1") 
    5756        self.assertTrue(type(filtered) in [ListType, TupleType], 
    5857            'Object type, returned by filteredOut method of "%s" utility '\ 
    5958            'not list nor tuple' % idfname) 
    60         self.assertTrue(set(catpaths)-set(filtered) == set(excluded), 
     59        excluded = ["/%s/doc1" % self.portal.absolute_url(1), 
     60                    "/%s/doc1" % self.folder.absolute_url(1)] 
     61        self.assertTrue( 
     62            set(catpaths)-set(filtered) == set(excluded), 
    6163            'Wrong filtered-out by "%s" filter:\nsrc %s\nres %s\nexcluded %s' % ( 
    6264             idfname, catpaths, filtered, excluded)) 
    6365 
    64     def testPathFilter(self): 
    65         catpaths, filtered, excluded = self.getPreparedLists(pathfname, 
    66             "/plone/doc1", lambda b: b.getPath()) 
     66    def testAbsolutePathFilter(self): 
     67        catpaths, filtered = self.getPreparedLists(pathfname, "/doc1") 
    6768        self.assertTrue(type(filtered) in [ListType, TupleType], 
    6869            'Object type, returned by filteredOut method of "%s" utility '\ 
    6970            'not list nor tuple' % pathfname) 
    70         self.assertTrue(set(catpaths)-set(filtered) == set(excluded), 
     71        excluded = ["/%s/doc1" % self.portal.absolute_url(1)] 
     72        self.assertTrue( 
     73            set(catpaths)-set(filtered) == set(excluded), 
    7174            'Wrong filtered-out by "%s" filter:\nsrc %s\nres %s\nexcluded %s' % ( 
    7275             pathfname, catpaths, filtered, excluded)) 
    7376 
    7477    def testRelativePathFilter(self): 
    75         #  
    76         fpath = '/'.join(self.folder.getPhysicalPath()) 
    77         futil = queryUtility(IBlackoutFilterUtility, name=pathfname) 
    78         sm = _createObjectByType('Sitemap', self.folder, id='google-sitemaps') 
    79          
    80         fres = futil.filterOut(self.catres, fkey="./doc1", sitemap=sm) 
    81         filtered = [f.getPath() for f in fres] 
    82         catpaths = [c.getPath() for c in self.catres] 
    83         excluded = [c.getPath() for c in self.catres if c.getPath()==fpath+"/doc1"] 
    84         map(lambda l:l.sort(), [catpaths, filtered, excluded]) 
    85  
     78        self.sm = _createObjectByType('Sitemap', self.folder, id='google-sitemaps') 
     79        catpaths, filtered = self.getPreparedLists(pathfname, "./doc1") 
    8680        self.assertTrue(type(filtered) in [ListType, TupleType], 
    8781            'Object type, returned by filteredOut method of "%s" utility '\ 
    8882            'not list nor tuple' % pathfname) 
    89         self.assertTrue(set(catpaths)-set(filtered) == set(excluded), 
     83        excluded = ["/%s/doc1" % self.folder.absolute_url(1)] 
     84        self.assertTrue( 
     85            set(catpaths)-set(filtered) == set(excluded), 
    9086            'Wrong filtered-out by "%s" filter:\nsrc %s\nres %s\nexcluded %s' % ( 
    9187             pathfname, catpaths, filtered, excluded)) 
     88 
     89 
    9290 
    9391 
     
    9997        self.smview = queryMultiAdapter((self.sm, self.app.REQUEST), name="sitemap.xml") 
    10098 
    101     def getPreparedLists(self, bl, fargs, checkindex): 
     99    def getPreparedLists(self, bl, fargs): 
    102100        self.sm.edit(blackout_list=bl) 
    103101        filtered = [f['url'] for f in self.smview.results()] 
    104102        catpaths = [c.getURL() for c in self.catres] 
    105         excluded = [c.getURL() for c in self.catres if checkindex(c) == fargs] 
    106         map(lambda l:l.sort(), [catpaths, filtered, excluded]) 
    107         return catpaths, filtered, excluded 
     103        return catpaths, filtered 
    108104 
    109105    def testGetNamedFilterUtility(self): 
    110         catpaths, filtered, excluded = self.getPreparedLists("path:/plone/doc1", 
    111             "/plone/doc1", lambda b: b.getPath()) 
     106        catpaths, filtered = self.getPreparedLists("path:/doc1", "/plone/doc1") 
     107        excluded = ["%s/doc1" % self.portal.absolute_url()] 
    112108        self.assertTrue(set(catpaths)-set(filtered) == set(excluded), 
    113109            'Wrong filtered-out by "%s" filter:\nsrc %s\nres %s\nexcluded %s' % ( 
     
    115111 
    116112    def testDefaultFilterUtility(self): 
    117         catpaths, filtered, excluded = self.getPreparedLists("id:doc1", 
    118             "doc1", lambda b: b.id) 
     113        catpaths, filtered = self.getPreparedLists("id:doc1", "doc1") 
     114        excluded = ["%s/doc1" % self.portal.absolute_url(), 
     115                    "%s/doc1" % self.folder.absolute_url()] 
    119116        self.assertTrue(set(catpaths)-set(filtered) == set(excluded), 
    120117            'Wrong filtered-out by "%s" filter:\nsrc %s\nres %s\nexcluded %s' % ( 
    121118             idfname, catpaths, filtered, excluded)) 
    122         # Now check is output of unnamed filter same to id-named one. 
     119        # Now check is output of unnamed filter samed to named one. 
    123120        self.sm.edit(blackout_list="doc1") 
    124         filtered_def = [f['url'] for f in self.smview.results()] 
    125         filtered_def.sort() 
    126         self.assertTrue(filtered == filtered_def, 
     121        filtered_dflt = [f['url'] for f in self.smview.results()] 
     122        map(lambda l: l.sort(), (filtered, filtered_dflt)) 
     123        self.assertTrue(filtered == filtered_dflt, 
    127124            'Output of named "id" filter is not same to unnamed one:' \ 
    128             'id-named: %s\nunnamed: %s' % (filtered, filtered_def)) 
     125            'id-named: %s\nunnamed: %s' % (filtered, filtered_dflt)) 
    129126 
    130127 
Note: See TracChangeset for help on using the changeset viewer.