[Checkins] SVN: Products.CMFCore/branches/cookiecrumbler_with_views/Products/CMFCore/exportimport/ - added BBB code for importing old profiles
Yvo Schubbe
y.2010 at wcm-solutions.de
Tue Jun 15 05:29:27 EDT 2010
Log message for revision 113476:
- added BBB code for importing old profiles
Changed:
U Products.CMFCore/branches/cookiecrumbler_with_views/Products/CMFCore/exportimport/cookieauth.py
U Products.CMFCore/branches/cookiecrumbler_with_views/Products/CMFCore/exportimport/tests/test_cookieauth.py
-=-
Modified: Products.CMFCore/branches/cookiecrumbler_with_views/Products/CMFCore/exportimport/cookieauth.py
===================================================================
--- Products.CMFCore/branches/cookiecrumbler_with_views/Products/CMFCore/exportimport/cookieauth.py 2010-06-15 09:23:52 UTC (rev 113475)
+++ Products.CMFCore/branches/cookiecrumbler_with_views/Products/CMFCore/exportimport/cookieauth.py 2010-06-15 09:29:26 UTC (rev 113476)
@@ -53,11 +53,23 @@
if self.environ.shouldPurge():
self._purgeProperties()
+ self._migrateProperties(node)
self._initProperties(node)
self._logger.info('Cookie crumbler imported.')
+ def _migrateProperties(self, node):
+ # BBB: for CMF 2.2 settings
+ for child in node.childNodes:
+ if child.nodeName != 'property':
+ continue
+ if child.getAttribute('name') not in ('auto_login_page',
+ 'unauth_page', 'logout_page'):
+ continue
+ node.removeChild(child)
+ child.unlink()
+
def importCookieCrumbler(context):
"""Import cookie crumbler settings from an XML file.
"""
Modified: Products.CMFCore/branches/cookiecrumbler_with_views/Products/CMFCore/exportimport/tests/test_cookieauth.py
===================================================================
--- Products.CMFCore/branches/cookiecrumbler_with_views/Products/CMFCore/exportimport/tests/test_cookieauth.py 2010-06-15 09:23:52 UTC (rev 113475)
+++ Products.CMFCore/branches/cookiecrumbler_with_views/Products/CMFCore/exportimport/tests/test_cookieauth.py 2010-06-15 09:29:26 UTC (rev 113476)
@@ -67,7 +67,23 @@
</object>
"""
+_CMF22_IMPORT = """\
+<?xml version="1.0"?>
+<object name="foo_cookiecrumbler" meta_type="Cookie Crumbler">
+ <property name="auth_cookie">value1</property>
+ <property name="name_cookie">value3</property>
+ <property name="pw_cookie">value5</property>
+ <property name="persist_cookie">value4</property>
+ <property name="auto_login_page">value6</property>
+ <property name="logout_page">value8</property>
+ <property name="unauth_page">value7</property>
+ <property name="local_cookie_path">True</property>
+ <property name="cache_header_value">value2</property>
+ <property name="log_username">False</property>
+</object>
+"""
+
class CookieCrumblerXMLAdapterTests(BodyAdapterTestCase, unittest.TestCase):
layer = ExportImportZCMLLayer
@@ -158,7 +174,26 @@
self.assertEqual( cc.pw_cookie, 'value5' )
self.assertEqual( cc.local_cookie_path, 1 )
+ def test_migration(self):
+ from Products.CMFCore.exportimport.cookieauth \
+ import importCookieCrumbler
+ site = self._initSite()
+ cc = site.cookie_authentication
+
+ context = DummyImportContext(site)
+ context._files['cookieauth.xml'] = _CMF22_IMPORT
+ importCookieCrumbler(context)
+
+ self.assertEqual( cc.auth_cookie, 'value1' )
+ self.assertEqual( cc.cache_header_value, 'value2' )
+ self.assertEqual( cc.name_cookie, 'value3' )
+ self.assertEqual( cc.log_username, 0 )
+ self.assertEqual( cc.persist_cookie, 'value4' )
+ self.assertEqual( cc.pw_cookie, 'value5' )
+ self.assertEqual( cc.local_cookie_path, 1 )
+
+
def test_suite():
return unittest.TestSuite((
unittest.makeSuite(CookieCrumblerXMLAdapterTests),
More information about the checkins
mailing list