source: products/quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/tests/testQSEOptimizerExposeDCMetaTags.py @ 1647

Last change on this file since 1647 was 1610, checked in by liebster, 14 years ago

Changed regular expression in estQSEOptimizerExposeDCMetaTags and testQSEOptimizerMetaTagsDuplication

File size: 2.4 KB
Line 
1import re
2from base import getToolByName, FunctionalTestCase, newSecurityManager
3from config import *
4
5class TestExposeDCMetaTags(FunctionalTestCase):
6
7    def afterSetUp(self):
8        self.qi = self.portal.portal_quickinstaller
9        self.sp = self.portal.portal_properties.site_properties
10        self.qi.installProduct(PROJECT_NAME)
11        self.basic_auth = 'portal_manager:secret'
12        uf = self.app.acl_users
13        uf.userFolderAddUser('portal_manager', 'secret', ['Manager'], [])
14        user = uf.getUserById('portal_manager')
15        if not hasattr(user, 'aq_base'):
16            user = user.__of__(uf)
17        newSecurityManager(None, user)
18
19        '''Preparation for functional testing'''
20        self.my_doc = self.portal.invokeFactory('Document', id='my_doc')
21        self.my_doc = self.portal['my_doc']
22
23    def test_exposeDCMetaTags_in_configletOn(self):
24        path = self.portal.id+'/@@seo-controlpanel?exposeDCMetaTags=True&form.submitted=1'
25        self.publish(path, self.basic_auth)
26        self.assert_(self.sp.exposeDCMetaTags)
27
28    def test_exposeDCMetaTags_in_configletOff(self):
29        self.publish(self.portal.id+'/@@seo-controlpanel?form.submitted=1', self.basic_auth)
30        self.assert_(not self.sp.exposeDCMetaTags)
31
32    def test_exposeDCMetaTagsPropertyOff(self):
33        self.sp.manage_changeProperties(exposeDCMetaTags = False)
34        self.html = str(self.publish(self.portal.id+'/my_doc', self.basic_auth))
35        m1 = re.match('.*(<meta\s+(?:(?:name="DC.format"\s*)|(?:content=".*?"\s*)){2}/>)', self.html, re.S|re.M)
36        m2 = re.match('.*(<meta\s+(?:(?:name="DC.distribution"\s*)|(?:content=".*?"\s*)){2}/>)', self.html, re.S|re.M)
37        m = m1 or m2
38        self.assert_(not m, 'DC meta tags avaliable when exposeDCMetaTags=False')
39
40    def test_exposeDCMetaTagsPropertyOn(self):
41        self.sp.manage_changeProperties(exposeDCMetaTags = True)
42        self.html = str(self.publish(self.portal.id+'/my_doc', self.basic_auth))
43        m1 = re.match('.*(<meta\s+(?:(?:name="DC.format"\s*)|(?:content=".*?"\s*)){2}/>)', self.html, re.S|re.M)
44        m2 = re.match('.*(<meta\s+(?:(?:name="DC.type"\s*)|(?:content=".*?"\s*)){2}/>)', self.html, re.S|re.M)
45        m = m1 and m2
46        self.assert_(m, 'DC meta tags not avaliable when createManager=True')
47
48def test_suite():
49    from unittest import TestSuite, makeSuite
50    suite = TestSuite()
51    suite.addTest(makeSuite(TestExposeDCMetaTags))
52    return suite
Note: See TracBrowser for help on using the repository browser.