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

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

Modified structure tests

File size: 2.8 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\ name="DC.format"\ content=".*?"\ />', self.html, re.S|re.M)
36        if not m1:
37            m1 = re.match('.*<meta content=".*?" name="DC.format" />', self.html, re.S|re.M)
38        m2 = re.match('.*<meta name="DC.distribution" content=".*?" />', self.html, re.S|re.M)
39        if not m2:
40            m2 = re.match('.*<meta content=".*?" name="DC.distribution" />', self.html, re.S|re.M)
41        m = m1 or m2
42        self.assert_(not m, 'DC meta tags avaliable when exposeDCMetaTags=False')
43
44    def test_exposeDCMetaTagsPropertyOn(self):
45        self.sp.manage_changeProperties(exposeDCMetaTags = True)
46        self.html = str(self.publish(self.portal.id+'/my_doc', self.basic_auth))
47        m1 = re.match('.*<meta\ content=".*?"\ name="DC.format"\ />', self.html, re.S|re.M)
48        if not m1:
49            m1 = re.match('.*<meta\ name="DC.format"\ content=".*?"\ />', self.html, re.S|re.M)
50        m2 = re.match('.*<meta\ content=".*?"\ name="DC.type"\ />', self.html, re.S|re.M)
51        if not m2:
52            m2 = re.match('.*<meta\ name="DC.type"\ content=".*?"\ />', self.html, re.S|re.M)
53        m = m1 and m2
54        self.assert_(m, 'DC meta tags not avaliable when createManager=True')
55
56def test_suite():
57    from unittest import TestSuite, makeSuite
58    suite = TestSuite()
59    suite.addTest(makeSuite(TestExposeDCMetaTags))
60    return suite
Note: See TracBrowser for help on using the repository browser.