Changeset 2400 in products
- Timestamp:
- May 28, 2010 11:38:08 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
quintagroup.plonegooglesitemaps/trunk/quintagroup/plonegooglesitemaps/tests/testNewsSitemaps.py
r2399 r2400 1 1 from base import * 2 from DateTime import DateTime 3 4 from zope.component import getSiteManager, getGlobalSiteManager 5 from archetypes.schemaextender.interfaces import ISchemaExtender 6 2 7 from Products.CMFPlone.utils import _createObjectByType 3 from DateTime import DateTime4 8 5 9 class TestNewsSitemapsXML(FunctionalTestCase): … … 82 86 83 87 88 from Products.ATContentTypes.interface import IATNewsItem 89 from quintagroup.plonegooglesitemaps.content.newsextender import NewsExtender 90 from quintagroup.plonegooglesitemaps.utils import addLocalSchemaExtenderAdapter 91 from quintagroup.plonegooglesitemaps.utils import removeLocalSchemaExtenderAdapter 92 93 class TestDynamicSchemaExtending(TestCase): 94 95 def afterSetUp(self): 96 super(TestDynamicSchemaExtending, self).afterSetUp() 97 self.loginAsPortalOwner() 98 # Add testing news item to portal 99 my_news = self.portal.invokeFactory("News Item", id="my_news") 100 self.my_news = self.portal["my_news"] 101 my_doc = self.portal.invokeFactory("Document", id="my_doc") 102 self.my_doc = self.portal["my_doc"] 103 104 def testNotExtendByDefault(self): 105 # Neither of object has extended fields 106 self.assertEqual(self.my_news.getField("gsm_access"), None) 107 self.assertEqual(self.my_news.getField("gsm_genres"), None) 108 self.assertEqual(self.my_doc.getField("gsm_access"), None) 109 self.assertEqual(self.my_doc.getField("gsm_genres"), None) 110 111 def testExtend(self): 112 addLocalSchemaExtenderAdapter(self.portal, IATNewsItem) 113 self.assertNotEqual(self.my_news.getField("gsm_access"), None) 114 self.assertNotEqual(self.my_news.getField("gsm_genres"), None) 115 # But for document schema should not extended 116 self.assertEqual(self.my_doc.getField("gsm_access"), None) 117 self.assertEqual(self.my_doc.getField("gsm_genres"), None) 118 119 def testRemoveExtend(self): 120 addLocalSchemaExtenderAdapter(self.portal, IATNewsItem) 121 self.assertNotEqual(self.my_news.getField("gsm_access"), None) 122 self.assertNotEqual(self.my_news.getField("gsm_genres"), None) 123 removeLocalSchemaExtenderAdapter(self.portal, IATNewsItem) 124 self.assertEqual(self.my_news.getField("gsm_access"), None) 125 self.assertEqual(self.my_news.getField("gsm_genres"), None) 126 127 def testRegistrationOnLocalSM(self): 128 """SchemaExtender adapters must be registered 129 in Local SiteManager only. 130 """ 131 localsm = getSiteManager(self.portal) 132 globalsm = getGlobalSiteManager() 133 # Check if by default neither site manger 134 # has ISchemaExtender adapter registered in. 135 self.assertNotEqual(localsm, globalsm) 136 self.assertEqual(localsm.queryAdapter(self.my_news, ISchemaExtender), None) 137 self.assertEqual(globalsm.queryAdapter(self.my_news, ISchemaExtender), None) 138 # Now register SchemaExtender adapter and 139 # check if it present in Local SiteManger only 140 addLocalSchemaExtenderAdapter(self.portal, IATNewsItem) 141 self.assertNotEqual(localsm.queryAdapter(self.my_news, ISchemaExtender), None) 142 self.assertEqual(globalsm.queryAdapter(self.my_news, ISchemaExtender), None) 143 144 84 145 def test_suite(): 85 146 from unittest import TestSuite, makeSuite 86 147 suite = TestSuite() 87 148 suite.addTest(makeSuite(TestNewsSitemapsXML)) 149 suite.addTest(makeSuite(TestDynamicSchemaExtending)) 88 150 return suite
Note: See TracChangeset
for help on using the changeset viewer.