Changeset 2949 in products


Ignore:
Timestamp:
Nov 1, 2010 11:31:04 AM (13 years ago)
Author:
mylan
Message:

#228: Added doctests of id, path, default filters

File:
1 edited

Legend:

Unmodified
Added
Removed
  • quintagroup.plonegooglesitemaps/branches/blacklist/quintagroup/plonegooglesitemaps/filters.txt

    r2948 r2949  
    9797Now we bring-up to edit form of the newly created content sitemap. 
    9898We interested in two things: "Blackout entries" field must present 
    99 in the form and "Save" button. 
    100  
     99in the form and it should be empty by default. 
     100     
     101     
     102    >>> file("/tmp/browser.0.html","wb").write(browser.contents) 
    101103    >>> blackout_list = browser.getControl("Blackout entries") 
    102104    >>> blackout_list 
    103105    <Control name='blackout_list:lines' type='textarea'> 
     106    >>> blackout_list.value == "" 
     107    True 
    104108    >>> save_button = browser.getControl("Save") 
    105109    >>> save_button 
     
    108112 
    109113 
    110  
    111  
    112  
     114Click on "Save" button lead us to result sitemap view. 
     115 
     116    >>> browser.contents.startswith('<?xml version="1.0" encoding="UTF-8"?>') 
     117    True 
     118 
     119After adding "Content Sitemap", "sitemap.xml" link will appear 
     120on "Settings" tab page of Plone Google Sitemap configlet. 
     121 
     122    >>> browser.open(portal_url + "/prefs_gsm_settings") 
     123    >>> smedit_link = browser.getLink('sitemap.xml') 
     124 
     125This link lead to edit form of the newly created sitemap.xml. 
     126Also prepare view link to simplifier following demonstrations. 
     127 
     128    >>> smedit_link.endswith("sitemap.xml/edit") 
     129    True 
     130    >>> smview_link = smedit_link[:-5] 
     131 
     132 
     133No filters 
     134========== 
     135 
     136Resulted sitemap has no filters - all document should present in it. 
     137 
     138    >>> browser.open(smview_link) 
     139    >>> file("/tmp/browser.1.html","wb").write(browser.contents) 
     140    >>> no_filters_content = browser.contents 
     141 
     142Check if resulted page is real sitemap... 
     143 
     144    >>> browser.contents.startswith('<?xml version="1.0" encoding="UTF-8"?>') 
     145    True 
     146 
     147To check urls, which pass filters - create regular expression... 
     148 
     149    >>> reloc = re.compile("<loc>%s([^\<]*)</loc>" % self.portal.absolute_url(), re.S) 
     150 
     151With help of reloc regular expression - check if all 4 documents + default 
     152front-page present in the sitemap without filters. 
     153 
     154    >>> no_filters_res = reloc.findall(no_filters_content) 
     155    >>> len(no_filters_res) == 5 
     156    True 
     157    >>> no_filters_res.sort() 
     158    >>> print "\n".join(no_filters_res) 
     159    /Members/test_user_1_/doc1 
     160    /Members/test_user_1_/doc2 
     161    /doc1 
     162    /doc2 
     163    /front-page 
     164 
     165 
     166Check "id" filter 
     167================= 
     168 
     169Go to the edit form of the sitemap and add "doc1" 
     170and "front-page" lines with "id:" prefix to the 
     171"Blackout entries" field. 
     172 
     173    >>> browser.open(smedit_link) 
     174    >>> filtercontrol = browser.getControl("Blackout entries") 
     175    >>> filtercontrol.value = "id:doc1\nid:front-page" 
     176    >>> browser.getControl("Save").click() 
     177    >>> id_filter_content = browser.contents 
     178 
     179As result - all "doc1" and "front-page" documents must be 
     180filtered-out from the sitemap. 
     181 
     182    >>> id_filter_res = reloc.findall(id_filter_content) 
     183    >>> len(id_filter_res) == 2 
     184    True 
     185    >>> id_filter_res.sort() 
     186    >>> print "\n".join(id_filter_res) 
     187    /Members/test_user_1_/doc2 
     188    /doc2 
     189 
     190 
     191Check "path" filter 
     192=================== 
     193 
     194Suppouse we wont to filter-out doc2 of the test_user_1_'s (but  
     195not from the portal root) and the front-page from the portal root. 
     196 
     197    >>> browser.open(smedit_link) 
     198    >>> filtercontrol = browser.getControl("Blackout entries") 
     199    >>> filtercontrol.value = "path:/Members/test_user_1_/doc2\npath:/front-page" 
     200    >>> browser.getControl("Save").click() 
     201    >>> path_filter_content = browser.contents 
     202 
     203As result - "doc2" of the pointed member and "front-page" documents 
     204must be filtered-out from the sitemap. 
     205 
     206    >>> path_filter_res = reloc.findall(path_filter_content) 
     207    >>> len(path_filter_res) == 3 
     208    True 
     209    >>> path_filter_res.sort() 
     210    >>> print "\n".join(path_filter_res) 
     211    /Members/test_user_1_/doc2 
     212    /doc1 
     213    /doc2 
     214 
     215 
     216Check default filter 
     217==================== 
     218 
     219Lets check what filter should be used for old-feshion filters 
     220(without any filter name prefixes)? 
     221 
     222Go to the edit form of the sitemap and add "doc1" and front-page 
     223lines without any filter name prefix to the "Blackout entries" 
     224field. 
     225 
     226    >>> browser.open(portal_url + "/sitemap.xml/edit") 
     227    >>> filtercontrol = browser.getControl("Blackout entries") 
     228    >>> filtercontrol.value = "doc1\front-page" 
     229    >>> browser.getControl("Save").click() 
     230    >>> default_filter_content = browser.contents 
     231 
     232By default "id" filter must be used, so all "doc1" and "front-page" 
     233objects must be filtered-out from the sitemap. 
     234 
     235    >>> default_filter_res = reloc.findall(default_filter_content) 
     236    >>> len(default_filter_res) == 3 
     237    True 
     238    >>> default_filter_res.sort() 
     239    >>> print "\n".join(default_filter_res) 
     240    /Members/test_user_1_/doc2 
     241    /doc2 
    113242 
    114243 
Note: See TracChangeset for help on using the changeset viewer.