Changeset 1475 in products


Ignore:
Timestamp:
Dec 25, 2009 2:20:56 PM (14 years ago)
Author:
liebster
Message:

correction tests

Location:
quintagroup.seoptimizer/trunk/quintagroup/seoptimizer
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/browser/views.py

    r1468 r1475  
    11from sets import Set 
     2from DateTime import DateTime  
    23from Acquisition import aq_inner 
    34from zope.component import queryAdapter 
     
    3233        if context.hasProperty(property_name): 
    3334            return context.getProperty(property_name) 
    34          
     35 
    3536        if accessor: 
    3637            method = getattr(context, accessor, None) 
     
    4344            except AttributeError: 
    4445                value = None 
    45          
     46 
    4647            return value 
    4748 
     
    6162            Generate Description from SEO properties  
    6263        """ 
    63          
     64 
    6465        return self.getSEOProperty( 'qSEO_description', accessor = 'Description') 
    6566 
     
    7778        tags = self.seo_globalCustomMetaTags() 
    7879        loc = self.seo_localCustomMetaTags() 
    79  
    8080        names = [i['meta_name'] for i in tags] 
    8181        add_tags = [] 
     
    139139        html_comment = self.getSEOProperty( 'qSEO_html_comment' ) 
    140140        return html_comment and html_comment or ''  
    141          
     141 
    142142    def seo_keywords( self ): 
    143143        """ 
     
    173173 
    174174        return value 
    175      
     175 
    176176    def seo_canonical( self ): 
    177177        """ 
     
    415415                state = _('seoproperties_saved', default=u'Content SEO properties have been saved.') 
    416416                context.plone_utils.addPortalMessage(state) 
     417                kwargs = {'modification_date' : DateTime()}  
     418                context.plone_utils.contentEdit(context, **kwargs)  
    417419                return request.response.redirect(self.context.absolute_url()) 
    418420            context.plone_utils.addPortalMessage(state, 'error') 
  • quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/tests/testQSEOptimizer.py

    r1458 r1475  
    22import string 
    33import urllib 
     4from cStringIO import StringIO 
    45from zope.component import getMultiAdapter 
    56from Products.Five import zcml, fiveconfigure 
     
    167168        self.qi = self.portal.portal_quickinstaller 
    168169        self.qi.installProduct(PRODUCT) 
    169         #self.portal.changeSkin('Plone Default') 
    170  
    171         self.basic_auth = 'mgr:mgrpw' 
    172         self.loginAsPortalOwner() 
     170        self.sp = self.portal.portal_properties.seo_properties 
     171        self.pu = self.portal.plone_utils 
     172        self.basic_auth = 'portal_manager:secret' 
     173 
     174        uf = self.app.acl_users 
     175        uf.userFolderAddUser('portal_manager', 'secret', ['Manager'], []) 
     176        user = uf.getUserById('portal_manager') 
     177        if not hasattr(user, 'aq_base'): 
     178            user = user.__of__(uf) 
     179        newSecurityManager(None, user) 
    173180 
    174181        '''Preparation for functional testing''' 
    175182        my_doc = self.portal.invokeFactory('Document', id='my_doc') 
    176183        my_doc = self.portal['my_doc'] 
    177         self.canonurl = 'http://test.site.com/test.html' 
    178         self.sp = self.portal.portal_properties.seo_properties 
     184        self.canonurl = 'http://nohost/plone/test.html' 
    179185        self.sp.manage_changeProperties(**global_custom_metatags) 
    180  
    181         my_doc.qseo_properties_edit(title='hello world', title_override=1, 
    182                                     description='it is description', description_override=1, 
    183                                     keywords='my1|key2', keywords_override=1, 
    184                                     html_comment='no comments', html_comment_override=1, 
    185                                     robots='ALL', robots_override=1, 
    186                                     distribution='Global', distribution_override=1, 
    187                                     canonical=self.canonurl, canonical_override=1, 
    188                                     custommetatags=custom_metatags, custommetatags_override=1) 
     186        abs_path = "/%s" % my_doc.absolute_url(1) 
     187        self.form_data = {'seo_description': 'it is description', 'seo_keywords_override:int': 1, 'seo_custommetatags_override:int': 1, 
     188                        'seo_robots_override:int': 1, 'seo_robots': 'ALL', 'seo_description_override:int': 1, 'seo_canonical_override:int': 1, 
     189                        'seo_keywords:list': 'keyword1', 'seo_html_comment': 'no comments', 
     190                        'seo_title_override:int': 1, 'seo_title': 'hello world', 'seo_html_comment_override:int': 1, 
     191                        'seo_distribution_override:int': 1, 'seo_distribution': 'Global', 'seo_canonical': self.canonurl, 'form.submitted:int': 1} 
     192        st = '' 
     193        for d in custom_metatags: 
     194            st += '&seo_custommetatags.meta_name:records=%s&seo_custommetatags.meta_content:records=%s' % (d['meta_name'],d['meta_content']) 
     195        self.publish(path=abs_path+'/@@seo-context-properties', basic=self.basic_auth, request_method='POST', stdin=StringIO(urllib.urlencode(self.form_data)+st)) 
     196        #self.publish(abs_path+'/@@seo-context-properties?%s' % urllib.urlencode(self.form_data), self.basic_auth) 
    189197 
    190198        wf_tool = self.portal.portal_workflow 
    191199        wf_tool.doActionFor(my_doc, 'publish') 
    192200 
    193         abs_path = "/%s" % my_doc.absolute_url(1) 
    194201        self.abs_path = abs_path 
    195202        self.my_doc = my_doc 
     
    222229 
    223230    def testKeywords(self): 
    224         m = re.match('.*<meta name="keywords" content="my1|key2" />', self.html, re.S|re.M) 
    225         if not m: 
    226              m = re.match('.*<meta content="my1|key2" name="keywords" />', self.html, re.S|re.M) 
     231        m = re.match('.*<meta name="keywords" content="keyword1" />', self.html, re.S|re.M) 
     232        if not m: 
     233             m = re.match('.*<meta content="keyword1" name="keywords" />', self.html, re.S|re.M) 
    227234        self.assert_(m, 'Keywords not set in') 
    228235 
     
    281288        self.sp.manage_changeProperties(**{'default_custom_metatags':'metatag1|global_metatag1value'}) 
    282289        my_doc = self.my_doc 
    283         my_doc.qseo_properties_edit(custommetatags=custom_metatags, custommetatags_override=0) 
     290        self.form_data = {'seo_custommetatags': custom_metatags,  'seo_custommetatags_override:int': 0, 'form.submitted:int': 1} 
     291        self.publish(path=self.abs_path+'/@@seo-context-properties', basic=self.basic_auth, request_method='POST', stdin=StringIO(urllib.urlencode(self.form_data))) 
    284292        html = self.publish(self.abs_path, self.basic_auth).getBody() 
    285293        m = re.search('<meta name="metatag4" content="global_metatag4value" />' , html, re.S|re.M) 
     
    290298        if not m: 
    291299            m = re.search('<meta content="global_metatag1value" name="metatag1" />' , html, re.S|re.M) 
    292         self.assert_(m, "Global custom meta tag %s is prosent in the page." % 'metatag4') 
     300        self.assert_(m, "Global custom meta tag %s not applied." % 'metatag1') 
    293301 
    294302    def testCanonical(self): 
     
    317325        self.sp = self.portal.portal_properties.seo_properties 
    318326        self.pu = self.portal.plone_utils 
    319         #self.portal.changeSkin('Plone Default') 
    320327 
    321328        self.basic_auth = 'portal_manager:secret' 
     
    387394        self.my_doc.manage_addProperty('qSEO_keywords', ('baz',), 'lines') 
    388395        self.html = str(self.publish(self.portal.id+'/my_doc', self.basic_auth)) 
    389         m = re.match('.*<meta\ content="baz,\ foo,\ bar"\ name="keywords"\ />', self.html, re.S|re.M) 
    390         if not m: 
    391             m = re.match('.*<meta\ name="keywords"\ content="baz,\ foo,\ bar"\ />', self.html, re.S|re.M) 
     396        m = re.findall('.*(<meta\s+(?:content="(?:(?:baz|bar|foo),\s*(?:baz|foo|bar),\s*(?:baz|foo|bar)"\s*)|(?:name="keywords"\s*)){2}/>)', self.html, re.S|re.M) 
    392397        self.assert_(m, "No 'foo, bar, baz' keyword find") 
    393398 
     
    399404        self.sp = self.portal.portal_properties.site_properties 
    400405        self.qi.installProduct(PRODUCT) 
    401         #self.portal.changeSkin('Plone Default') 
    402  
    403406        self.basic_auth = 'portal_manager:secret' 
    404407        uf = self.app.acl_users 
     
    424427    def test_exposeDCMetaTagsPropertyOff(self): 
    425428        self.sp.manage_changeProperties(exposeDCMetaTags = False) 
    426  
    427         self.my_doc.qseo_properties_edit() 
    428429        self.html = str(self.publish(self.portal.id+'/my_doc', self.basic_auth)) 
    429430        m1 = re.match('.*<meta\ name="DC.format"\ content=".*?"\ />', self.html, re.S|re.M) 
     
    438439    def test_exposeDCMetaTagsPropertyOn(self): 
    439440        self.sp.manage_changeProperties(exposeDCMetaTags = True) 
    440         self.my_doc.qseo_properties_edit() 
    441441        self.html = str(self.publish(self.portal.id+'/my_doc', self.basic_auth)) 
    442442        m1 = re.match('.*<meta\ content=".*?"\ name="DC.format"\ />', self.html, re.S|re.M) 
     
    522522        my_doc = self.portal['my_doc'] 
    523523        regen = re.compile('<base\s+[^>]*href=\"([^\"]*)\"[^>]*>', re.S|re.M) 
    524          
     524 
    525525        path = "/%s" % my_doc.absolute_url(1) 
    526526        html = self.publish(path, self.basic_auth).getBody() 
    527527        burls = regen.findall(html) 
    528          
     528 
    529529        mydocurl = my_doc.absolute_url() 
    530530        self.assert_(not [1 for burl in burls if not burl==mydocurl], 
     
    566566 
    567567        md_before = my_doc.modification_date 
    568         my_doc.qseo_properties_edit(title="New Title") 
     568        abs_path = "/%s" % my_doc.absolute_url(1) 
     569        form_data = {'seo_title': 'New Title',  'seo_title_override:int': 1, 'form.submitted:int': 1} 
     570        self.publish(path=abs_path+'/@@seo-context-properties', basic=self.basic_auth, request_method='POST', stdin=StringIO(urllib.urlencode(form_data))) 
    569571        md_after = my_doc.modification_date 
    570  
    571572        self.assertNotEqual(md_before, md_after) 
    572573 
    573          
     574 
    574575TESTS = [TestBeforeInstall, 
    575576         TestInstallation, 
Note: See TracChangeset for help on using the changeset viewer.