Changeset 1608 in products for quintagroup.seoptimizer/trunk


Ignore:
Timestamp:
Jan 29, 2010 4:50:23 PM (14 years ago)
Author:
liebster
Message:

Added tests for setup using keywords

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

Legend:

Unmodified
Added
Removed
  • quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/tests/testQSEOptimizerAdditionalKeywords.py

    r1493 r1608  
    11import urllib, re 
     2from Acquisition import aq_inner 
    23from base import getToolByName, FunctionalTestCase, newSecurityManager 
    34from config import * 
     
    2324        self.my_doc = self.portal['my_doc'] 
    2425 
     26    def test_default_values_radiobutton_in_configlet(self): 
     27        self.assertEqual(self.sp.getProperty('settings_use_keywords_sg', 0), 1) 
     28        self.assertEqual(self.sp.getProperty('settings_use_keywords_lg', 0), 1) 
     29 
     30    def test_changes_using_keywords_in_configlet(self): 
     31        for sg, lg in ((1, 1), (1, 2), (2, 1), (2, 2), (3, 1), (3, 2)): 
     32            path = self.portal.id+'/@@seo-controlpanel?settingsUseKeywordsSG=%s'\ 
     33                                '&settingsUseKeywordsLG=%s&form.submitted=1' % (sg, lg) 
     34            self.publish(path, self.basic_auth) 
     35            self.assertEqual(self.sp.getProperty('settings_use_keywords_sg', 0), sg) 
     36            self.assertEqual(self.sp.getProperty('settings_use_keywords_lg', 0), lg) 
     37 
    2538    def test_additional_keywords_in_configlet(self): 
    2639        quoted_keywords = urllib.quote('foo\nbar') 
     
    3548        self.assert_('keywords' not in metatags) 
    3649 
    37     def test_listMetaTags_one(self):         
     50    def test_listMetaTags_one(self): 
     51        self.sp.manage_changeProperties(settings_use_keywords_sg=3, settings_use_keywords_lg=2) 
    3852        self.my_doc.manage_addProperty('qSEO_keywords', ('foo',), 'lines') 
    3953        self.html = str(self.publish(self.portal.id+'/my_doc', self.basic_auth)) 
    40         m = re.match('.*<meta\ content="foo"\ name="keywords"\ />', self.html, re.S|re.M) 
    41         if not m: 
    42             m = re.match('.*<meta\ name="keywords"\ content="foo"\ />', self.html, re.S|re.M) 
     54        m = re.match('.*(<meta\s+(?:(?:name="keywords"\s*)|(?:content="foo"\s*)){2}/>)', self.html, re.S|re.M) 
    4355        self.assert_(m, "No 'foo' keyword find") 
    4456 
    45     def test_listMetaTags_two(self):         
     57    def test_listMetaTags_two(self): 
     58        self.sp.manage_changeProperties(settings_use_keywords_sg=3, settings_use_keywords_lg=2) 
    4659        self.my_doc.manage_addProperty('qSEO_keywords', ('foo', 'bar'), 'lines') 
    4760        self.html = str(self.publish(self.portal.id+'/my_doc', self.basic_auth)) 
    48         m = re.match('.*<meta\ content="foo, bar"\ name="keywords"\ />', self.html, re.S|re.M) 
    49         if not m: 
    50             m = re.match('.*<meta\ name="keywords"\ content="foo, bar"\ />', self.html, re.S|re.M) 
     61        m = re.match('.*(<meta\s+(?:(?:name="keywords"\s*)|(?:content="(?:foo|bar),\s*(?:foo|bar)"\s*)){2}/>)', 
     62                     self.html, re.S|re.M) 
    5163        self.assert_(m, "No 'foo, bar' keyword find") 
    5264 
    53     def test_additional_keywords_in_listMetaTags_empty(self):         
     65    def test_additional_keywords_in_listMetaTags_empty(self): 
     66        self.sp.manage_changeProperties(settings_use_keywords_sg=3, settings_use_keywords_lg=2) 
    5467        self.sp.additional_keywords = ('foo',) 
    5568        metatags = self.pu.listMetaTags(self.my_doc) 
     
    5770 
    5871    def test_additional_keywords_in_listMetaTags_one(self): 
    59         self.my_doc.setText('<p>foo</p>') 
     72        self.sp.manage_changeProperties(settings_use_keywords_sg=3, settings_use_keywords_lg=2) 
     73        #self.my_doc.setText('<p>foo</p>') # XXX 
    6074        self.sp.additional_keywords = ('foo',) 
    6175        self.html = str(self.publish(self.portal.id+'/my_doc', self.basic_auth)) 
    62         m = re.match('.*<meta\ content="foo"\ name="keywords"\ />', self.html, re.S|re.M) 
    63         if not m: 
    64             m = re.match('.*<meta\ name="keywords"\ content="foo"\ />', self.html, re.S|re.M) 
     76        m = re.match('.*(<meta\s+(?:(?:name="keywords"\s*)|(?:content="foo"\s*)){2}/>)', self.html, re.S|re.M) 
    6577        self.assert_(m, "No 'foo' keyword find") 
    6678 
    6779    def test_additional_keywords_in_listMetaTags_two(self): 
    68         self.my_doc.setText('<p>foo bar</p>') 
     80        self.sp.manage_changeProperties(settings_use_keywords_sg=3, settings_use_keywords_lg=2) 
     81        #self.my_doc.setText('<p>foo bar</p>') # XXX 
    6982        self.sp.additional_keywords = ('foo', 'bar') 
    7083        self.html = str(self.publish(self.portal.id+'/my_doc', self.basic_auth)) 
    71         m = re.match('.*<meta\ content="foo, bar"\ name="keywords"\ />', self.html, re.S|re.M) 
    72         if not m: 
    73             m = re.match('.*<meta\ name="keywords"\ content="foo, bar"\ />', self.html, re.S|re.M) 
     84        m = re.match('.*(<meta\s+(?:(?:name="keywords"\s*)|(?:content="(?:foo|bar),\s*(?:foo|bar)"\s*)){2}/>)', 
     85                    self.html, re.S|re.M) 
    7486        self.assert_(m, "No 'foo, bar' keyword find") 
    7587 
    76     def test_additional_keywords_in_listMetaTags_merge(self): 
    77         self.my_doc.setText('<p>foo bar</p>') 
    78         self.sp.additional_keywords = ('foo', 'bar') 
    79         self.my_doc.manage_addProperty('qSEO_keywords', ('baz',), 'lines') 
    80         self.html = str(self.publish(self.portal.id+'/my_doc', self.basic_auth)) 
    81         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) 
    82         self.assert_(m, "No 'foo, bar, baz' keyword find") 
     88    def setup_testing_render_keywords(self): 
     89        self.sp.additional_keywords = (('global',)) 
     90        self.my_doc.manage_addProperty('qSEO_keywords', ('local'), 'lines') 
     91        aq_inner(self.my_doc).aq_explicit.setSubject('subject') 
     92        html = str(self.publish(self.portal.id+'/my_doc', self.basic_auth)) 
     93        return html 
     94 
     95    def test_render_only_subject(self): 
     96        self.sp.manage_changeProperties(settings_use_keywords_sg=1, settings_use_keywords_lg=1) 
     97        self.html = self.setup_testing_render_keywords() 
     98        m = re.match('.*(<meta\s+(?:(?:name="keywords"\s*)|(?:content="subject"\s*)){2}/>)', self.html, re.S|re.M) 
     99        self.assert_(m, "No 'subject' keyword find") 
     100 
     101    def test_render_subject_and_local_seokeywords(self): 
     102        self.sp.manage_changeProperties(settings_use_keywords_sg=1, settings_use_keywords_lg=2) 
     103        self.html = self.setup_testing_render_keywords() 
     104        m = re.match('.*(<meta\s+(?:(?:name="keywords"\s*)|(?:content="(?:subject|local),\s*(?:subject|local)"\s*)){2}/>)', 
     105                    self.html, re.S|re.M) 
     106        self.assert_(m, "No 'subject, local' keywords find") 
     107 
     108    def test_render_only_global_seokeywords(self): 
     109        self.sp.manage_changeProperties(settings_use_keywords_sg=2, settings_use_keywords_lg=1) 
     110        self.html = self.setup_testing_render_keywords() 
     111        m = re.match('.*(<meta\s+(?:(?:name="keywords"\s*)|(?:content="global"\s*)){2}/>)', self.html, re.S|re.M) 
     112        self.assert_(m, "No 'global' keyword find") 
     113 
     114    def test_render_global_and_local_seokeywords(self): 
     115        self.sp.manage_changeProperties(settings_use_keywords_sg=2, settings_use_keywords_lg=2) 
     116        self.html = self.setup_testing_render_keywords() 
     117        m = re.match('.*(<meta\s+(?:(?:name="keywords"\s*)|(?:content="(?:global|local),\s*(?:global|local)"\s*)){2}/>)', 
     118                    self.html, re.S|re.M) 
     119        self.assert_(m, "No 'global, local' keywords find") 
     120 
     121    def test_render_subject_and_global_seokeywords(self): 
     122        self.sp.manage_changeProperties(settings_use_keywords_sg=3, settings_use_keywords_lg=1) 
     123        self.html = self.setup_testing_render_keywords() 
     124        m = re.match('.*(<meta\s+(?:(?:name="keywords"\s*)|(?:content="(?:subject|global),\s*(?:subject|global)"\s*)){2}/>)', 
     125                    self.html, re.S|re.M) 
     126        self.assert_(m, "No 'subject, global' keywords find") 
     127 
     128    def test_render_subject_and_global_and_local_seokeywords(self): 
     129        self.sp.manage_changeProperties(settings_use_keywords_sg=3, settings_use_keywords_lg=2) 
     130        self.html = self.setup_testing_render_keywords() 
     131        m = re.match('.*(<meta\s+(?:(?:name="keywords"\s*)|(?:content="(?:subject|global|local),\s*(?:subject|global|local),\s*(?:subject|global|local)"\s*)){2}/>)', 
     132                    self.html, re.S|re.M) 
     133        self.assert_(m, "No 'subject, global, local' keywords find") 
     134 
    83135 
    84136def test_suite(): 
  • quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/tests/testQSEOptimizerResponse.py

    r1493 r1608  
    2525        self.canonurl = 'http://nohost/plone/test.html' 
    2626        self.sp.manage_changeProperties(**GLOBAL_CUSTOM_METATAGS) 
     27        self.sp.manage_changeProperties(settings_use_keywords_sg=3, settings_use_keywords_lg=2) 
    2728        abs_path = "/%s" % my_doc.absolute_url(1) 
    2829        self.form_data = {'seo_description': 'it is description', 'seo_keywords_override:int': 1, 'seo_custommetatags_override:int': 1, 
Note: See TracChangeset for help on using the changeset viewer.