[Checkins] SVN: Products.CMFDefault/trunk/Products/CMFDefault/browser/admin/tests/test_syndication.py Folder syndication tests added.
Charlie Clark
charlie at begeistert.org
Sun Oct 3 19:44:22 EDT 2010
Log message for revision 117205:
Folder syndication tests added.
Test assertion style harmonised to use assertEqual() over asserTrue when comparing results with expectations.
Changed:
U Products.CMFDefault/trunk/Products/CMFDefault/browser/admin/tests/test_syndication.py
-=-
Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/admin/tests/test_syndication.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/admin/tests/test_syndication.py 2010-10-03 22:23:52 UTC (rev 117204)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/admin/tests/test_syndication.py 2010-10-03 23:44:22 UTC (rev 117205)
@@ -18,15 +18,15 @@
from zope.i18n.interfaces import IUserPreferredCharsets
from zope.publisher.browser import TestRequest
-from Products.CMFCore.tests.base.dummy import DummySite, DummyTool
+from Products.CMFCore.tests.base.dummy import DummySite, DummyTool, DummyFolder
class DummySyndicationTool(object):
isAllowed = 0
- updatePeriod = "daily"
- updateFrequency = 1
- updateBase = ""
+ syUpdatePeriod = updatePeriod = "daily"
+ syUpdateFrequency = updateFrequency = 1
+ syUpdateBase = updateBase = ""
max_items = 15
def editProperties(self, **kw):
@@ -80,24 +80,28 @@
data = {'frequency':3, 'period':'weekly', 'base':'', 'max_items':10}
view.handle_enable("enable", data)
self.assertTrue(view.enabled())
- self.assertTrue(view.status == u"Syndication enabled")
- self.assertTrue(view.request.RESPONSE.location == "http://www.foobar.com/bar/site?portal_status_message=Syndication%20enabled")
+ self.assertEqual(view.status, u"Syndication enabled")
+ self.assertEqual(view.request.RESPONSE.location,
+ "http://www.foobar.com/bar/site?portal_status_message="
+ "Syndication%20enabled")
def test_handle_update(self):
view = self._getTargetClass()
- self.assertTrue(view.syndtool.updatePeriod == 'daily')
- self.assertTrue(view.syndtool.updateFrequency == 1)
- self.assertTrue(view.syndtool.updateBase == "")
- self.assertTrue(view.syndtool.max_items == 15)
+ self.assertEqual(view.syndtool.updatePeriod, 'daily')
+ self.assertEqual(view.syndtool.updateFrequency, 1)
+ self.assertEqual(view.syndtool.updateBase, "")
+ self.assertEqual(view.syndtool.max_items, 15)
data = {'frequency':3, 'period':'weekly', 'base':'active',
'max_items':10}
view.handle_update("update", data)
- self.assertTrue(view.syndtool.updatePeriod == 'weekly')
- self.assertTrue(view.syndtool.updateFrequency == 3)
- self.assertTrue(view.syndtool.updateBase == "active")
- self.assertTrue(view.syndtool.max_items == 10)
- self.assertTrue(view.status == u"Syndication updated")
- self.assertTrue(view.request.RESPONSE.location == "http://www.foobar.com/bar/site?portal_status_message=Syndication%20updated")
+ self.assertEqual(view.syndtool.updatePeriod, 'weekly')
+ self.assertEqual(view.syndtool.updateFrequency, 3)
+ self.assertEqual(view.syndtool.updateBase, "active")
+ self.assertEqual(view.syndtool.max_items, 10)
+ self.assertEqual(view.status, u"Syndication updated")
+ self.assertEqual(view.request.RESPONSE.location,
+ "http://www.foobar.com/bar/site?portal_status_message="
+ "Syndication%20updated")
def test_handle_disable(self):
view = self._getTargetClass()
@@ -105,10 +109,97 @@
self.assertTrue(view.enabled)
view.handle_disable("disable", {})
self.assertTrue(view.disabled)
- self.assertTrue(view.status == u"Syndication disabled")
- self.assertTrue(view.request.RESPONSE.location == "http://www.foobar.com/bar/site?portal_status_message=Syndication%20disabled")
+ self.assertEqual(view.status, u"Syndication disabled")
+ self.assertEqual(view.request.RESPONSE.location,
+ "http://www.foobar.com/bar/site?portal_status_message="
+ "Syndication%20disabled")
+
+from Products.CMFCore.interfaces import ISyndicationInfo, IFolderish
+from Products.CMFDefault.SyndicationInfo import SyndicationInfo
+
+class FolderSyndicationTests(unittest.TestCase):
+
+ def setUp(self):
+ """Setup a site"""
+ from zope.component import getSiteManager
+ self.site = site = DummySite('site')
+ sm = getSiteManager()
+ info = SyndicationInfo
+ sm.registerAdapter(info, [IFolderish], ISyndicationInfo)
+ site.portal_syndication = DummySyndicationTool()
+ site._setObject('portal_actions', DummyTool())
+ site._setObject('portal_url', DummyTool())
+ site._setObject('portal_membership', DummyTool())
+
+ def _getTargetClass(self):
+ from Products.CMFDefault.browser.admin.syndication import Syndicate
+ self.site._setObject('folder', DummyFolder('Folder'))
+ alsoProvides(self.site, IFolderish)
+ request = DummyRequest(ACTUAL_URL="http://example.com")
+ alsoProvides(request, IUserPreferredCharsets)
+ return Syndicate(self.site, request)
+
+ def test_adapter(self):
+ from Products.CMFCore.interfaces import ISyndicationInfo
+ view = self._getTargetClass()
+ self.assertTrue(ISyndicationInfo.providedBy(view.adapter))
+
+ def test_enabled(self):
+ view = self._getTargetClass()
+ self.assertFalse(view.enabled())
+
+ def test_disabled(self):
+ view = self._getTargetClass()
+ self.assertTrue(view.disabled())
+
+ def test_handle_enable(self):
+ self.site.portal_syndication.isAllowed = 1
+ view = self._getTargetClass()
+ view.handle_enable("enable", {})
+ self.assertTrue(view.enabled())
+ self.assertEqual(view.status, u"Syndication enabled")
+ self.assertEqual(view.request.RESPONSE.location,
+ "http://www.foobar.com/bar/site?portal_status_message="
+ "Syndication%20enabled")
+
+ def test_handle_disable(self):
+ self.site.portal_syndication.isAllowed = 1
+ view = self._getTargetClass()
+ view.adapter.enable()
+ view.handle_disable("disable", {})
+ self.assertFalse(view.enabled())
+ self.assertEqual(view.status, u"Syndication disabled")
+ self.assertEqual(view.request.RESPONSE.location,
+ "http://www.foobar.com/bar/site?portal_status_message="
+ "Syndication%20disabled")
+
+ def test_handle_update(self):
+ view = self._getTargetClass()
+ values = {'frequency': 4, 'period': 'weekly', 'base': '2010-01-01',
+ 'max_items': 25}
+ view.handle_update("update", values)
+ self.assertEqual(view.adapter.get_info(), values)
+ self.assertEqual(view.status, u"Syndication updated")
+ self.assertEqual(view.request.RESPONSE.location,
+ "http://www.foobar.com/bar/site?portal_status_message="
+ "Syndication%20updated")
+
+ def test_handle_revert(self):
+ view = self._getTargetClass()
+ values = {'frequency': 4, 'period': 'weekly', 'base': '2010-01-01',
+ 'max_items': 25}
+ view.handle_update("update", values)
+ view.handle_revert("", values)
+ self.assertNotEqual(view.adapter.get_info(), values)
+ self.assertEqual(view.status, u"Syndication reset to site default")
+ self.assertEqual(view.request.RESPONSE.location,
+ "http://www.foobar.com/bar/site?portal_status_message="
+ "Syndication%20reset%20to%20site%20default")
+
+
def test_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(SyndicationViewTests))
+ suite.addTest(unittest.makeSuite(FolderSyndicationTests))
return suite
More information about the checkins
mailing list