source: products/quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/tests/testMetaTagsDuplication.py @ 3223

Last change on this file since 3223 was 3140, checked in by zidane, 13 years ago

fixes pylint

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