Changeset 1232

Show
Ignore:
Timestamp:
11/21/07 18:45:28 (1 year ago)
Author:
sgillies
Message:

Logins are now required on Plone 3 with testbrowsing cases, XML preamble encodings have changed, and the Members folder is now entitled Users. We handle these in a way compatible with Plone 2.5

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • PleiadesGeocoder/trunk/configure.zcml

    r1229 r1232  
    8080    /> 
    8181 
    82   <five:traversable class="Products.ATContentTypes.content.base.BaseContent"/> 
    83  
    8482  <include package=".browser"/> 
    8583 
  • PleiadesGeocoder/trunk/tests/FolderGeoViews.txt

    r1221 r1232  
    55 
    66A lot of this is cribbed from optilude's tutorial on plone.org. 
    7  
    8 Setup the test fixture 
    9  
    10     >>> from Products.Five import zcml 
    11     >>> import Products 
    12     >>> zcml.load_config('configure.zcml', package=Products.PleiadesGeocoder) 
    13     >>> from Products.PloneTestCase import PloneTestCase 
    14     >>> PloneTestCase.installProduct('PleiadesGeocoder') 
    15  
    16     >>> from Products.PleiadesGeocoder.interfaces import IGeoItemSimple 
    17     >>> folder = self.folder 
    18     >>> folder.setDescription('The testing folder') 
    197 
    208Georeference the test user 
     
    3018Add one doc to the folder, and georeference it 
    3119 
     20    >>> folder = self.folder 
     21    >>> folder.setDescription('The testing folder') 
    3222    >>> folder.invokeFactory('Document', id='document') 
    3323    'document' 
    3424    >>> document = folder.document 
     25    >>> from Products.PleiadesGeocoder.interfaces import IGeoItemSimple 
    3526    >>> item = IGeoItemSimple(document) 
    3627    >>> item.setGeoInterface('Point', (-105.083733, 40.585609)) 
     
    5849    >>> folder_url = folder.absolute_url() 
    5950 
     51Login 
     52 
     53    >>> try: 
     54    ...     from Products.PloneTestCase.setup import portal_owner, default_password 
     55    ...     portal_url = self.portal.absolute_url() 
     56    ...     browser.open(portal_url) 
     57    ...     browser.getControl(name='__ac_name').value = portal_owner 
     58    ...     browser.getControl(name='__ac_password').value = default_password 
     59    ...     browser.getControl(name='submit').click() 
     60    ... except: 
     61    ...     # login isn't needed with 2.5 
     62    ...     pass 
     63 
    6064    GeoRSS 
    6165 
     
    6468    'application/atom+xml; charset=utf-8' 
    6569    >>> print browser.contents 
    66     <?xml version="1.0" encoding="utf-8"?> 
     70    <?xml...?> 
    6771    <feed xmlns="http://www.w3.org/2005/Atom" 
    6872          xmlns:georss="http://www.georss.org/georss" 
     
    103107    >>> browser.open("%s/georss?maxitems=0" % folder_url) 
    104108    >>> print browser.contents 
    105     <?xml version="1.0" encoding="utf-8"?> 
     109    <?xml...?> 
    106110    <feed xmlns="http://www.w3.org/2005/Atom" 
    107111          xmlns:georss="http://www.georss.org/georss" 
     
    126130    True 
    127131    >>> print browser.contents 
    128     <?xml version="1.0" encoding="utf-8"?> 
     132    <?xml...?> 
    129133    <kml xmlns="http://earth.google.com/kml/2.1"> 
    130134    <BLANKLINE> 
     
    175179    True 
    176180    >>> print browser.contents 
    177     <?xml version="1.0" encoding="utf-8"?> 
     181    <?xml...?> 
    178182    <kml xmlns="http://earth.google.com/kml/2.1"> 
    179183    <BLANKLINE> 
     
    195199    >>> browser.open("%s/Members/georss" % self.portal.absolute_url()) 
    196200    >>> print browser.contents 
    197     <?xml version="1.0" encoding="utf-8"?> 
     201    <?xml...?> 
    198202    <feed xmlns="http://www.w3.org/2005/Atom" 
    199203          xmlns:georss="http://www.georss.org/georss" 
     
    201205    <BLANKLINE> 
    202206    <BLANKLINE> 
    203       <title>Members</title> 
     207      <title>...</title> 
    204208      <link rel="self" href="http://nohost/plone/Members"/> 
    205209      <updated/> 
     
    231235    >>> browser.open("%s/Members/kml" % self.portal.absolute_url()) 
    232236    >>> print browser.contents 
    233     <?xml version="1.0" encoding="utf-8"?> 
     237    <?xml...?> 
    234238    <kml xmlns="http://earth.google.com/kml/2.1"> 
    235239    <BLANKLINE> 
     
    245249          </PolyStyle> 
    246250        </Style> 
    247         <name>Members</name> 
     251        <name>...</name> 
    248252        <visibility>0</visibility> 
    249253        <open>0</open> 
     
    278282    >>> browser.open("%s/Members/nwlink" % self.portal.absolute_url()) 
    279283    >>> print browser.contents 
    280     <?xml version="1.0" encoding="utf-8"?> 
     284    <?xml...?> 
    281285    <kml xmlns="http://earth.google.com/kml/2.1"> 
    282286    <BLANKLINE> 
    283287    <BLANKLINE> 
    284288      <NetworkLink> 
    285         <name>Members</name> 
    286         <description>Container for portal members' home directories</description> 
     289        <name>...</name> 
     290        <description>Container for ... home directories</description> 
    287291          <Link> 
    288292            <href>http://nohost/plone/Members/kml</href> 
     
    298302    >>> browser.open("%s/georss" % document.absolute_url()) 
    299303    >>> print browser.contents 
    300     <?xml version="1.0" encoding="utf-8"?> 
     304    <?xml...?> 
    301305    <feed xmlns="http://www.w3.org/2005/Atom" 
    302306          xmlns:georss="http://www.georss.org/georss" 
     
    335339    >>> browser.open("%s/kml" % document.absolute_url()) 
    336340    >>> print browser.contents 
    337     <?xml version="1.0" encoding="utf-8"?> 
     341    <?xml...?> 
    338342    <kml xmlns="http://earth.google.com/kml/2.1"> 
    339343    <BLANKLINE> 
  • PleiadesGeocoder/trunk/tests/Georeferencing.txt

    r1218 r1232  
    22================== 
    33 
    4   >>> from Products.Five import zcml 
    5   >>> import Products 
    6   >>> zcml.load_config('configure.zcml', package=Products.PleiadesGeocoder) 
    7   >>> from Products.PloneTestCase import PloneTestCase 
    8   >>> PloneTestCase.installProduct('PleiadesGeocoder') 
    9  
    104Initialize the test browser 
    115 
    12   >>> from Products.Five.testbrowser import Browser 
    13   >>> browser = Browser() 
    14   >>> browser.handleErrors = True 
     6    >>> from Products.Five.testbrowser import Browser 
     7    >>> browser = Browser() 
     8    >>> browser.handleErrors = True 
    159 
    1610Let us log all exceptions, which is useful for debugging. Also, clear portlet 
     
    1812and the navtree. 
    1913 
    20   >>> self.portal.error_log._ignored_exceptions = () 
    21   >>> self.portal.left_slots = self.portal.right_slots = [] 
     14    >>> self.portal.error_log._ignored_exceptions = () 
     15    >>> self.portal.left_slots = self.portal.right_slots = [] 
    2216 
    23 Create a test page 
     17Create a test document 
    2418 
    25   >>> from Products.PleiadesGeocoder.interfaces import IGeoItemSimple 
    26   >>> folder = self.folder 
    27   >>> folder.setDescription('The testing folder') 
    28   >>> folder.invokeFactory('Document', id='document') 
    29   'document' 
    30   >>> document = folder.document 
    31   >>> from Products.PleiadesGeocoder.interfaces import IGeoAnnotatableContent 
    32   >>> IGeoAnnotatableContent.providedBy(document) 
    33   True 
     19    >>> folder = self.folder 
     20    >>> folder.setDescription('The testing folder') 
     21    >>> folder.invokeFactory('Document', id='document') 
     22    'document' 
     23    >>> document = folder.document 
     24    >>> from Products.PleiadesGeocoder.interfaces import IGeoAnnotatableContent 
     25    >>> IGeoAnnotatableContent.providedBy(document) 
     26    True 
    3427 
    35 Georeference via edit_geo 
     28Login 
    3629 
    37   >>> doc_url = document.absolute_url() 
    38   >>> gi = {'type': 'Point', 'coordinates': (-110, 40)} 
    39   >>> import simplejson 
    40   >>> body = simplejson.dumps(gi) 
    41   >>> browser.open("%s/@@edit_geo?type=Point&coordinates=[-110,40]" % doc_url) 
    42   >>> item = IGeoItemSimple(document) 
    43   >>> item.__geo_interface__ 
    44   {'geometry': {'type': 'Point', 'coordinates': (-110.0, 40.0, 0.0)}, 'id': 'document', 'properties': {'link': 'http://nohost/plone/Members/test_user_1_/document', 'description': '', 'title': 'document'}} 
     30    >>> try: 
     31    ...     from Products.PloneTestCase.setup import portal_owner, default_password 
     32    ...     portal_url = self.portal.absolute_url() 
     33    ...     browser.open(portal_url) 
     34    ...     browser.getControl(name='__ac_name').value = portal_owner 
     35    ...     browser.getControl(name='__ac_password').value = default_password 
     36    ...     browser.getControl(name='submit').click() 
     37    ... except: 
     38    ...     # login isn't needed with 2.5 
     39    ...     pass 
     40 
     41Then georeference the document via the edit_geo form 
     42 
     43    >>> browser.mech_browser.set_handle_redirect(False) 
     44    >>> from urllib2 import HTTPError 
     45    >>> doc_url = document.absolute_url() 
     46    >>> try: 
     47    ...     browser.open("%s/@@edit_geo?type=Point&coordinates=[-110,40]" % doc_url) 
     48    ... except HTTPError, exc: 
     49    ...     print str(exc) 
     50    ...     print exc.headers.getheader('Location') 
     51    HTTP Error 302: Moved Temporarily 
     52    localhost?portal_status_message=Changes%20saved. 
     53 
     54Confirm new geo location 
     55 
     56    >>> from Products.PleiadesGeocoder.interfaces import IGeoItemSimple 
     57    >>> item = IGeoItemSimple(document) 
     58    >>> item.__geo_interface__ 
     59    {'geometry': {'type': 'Point', 'coordinates': (-110.0, 40.0, 0.0)}, 'id': 'document', 'properties': {'link': 'http://nohost/plone/Members/test_user_1_/document', 'description': '', 'title': 'document'}} 
    4560 
    4661     
  • PleiadesGeocoder/trunk/tests/test_docfiles.py

    r1175 r1232  
    88from Testing.ZopeTestCase import FunctionalDocFileSuite as Suite 
    99 
    10 from _testing import * 
    11  
    1210PloneTestCase.installProduct('PleiadesGeocoder') 
    1311PloneTestCase.setupPloneSite(products=['PleiadesGeocoder']) 
    1412 
     13TEST_HOME = os.path.abspath(os.path.dirname(__file__)) 
    1514 
    1615REQUIRE_TESTBROWSER = ['FolderGeoViews.txt', 'Georeferencing.txt'] 
    1716 
    18 OPTIONFLAGS = (#doctest.REPORT_ONLY_FIRST_FAILURE | 
     17OPTIONFLAGS = (doctest.REPORT_ONLY_FIRST_FAILURE | 
    1918               doctest.ELLIPSIS | 
    2019               doctest.NORMALIZE_WHITESPACE)