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