source: products/quintagroup.seoptimizer/branches/refactoring2.3.0/quintagroup/seoptimizer/tests/testMetaTagsDuplication.py @ 1897

Last change on this file since 1897 was 1897, checked in by mylan, 14 years ago

#161: Use test cases with Installed and NotInstalled? layers

File size: 2.2 KB
Line 
1import re
2from base import *
3
4GENERATOR = re.compile('.*(<meta\s+(?:(?:name="generator"\s*)|' \
5                       '(?:content=".*?"\s*)){2}/>)', re.S|re.M)
6DESCRIPTION = re.compile('.*(<meta\s+(?:(?:name="description"\s*)|' \
7                         '(?:content=".*?"\s*)){2}/>)', re.S|re.M)
8
9class InstallMixin:
10
11    def prepare(self):
12        # Preparation for functional testing
13        self.loginAsPortalOwner()
14        self.my_doc = self.portal.invokeFactory('Document', id='my_doc')
15        self.my_doc = self.portal['my_doc']
16        self.my_doc.update(description="Document description")
17        self.portal.portal_workflow.doActionFor(self.my_doc, 'publish')
18        self.logout()
19        # Get document without customized canonical url
20        self.abs_path = "/%s" % self.my_doc.absolute_url(1)
21        self.html = self.publish(self.abs_path).getBody()
22
23
24class TestTagsDuplicationInstalled(InstallMixin, FunctionalTestCase):
25
26    def afterSetUp(self):
27        self.prepare()
28
29    def test_GeneratorMetaSEOInstalled(self):
30        lengen = len(GENERATOR.findall(self.html))
31        self.assert_(lengen==1, "There is %d generator meta tag(s) " \
32           "when seoptimizer installed" % lengen)
33 
34    def test_DescriptionMetaSEOInstalled(self):
35        lendesc = len(DESCRIPTION.findall(self.html))
36        self.assert_(lendesc==1, "There is %d DESCRIPTION meta tag(s) " \
37           "when seoptimizer installed" % lendesc)
38
39
40class TestTagsDuplicationNotInstalled(InstallMixin,
41                                      FunctionalTestCaseNotInstalled):
42
43    def afterSetUp(self):
44        self.prepare()
45
46    def test_GeneratorMetaSEOUninstalled(self):
47        lengen = len(GENERATOR.findall(self.html))
48        self.assert_(lengen<=1, "There is %d generator meta tag(s) " \
49            "when seoptimizer uninstalled" % lengen)
50
51    def test_DescriptionMetaSEOUninstalled(self):
52        lendesc = len(DESCRIPTION.findall(self.html))
53        self.assert_(lendesc==1, "There is %d DESCRIPTION meta tag(s) " \
54           "when seoptimizer uninstalled" % lendesc)
55
56
57def test_suite():
58    from unittest import TestSuite, makeSuite
59    suite = TestSuite()
60    suite.addTest(makeSuite(TestTagsDuplicationInstalled))
61    suite.addTest(makeSuite(TestTagsDuplicationNotInstalled))
62    return suite
Note: See TracBrowser for help on using the repository browser.