def test_i18n(self): from Products.CMFCore.exportimport.actions \ import exportActionProviders from Products.CMFCore.exportimport.actions \ import importActionProviders site = self._initSite(0, 0) atool = site.portal_actions context = DummyImportContext(site) context._files['actions.xml'] = _I18N_IMPORT importActionProviders(context) self.assertEqual(len(atool.listActionProviders()), 1) self.assertEqual(atool.objectIds(), ['dummy']) self.assertEqual(atool.dummy.objectIds(), ['foo']) self.assertEqual(atool.dummy.foo.i18n_domain, 'foo_domain') # complete the roundtrip context = DummyExportContext(site) exportActionProviders(context) self.assertEqual(len(context._wrote), 1) filename, text, content_type = context._wrote[0] self.assertEqual(filename, 'actions.xml') self._compareDOM(text, _I18N_IMPORT) self.assertEqual(content_type, 'text/xml')
def test_normal(self): from Products.CMFCore.exportimport.actions \ import exportActionProviders site = self._initSite() context = DummyExportContext(site) exportActionProviders(context) self.assertEqual(len(context._wrote), 1) filename, text, content_type = context._wrote[0] self.assertEqual(filename, 'actions.xml') self._compareDOM(text, _NORMAL_EXPORT) self.assertEqual(content_type, 'text/xml')
def test_unchanged(self): from Products.CMFCore.exportimport.actions \ import exportActionProviders site, _atool = self._initSite(0, 0) context = DummyExportContext(site) exportActionProviders(context) self.assertEqual(len(context._wrote), 1) filename, text, content_type = context._wrote[0] self.assertEqual(filename, 'actions.xml') self._compareDOM(text.decode('utf8'), _EMPTY_EXPORT) self.assertEqual(content_type, 'text/xml')
def test_normal(self): from Products.CMFCore.exportimport.actions \ import exportActionProviders from Products.CMFCore.exportimport.actions \ import importActionProviders site = self._initSite(1, 1) atool = site.portal_actions foo = site.portal_foo bar = site.portal_bar self.assertEqual(len(atool.listActionProviders()), 1) self.failIf('portal_foo' in atool.listActionProviders()) self.failIf(foo.listActions()) self.failIf('portal_bar' in atool.listActionProviders()) self.failIf(bar.listActions()) self.failUnless('portal_actions' in atool.listActionProviders()) context = DummyImportContext(site) context._files['actions.xml'] = _OLD_EXPORT importActionProviders(context) self.assertEqual(len(atool.listActionProviders()), 3) self.failUnless('portal_bar' in atool.listActionProviders()) self.failUnless('portal_foo' in atool.listActionProviders()) self.failUnless('portal_actions' in atool.listActionProviders()) self.assertEqual(len(atool.objectIds()), 1) self.failUnless('dummy' in atool.objectIds()) # Only one action appears. The importer only deals with actions # defined by the actions tool. Other tools are responsible for # exporting/importing actions themselves. self.assertEqual(len(atool.dummy.objectIds()), 1) self.failUnless('baz' in atool.dummy.objectIds()) self.failIf(foo.listActions()) self.failIf(bar.listActions()) # complete the roundtrip context = DummyExportContext(site) exportActionProviders(context) self.assertEqual(len(context._wrote), 1) filename, text, content_type = context._wrote[0] self.assertEqual(filename, 'actions.xml') self._compareDOM(text, _NEWSYTLE_EXPORT) self.assertEqual(content_type, 'text/xml')
def test_normal(self): from Products.CMFCore.exportimport.actions \ import exportActionProviders from Products.CMFCore.exportimport.actions \ import importActionProviders site = self._initSite(1, 1) atool = site.portal_actions foo = site.portal_foo bar = site.portal_bar self.assertEqual(len(atool.listActionProviders()), 1) self.failIf('portal_foo' in atool.listActionProviders()) self.failIf(foo.listActions()) self.failIf('portal_bar' in atool.listActionProviders()) self.failIf(bar.listActions()) self.failUnless('portal_actions' in atool.listActionProviders()) context = DummyImportContext(site) context._files['actions.xml'] = _OLD_EXPORT importActionProviders(context) self.assertEqual(len(atool.listActionProviders()), 3) self.failUnless('portal_bar' in atool.listActionProviders()) self.failUnless('portal_foo' in atool.listActionProviders()) self.failUnless('portal_actions' in atool.listActionProviders()) self.assertEqual(len(atool.objectIds()), 1) self.failUnless('dummy' in atool.objectIds()) # Only one action appears. The importer only deals with actions # defined by the actions tool. Other tools are responsible for # exporting/importing actions themselves. self.assertEqual(len(atool.dummy.objectIds()) , 1) self.failUnless('baz' in atool.dummy.objectIds()) self.failIf(foo.listActions()) self.failIf(bar.listActions()) # complete the roundtrip context = DummyExportContext(site) exportActionProviders(context) self.assertEqual(len(context._wrote), 1) filename, text, content_type = context._wrote[0] self.assertEqual(filename, 'actions.xml') self._compareDOM(text, _NEWSYTLE_EXPORT) self.assertEqual(content_type, 'text/xml')
def test_normal(self): from Products.CMFCore.exportimport.actions \ import exportActionProviders from Products.CMFCore.exportimport.actions \ import importActionProviders site = self._initSite(1, 1) atool = site.portal_actions foo = site.portal_foo bar = site.portal_bar self.assertEqual(len(atool.listActionProviders()), 1) self.failIf('portal_foo' in atool.listActionProviders()) self.failIf(foo.listActions()) self.failIf('portal_bar' in atool.listActionProviders()) self.failIf(bar.listActions()) self.failUnless('portal_actions' in atool.listActionProviders()) context = DummyImportContext(site) context._files['actions.xml'] = _NORMAL_EXPORT importActionProviders(context) self.assertEqual(len(atool.listActionProviders()), 1) self.failIf('portal_foo' in atool.listActionProviders()) self.failUnless('portal_actions' in atool.listActionProviders()) self.assertEqual(len(atool.objectIds()), 1) self.failUnless('dummy' in atool.objectIds()) self.assertEqual(len(atool.dummy.objectIds()) , 2) self.failUnless('foo' in atool.dummy.objectIds()) self.failUnless('bar' in atool.dummy.objectIds()) self.failIf(foo.listActions()) self.failIf(bar.listActions()) # complete the roundtrip context = DummyExportContext(site) exportActionProviders(context) self.assertEqual(len(context._wrote), 1) filename, text, content_type = context._wrote[0] self.assertEqual(filename, 'actions.xml') self._compareDOM(text, _NEWSYTLE_EXPORT) self.assertEqual(content_type, 'text/xml')
def test_normal(self): from Products.CMFCore.exportimport.actions \ import exportActionProviders from Products.CMFCore.exportimport.actions \ import importActionProviders site = self._initSite(1, 1) atool = site.portal_actions foo = site.portal_foo bar = site.portal_bar self.assertEqual(len(atool.listActionProviders()), 1) self.failIf('portal_foo' in atool.listActionProviders()) self.failIf(foo.listActions()) self.failIf('portal_bar' in atool.listActionProviders()) self.failIf(bar.listActions()) self.failUnless('portal_actions' in atool.listActionProviders()) context = DummyImportContext(site) context._files['actions.xml'] = _NORMAL_EXPORT importActionProviders(context) self.assertEqual(len(atool.listActionProviders()), 1) self.failIf('portal_foo' in atool.listActionProviders()) self.failUnless('portal_actions' in atool.listActionProviders()) self.assertEqual(len(atool.objectIds()), 1) self.failUnless('dummy' in atool.objectIds()) self.assertEqual(len(atool.dummy.objectIds()), 2) self.failUnless('foo' in atool.dummy.objectIds()) self.failUnless('bar' in atool.dummy.objectIds()) self.failIf(foo.listActions()) self.failIf(bar.listActions()) # complete the roundtrip context = DummyExportContext(site) exportActionProviders(context) self.assertEqual(len(context._wrote), 1) filename, text, content_type = context._wrote[0] self.assertEqual(filename, 'actions.xml') self._compareDOM(text, _NEWSYTLE_EXPORT) self.assertEqual(content_type, 'text/xml')
def test_normal(self): from Products.CMFCore.exportimport.actions \ import exportActionProviders site, atool = self._initSite() # Set up an old action for added difficulty atool.addAction(id='baz', name='Baz', action='baz', condition='python:1', permission=(), category='dummy', visible=1) context = DummyExportContext(site) exportActionProviders(context) self.assertEqual(len(context._wrote), 1) filename, text, content_type = context._wrote[0] self.assertEqual(filename, 'actions.xml') self._compareDOM(text, _NORMAL_EXPORT) self.assertEqual(content_type, 'text/xml')