source: products/quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/tests/testConfiglet.py

Last change on this file was 3547, checked in by ktarasz, 12 years ago

fix pep8

  • Property svn:eol-style set to native
File size: 7.1 KB
Line 
1from quintagroup.seoptimizer.tests.base import FunctionalTestCase
2from Products.PloneTestCase.PloneTestCase import portal_owner, \
3    default_password
4
5from zope.formlib.form import FormFields
6from zope.schema.interfaces import IBool
7from quintagroup.seoptimizer.browser.seo_configlet import ISEOConfigletSchema
8
9
10class TestConfiglet(FunctionalTestCase):
11
12    def afterSetUp(self):
13        self.sp = self.portal.portal_properties.site_properties
14        self.seo = self.portal.portal_properties.seo_properties
15        self.basic_auth = ':'.join((portal_owner, default_password))
16        self.loginAsPortalOwner()
17        self.save_url = self.portal.id + '/@@seo-controlpanel?' \
18            'form.actions.save=1&_authenticator=%s' % self._getauth()
19
20    def test_exposeDCMetaTags_On(self):
21        self.publish(self.save_url + '&form.exposeDCMetaTags=on',
22                     self.basic_auth)
23        self.assert_(self.sp.exposeDCMetaTags)
24
25    def test_exposeDCMetaTags_Off(self):
26        self.publish(self.save_url + '&form.exposeDCMetaTags=',
27                     self.basic_auth)
28        self.assertTrue(not self.sp.exposeDCMetaTags)
29
30    def test_defaultCustomMetatags_On(self):
31        expect = ('test', 'custom', 'metatags')
32        formdata = "\n".join(expect)
33        self.publish(self.save_url + '&form.default_custom_metatags=%s'
34                     % formdata, self.basic_auth)
35
36        dcm = self.seo.getProperty("default_custom_metatags", ())
37        self.assertTrue(dcm == expect, '"default_custom_metatags" property '
38                        'contains: "%s", must: "%s"' % (dcm, expect))
39
40    def test_defaultCustomMetatags_Off(self):
41        data = ('test', 'custom', 'metatags')
42        self.seo._updateProperty("default_custom_metatags", data)
43        self.publish(self.save_url + '&form.default_custom_metatags=',
44                     self.basic_auth)
45
46        dcm = self.seo.getProperty("default_custom_metatags", ())
47        self.assertTrue(dcm == (), '"default_custom_metatags" property '
48                        'contains: "%s", must be empty"' % str(dcm))
49
50    def test_metatagsOrder_On(self):
51        expect = ('test', 'metatags', 'order')
52        formdata = "\n".join(expect)
53        self.publish(self.save_url + '&form.metatags_order=%s' % formdata,
54                     self.basic_auth)
55
56        mo = self.seo.getProperty("metatags_order", ())
57        self.assertTrue(mo == expect, '"metatags_order" property '
58                        'contains: "%s", must: "%s"' % (mo, expect))
59
60    def test_metatagsOrder_Off(self):
61        data = ('test', 'metatags', 'order')
62        self.seo._updateProperty("metatags_order", data)
63        self.publish(self.save_url + '&form.metatags_order=',
64                     self.basic_auth)
65
66        mo = self.seo.getProperty("metatags_order", ())
67        self.assertTrue(mo == (), '"metatags_order" property '
68                        'contains: "%s", must be empty"' % str(mo))
69
70    def test_typesSEOEnabled_On(self):
71        expect = 'Event'
72        self.publish(self.save_url + "&form.types_seo_enabled=%s" % expect,
73                     self.basic_auth)
74        tse = self.seo.getProperty("content_types_with_seoproperties", ())
75        self.assertTrue(tse == (expect,),
76                        '"content_types_with_seoproperties" property '
77                        'contains:" %s", must: "%s"' % (tse, expect))
78
79    def test_typesSEOEnabled_Off(self):
80        self.publish(self.save_url + '&form.types_seo_enabled-empty-marker=1',
81                     self.basic_auth)
82
83        tse = self.seo.getProperty("content_types_with_seoproperties", ())
84        self.assertTrue(tse == (), '"content_types_with_seoproperties" '
85                        'property contains: "%s", must be empty"' % str(tse))
86
87    def test_CustomScriptAdd(self):
88        expect = "<script>\n<!-- Test custom script -->\n</script>"
89
90        self.publish(self.save_url + '&form.custom_script=%s' % expect,
91                     self.basic_auth)
92
93        cs = self.seo.getProperty("custom_script", "")
94        self.assertTrue(cs == expect, '"custom_script" property '
95                        'contains: "%s", but "%s" must be"' % (cs, expect))
96
97    def test_CustomScriptDel(self):
98        self.publish(self.save_url + '&form.custom_script=',
99                     self.basic_auth)
100
101        cs = self.seo.getProperty("custom_script", "")
102        self.assertTrue(cs == "", '"custom_script" property '
103                        'contains: "%s", must be empty"' % cs)
104
105    def test_fieldsAdd(self):
106        expect = ('field1', 'field2')
107        formdata = "\n".join(expect)
108        self.publish(self.save_url + '&form.fields=%s' % formdata,
109                     self.basic_auth)
110
111        f = self.seo.getProperty("fields", ())
112        self.assertTrue(f == expect, '"fields" property '
113                        'contains: "%s", must: "%s"' % (f, expect))
114
115    def test_fieldsDel(self):
116        data = ('field1', 'field2')
117        self.seo._updateProperty("fields", data)
118        self.publish(self.save_url + '&form.fields=',
119                     self.basic_auth)
120
121        f = self.seo.getProperty("fields", ())
122        self.assertTrue(f == (), '"fields" property '
123                        'contains: "%s", must be empty"' % str(f))
124
125    def test_stopWordsAdd(self):
126        expect = ('sw1', 'sw2', 'sw3')
127        formdata = "\n".join(expect)
128        self.publish(self.save_url + '&form.stop_words=%s' % formdata,
129                     self.basic_auth)
130
131        f = self.seo.getProperty("stop_words", ())
132        self.assertTrue(f == expect, '"stop_words" property '
133                        'contains: "%s", must: "%s"' % (f, expect))
134
135    def test_stopWordsDel(self):
136        data = ('sw1', 'sw2', 'sw3')
137        self.seo._updateProperty("stop_words", data)
138        self.publish(self.save_url + '&form.stop_words=',
139                     self.basic_auth)
140
141        f = self.seo.getProperty("stop_words", ())
142        self.assertTrue(f == (), '"stop_words" property '
143                        'contains: "%s", must be empty"' % str(f))
144
145    def test_externalKeywordTest(self):
146        fields = FormFields(ISEOConfigletSchema)
147        ffield = fields.get("external_keywords_test")
148        self.assertTrue(ffield is not None,
149                        'Not found "external_keywords_test" field in '
150                        'ISEOConfigletSchema interface')
151        self.assertTrue(IBool.providedBy(ffield.field),
152                        '"external_keywords_test" is not boolean type field')
153        self.assertTrue(ffield.field.default is False,
154                        '"external_keywords_test" field default value '
155                        'is not set to False')
156
157    def test_externalKeyword_On(self):
158        self.publish(self.save_url + '&form.external_keywords_test=on',
159                     self.basic_auth)
160        self.assert_(self.seo.external_keywords_test)
161
162    def test_externalKeyword_Off(self):
163        self.publish(self.save_url + '&form.external_keywords_test=',
164                     self.basic_auth)
165        self.assertTrue(not self.seo.external_keywords_test)
166
167
168def test_suite():
169    from unittest import TestSuite, makeSuite
170    suite = TestSuite()
171    suite.addTest(makeSuite(TestConfiglet))
172    return suite
Note: See TracBrowser for help on using the repository browser.