def test_old_xml(self): from Products.CMFCore.exportimport.typeinfo import exportTypesTool from Products.CMFCore.exportimport.typeinfo import importTypesTool site = self._initSite() tool = site.portal_types self.assertEqual(len(tool.objectIds()), 0) context = DummyImportContext(site) context._files['types.xml'] = self._NORMAL_TOOL_EXPORT context._files['types/foo.xml'] = _FOO_OLD_EXPORT % 'foo' context._files['types/bar.xml'] = _BAR_OLD_EXPORT % 'bar' importTypesTool(context) self.assertEqual(len(tool.objectIds()), 2) self.failUnless('foo' in tool.objectIds()) self.failUnless('bar' in tool.objectIds()) context = DummyExportContext(site) exportTypesTool(context) filename, text, content_type = context._wrote[1] self.assertEqual(filename, 'types/bar.xml') self._compareDOM(text, _BAR_EXPORT % 'bar') self.assertEqual(content_type, 'text/xml')
def test_old_xml(self): from Products.CMFCore.exportimport.typeinfo import exportTypesTool from Products.CMFCore.exportimport.typeinfo import importTypesTool site = self._initSite() tool = site.portal_types self.assertEqual(len(tool.objectIds()), 0) context = DummyImportContext(site) context._files['types.xml'] = self._NORMAL_TOOL_EXPORT context._files['types/foo.xml'] = _FOO_OLD_EXPORT % 'foo' context._files['types/bar.xml'] = _BAR_OLD_EXPORT % 'bar' importTypesTool(context) self.assertEqual(len(tool.objectIds()), 2) self.failUnless('foo' in tool.objectIds()) self.failUnless('bar' in tool.objectIds()) context = DummyExportContext(site) exportTypesTool(context) filename, text, content_type = context._wrote[1] self.assertEqual(filename, 'types/bar.xml') self._compareDOM(text, _BAR_EXPORT % 'bar') self.assertEqual(content_type, 'text/xml')
def test_old_instance(self): # Test for really *old* instances which still return dicts instead # of action info objects from Products.CMFCore.exportimport.typeinfo import exportTypesTool site = self._initSite(1) context = DummyExportContext(site) foo_actions = site.portal_types.foo.listActions() def _actions_as_mapping(): return [x.getMapping() for x in foo_actions] site.portal_types.foo.listActions = _actions_as_mapping exportTypesTool(context) self.assertEqual(len(context._wrote), 3) filename, text, content_type = context._wrote[0] self.assertEqual(filename, 'types.xml') self._compareDOM(text, _NORMAL_TOOL_EXPORT) self.assertEqual(content_type, 'text/xml') filename, text, content_type = context._wrote[1] self.assertEqual(filename, 'types/foo.xml') self._compareDOM(text, _FOO_EXPORT % 'foo') self.assertEqual(content_type, 'text/xml') filename, text, content_type = context._wrote[2] self.assertEqual(filename, 'types/bar.xml') self._compareDOM(text, _BAR_EXPORT % 'bar') self.assertEqual(content_type, 'text/xml')
def test_old_instance(self): # Test for really *old* instances which still return dicts instead # of action info objects from Products.CMFCore.exportimport.typeinfo import exportTypesTool site = self._initSite(1) context = DummyExportContext(site) foo_actions = site.portal_types.foo.listActions() def _actions_as_mapping(): return [x.getMapping() for x in foo_actions] site.portal_types.foo.listActions = _actions_as_mapping exportTypesTool(context) self.assertEqual(len(context._wrote), 3) filename, text, content_type = context._wrote[0] self.assertEqual(filename, 'types.xml') self._compareDOM(text, _NORMAL_TOOL_EXPORT) self.assertEqual(content_type, 'text/xml') filename, text, content_type = context._wrote[1] self.assertEqual(filename, 'types/foo.xml') self._compareDOM(text, _FOO_EXPORT % 'foo') self.assertEqual(content_type, 'text/xml') filename, text, content_type = context._wrote[2] self.assertEqual(filename, 'types/bar.xml') self._compareDOM(text, _BAR_EXPORT % 'bar') self.assertEqual(content_type, 'text/xml')
def test_empty(self): from Products.CMFCore.exportimport.typeinfo import exportTypesTool site = self._initSite() context = DummyExportContext(site) exportTypesTool(context) self.assertEqual(len(context._wrote), 1) filename, text, content_type = context._wrote[0] self.assertEqual(filename, 'types.xml') self._compareDOM(text, _EMPTY_TOOL_EXPORT) self.assertEqual(content_type, 'text/xml')
def test_empty(self): from Products.CMFCore.exportimport.typeinfo import exportTypesTool site = self._initSite() context = DummyExportContext(site) exportTypesTool(context) self.assertEqual(len(context._wrote), 1) filename, text, content_type = context._wrote[0] self.assertEqual(filename, 'types.xml') self._compareDOM(text, _EMPTY_TOOL_EXPORT) self.assertEqual(content_type, 'text/xml')
def test_with_filenames(self): from Products.CMFCore.exportimport.typeinfo import exportTypesTool site = self._initSite(2) context = DummyExportContext(site) exportTypesTool(context) self.assertEqual(len(context._wrote), 3) filename, text, content_type = context._wrote[0] self.assertEqual(filename, 'types.xml') self._compareDOM(text, _FILENAME_EXPORT) self.assertEqual(content_type, 'text/xml') filename, text, content_type = context._wrote[2] self.assertEqual(filename, 'types/bar_object.xml') self._compareDOM(text, _BAR_EXPORT % 'bar object') self.assertEqual(content_type, 'text/xml') filename, text, content_type = context._wrote[1] self.assertEqual(filename, 'types/foo_object.xml') self._compareDOM(text, _FOO_EXPORT % 'foo object') self.assertEqual(content_type, 'text/xml')
def test_with_filenames(self): from Products.CMFCore.exportimport.typeinfo import exportTypesTool site = self._initSite(2) context = DummyExportContext(site) exportTypesTool(context) self.assertEqual(len(context._wrote), 3) filename, text, content_type = context._wrote[0] self.assertEqual(filename, 'types.xml') self._compareDOM(text, _FILENAME_EXPORT) self.assertEqual(content_type, 'text/xml') filename, text, content_type = context._wrote[2] self.assertEqual(filename, 'types/bar_object.xml') self._compareDOM(text, _BAR_EXPORT % 'bar object') self.assertEqual(content_type, 'text/xml') filename, text, content_type = context._wrote[1] self.assertEqual(filename, 'types/foo_object.xml') self._compareDOM(text, _FOO_EXPORT % 'foo object') self.assertEqual(content_type, 'text/xml')
def test_normal(self): from Products.CMFCore.exportimport.typeinfo import exportTypesTool site = self._initSite(1) context = DummyExportContext(site) exportTypesTool(context) self.assertEqual(len(context._wrote), 3) filename, text, content_type = context._wrote[0] self.assertEqual(filename, 'types.xml') self._compareDOM(text, _NORMAL_TOOL_EXPORT) self.assertEqual(content_type, 'text/xml') filename, text, content_type = context._wrote[2] self.assertEqual(filename, 'types/bar.xml') self._compareDOM(text, _BAR_EXPORT % 'bar') self.assertEqual(content_type, 'text/xml') filename, text, content_type = context._wrote[1] self.assertEqual(filename, 'types/foo.xml') self._compareDOM(text, _FOO_EXPORT % 'foo') self.assertEqual(content_type, 'text/xml')
def test_normal(self): from Products.CMFCore.exportimport.typeinfo import exportTypesTool site = self._initSite(1) context = DummyExportContext(site) exportTypesTool(context) self.assertEqual(len(context._wrote), 3) filename, text, content_type = context._wrote[0] self.assertEqual(filename, 'types.xml') self._compareDOM(text, _NORMAL_TOOL_EXPORT) self.assertEqual(content_type, 'text/xml') filename, text, content_type = context._wrote[2] self.assertEqual(filename, 'types/bar.xml') self._compareDOM(text, _BAR_EXPORT % 'bar') self.assertEqual(content_type, 'text/xml') filename, text, content_type = context._wrote[1] self.assertEqual(filename, 'types/foo.xml') self._compareDOM(text, _FOO_EXPORT % 'foo') self.assertEqual(content_type, 'text/xml')