def test_fragment_skip_purge_ascii(self): from Products.CMFSetup.typeinfo import importTypesTool site = self._initSite() tool = site.portal_types context = DummyImportContext(site, encoding='ascii') context._files['typestool.xml'] = _NORMAL_TOOL_EXPORT context._files['types/foo.xml'] = _FOO_EXPORT % 'foo' context._files['types/bar.xml'] = _BAR_EXPORT % 'bar' importTypesTool(context) self.assertEqual(tool.foo.title, 'Foo') self.assertEqual(tool.foo.content_meta_type, 'Foo Thing') self.assertEqual(tool.foo.content_icon, 'foo.png') self.assertEqual(tool.foo.immediate_view, 'foo_view') self.assertEqual(tool.foo._aliases, {'(Default)': 'foo_view', 'view': 'foo_view'}) context = DummyImportContext(site, False, encoding='ascii') context._files['typestool.xml'] = _UPDATE_TOOL_IMPORT context._files['types/foo.xml'] = _UPDATE_FOO_IMPORT importTypesTool(context) self.assertEqual(tool.foo.title, 'Foo') self.assertEqual(tool.foo.content_meta_type, 'Foo Thing') self.assertEqual(tool.foo.content_icon, 'foo.png') self.assertEqual(tool.foo.immediate_view, 'foo_view') self.assertEqual(tool.foo._aliases, {'(Default)': 'foo_view', 'view': 'foo_view', 'spam': 'eggs'})
def test_old_xml(self): from Products.CMFSetup.typeinfo import exportTypesTool from Products.CMFSetup.typeinfo import importTypesTool site = self._initSite() tool = site.portal_types self.assertEqual(len(tool.objectIds()), 0) context = DummyImportContext(site) context._files['typestool.xml'] = _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_empty_skip_purge(self): from Products.CMFSetup.typeinfo import importTypesTool site = self._initSite(1) tool = site.portal_types self.assertEqual(len(tool.objectIds()), 2) context = DummyImportContext(site, False) context._files['typestool.xml'] = _EMPTY_TOOL_EXPORT importTypesTool(context) self.assertEqual(len(tool.objectIds()), 2)
def test_empty_explicit_purge( self ): site = self._initSite( _TI_LIST ) tool = site.portal_types self.assertEqual( len( tool.objectIds() ), 2 ) context = DummyImportContext( site, True ) context._files[ 'typestool.xml' ] = _EMPTY_TOOL_EXPORT from Products.CMFSetup.typeinfo import importTypesTool importTypesTool( context ) self.assertEqual( len( tool.objectIds() ), 0 )
def test_empty_explicit_purge(self): site = self._initSite(_TI_LIST) tool = site.portal_types self.assertEqual(len(tool.objectIds()), 2) context = DummyImportContext(site, True) context._files['typestool.xml'] = _EMPTY_TOOL_EXPORT from Products.CMFSetup.typeinfo import importTypesTool importTypesTool(context) self.assertEqual(len(tool.objectIds()), 0)
def test_with_filenames(self): from Products.CMFSetup.typeinfo import importTypesTool site = self._initSite() tool = site.portal_types self.assertEqual(len(tool.objectIds()), 0) context = DummyImportContext(site) context._files['typestool.xml'] = _FILENAME_EXPORT context._files['types/foo_object.xml'] = _FOO_EXPORT % 'foo object' context._files['types/bar_object.xml'] = _BAR_EXPORT % 'bar object' importTypesTool(context) self.assertEqual(len(tool.objectIds()), 2) self.failUnless('foo object' in tool.objectIds()) self.failUnless('bar object' in tool.objectIds())
def test_normal(self): from Products.CMFSetup.typeinfo import importTypesTool site = self._initSite() tool = site.portal_types self.assertEqual(len(tool.objectIds()), 0) context = DummyImportContext(site) context._files['typestool.xml'] = _NORMAL_TOOL_EXPORT context._files['types/foo.xml'] = _FOO_EXPORT % 'foo' context._files['types/bar.xml'] = _BAR_EXPORT % 'bar' importTypesTool(context) self.assertEqual(len(tool.objectIds()), 2) self.failUnless('foo' in tool.objectIds()) self.failUnless('bar' in tool.objectIds())