Changeset 1232
- Timestamp:
- 11/21/07 18:45:28 (1 year ago)
- Files:
-
- PleiadesGeocoder/trunk/configure.zcml (modified) (1 diff)
- PleiadesGeocoder/trunk/tests/FolderGeoViews.txt (modified) (14 diffs)
- PleiadesGeocoder/trunk/tests/Georeferencing.txt (modified) (2 diffs)
- PleiadesGeocoder/trunk/tests/test_docfiles.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
PleiadesGeocoder/trunk/configure.zcml
r1229 r1232 80 80 /> 81 81 82 <five:traversable class="Products.ATContentTypes.content.base.BaseContent"/>83 84 82 <include package=".browser"/> 85 83 PleiadesGeocoder/trunk/tests/FolderGeoViews.txt
r1221 r1232 5 5 6 6 A lot of this is cribbed from optilude's tutorial on plone.org. 7 8 Setup the test fixture9 10 >>> from Products.Five import zcml11 >>> import Products12 >>> zcml.load_config('configure.zcml', package=Products.PleiadesGeocoder)13 >>> from Products.PloneTestCase import PloneTestCase14 >>> PloneTestCase.installProduct('PleiadesGeocoder')15 16 >>> from Products.PleiadesGeocoder.interfaces import IGeoItemSimple17 >>> folder = self.folder18 >>> folder.setDescription('The testing folder')19 7 20 8 Georeference the test user … … 30 18 Add one doc to the folder, and georeference it 31 19 20 >>> folder = self.folder 21 >>> folder.setDescription('The testing folder') 32 22 >>> folder.invokeFactory('Document', id='document') 33 23 'document' 34 24 >>> document = folder.document 25 >>> from Products.PleiadesGeocoder.interfaces import IGeoItemSimple 35 26 >>> item = IGeoItemSimple(document) 36 27 >>> item.setGeoInterface('Point', (-105.083733, 40.585609)) … … 58 49 >>> folder_url = folder.absolute_url() 59 50 51 Login 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 60 64 GeoRSS 61 65 … … 64 68 'application/atom+xml; charset=utf-8' 65 69 >>> print browser.contents 66 <?xml version="1.0" encoding="utf-8"?>70 <?xml...?> 67 71 <feed xmlns="http://www.w3.org/2005/Atom" 68 72 xmlns:georss="http://www.georss.org/georss" … … 103 107 >>> browser.open("%s/georss?maxitems=0" % folder_url) 104 108 >>> print browser.contents 105 <?xml version="1.0" encoding="utf-8"?>109 <?xml...?> 106 110 <feed xmlns="http://www.w3.org/2005/Atom" 107 111 xmlns:georss="http://www.georss.org/georss" … … 126 130 True 127 131 >>> print browser.contents 128 <?xml version="1.0" encoding="utf-8"?>132 <?xml...?> 129 133 <kml xmlns="http://earth.google.com/kml/2.1"> 130 134 <BLANKLINE> … … 175 179 True 176 180 >>> print browser.contents 177 <?xml version="1.0" encoding="utf-8"?>181 <?xml...?> 178 182 <kml xmlns="http://earth.google.com/kml/2.1"> 179 183 <BLANKLINE> … … 195 199 >>> browser.open("%s/Members/georss" % self.portal.absolute_url()) 196 200 >>> print browser.contents 197 <?xml version="1.0" encoding="utf-8"?>201 <?xml...?> 198 202 <feed xmlns="http://www.w3.org/2005/Atom" 199 203 xmlns:georss="http://www.georss.org/georss" … … 201 205 <BLANKLINE> 202 206 <BLANKLINE> 203 <title> Members</title>207 <title>...</title> 204 208 <link rel="self" href="http://nohost/plone/Members"/> 205 209 <updated/> … … 231 235 >>> browser.open("%s/Members/kml" % self.portal.absolute_url()) 232 236 >>> print browser.contents 233 <?xml version="1.0" encoding="utf-8"?>237 <?xml...?> 234 238 <kml xmlns="http://earth.google.com/kml/2.1"> 235 239 <BLANKLINE> … … 245 249 </PolyStyle> 246 250 </Style> 247 <name> Members</name>251 <name>...</name> 248 252 <visibility>0</visibility> 249 253 <open>0</open> … … 278 282 >>> browser.open("%s/Members/nwlink" % self.portal.absolute_url()) 279 283 >>> print browser.contents 280 <?xml version="1.0" encoding="utf-8"?>284 <?xml...?> 281 285 <kml xmlns="http://earth.google.com/kml/2.1"> 282 286 <BLANKLINE> 283 287 <BLANKLINE> 284 288 <NetworkLink> 285 <name> Members</name>286 <description>Container for portal members'home directories</description>289 <name>...</name> 290 <description>Container for ... home directories</description> 287 291 <Link> 288 292 <href>http://nohost/plone/Members/kml</href> … … 298 302 >>> browser.open("%s/georss" % document.absolute_url()) 299 303 >>> print browser.contents 300 <?xml version="1.0" encoding="utf-8"?>304 <?xml...?> 301 305 <feed xmlns="http://www.w3.org/2005/Atom" 302 306 xmlns:georss="http://www.georss.org/georss" … … 335 339 >>> browser.open("%s/kml" % document.absolute_url()) 336 340 >>> print browser.contents 337 <?xml version="1.0" encoding="utf-8"?>341 <?xml...?> 338 342 <kml xmlns="http://earth.google.com/kml/2.1"> 339 343 <BLANKLINE> PleiadesGeocoder/trunk/tests/Georeferencing.txt
r1218 r1232 2 2 ================== 3 3 4 >>> from Products.Five import zcml5 >>> import Products6 >>> zcml.load_config('configure.zcml', package=Products.PleiadesGeocoder)7 >>> from Products.PloneTestCase import PloneTestCase8 >>> PloneTestCase.installProduct('PleiadesGeocoder')9 10 4 Initialize the test browser 11 5 12 >>> from Products.Five.testbrowser import Browser13 >>> browser = Browser()14 >>> browser.handleErrors = True6 >>> from Products.Five.testbrowser import Browser 7 >>> browser = Browser() 8 >>> browser.handleErrors = True 15 9 16 10 Let us log all exceptions, which is useful for debugging. Also, clear portlet … … 18 12 and the navtree. 19 13 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 = [] 22 16 23 Create a test page17 Create a test document 24 18 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 34 27 35 Georeference via edit_geo 28 Login 36 29 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 41 Then 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 54 Confirm 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'}} 45 60 46 61 PleiadesGeocoder/trunk/tests/test_docfiles.py
r1175 r1232 8 8 from Testing.ZopeTestCase import FunctionalDocFileSuite as Suite 9 9 10 from _testing import *11 12 10 PloneTestCase.installProduct('PleiadesGeocoder') 13 11 PloneTestCase.setupPloneSite(products=['PleiadesGeocoder']) 14 12 13 TEST_HOME = os.path.abspath(os.path.dirname(__file__)) 15 14 16 15 REQUIRE_TESTBROWSER = ['FolderGeoViews.txt', 'Georeferencing.txt'] 17 16 18 OPTIONFLAGS = ( #doctest.REPORT_ONLY_FIRST_FAILURE |17 OPTIONFLAGS = (doctest.REPORT_ONLY_FIRST_FAILURE | 19 18 doctest.ELLIPSIS | 20 19 doctest.NORMALIZE_WHITESPACE)
