def setUp(self): self.portal = self.layer['portal'] setRoles(self.portal, TEST_USER_ID, ['Manager']) self.folder = api.content.create(type='Folder', container=self.portal, id='folder') self.folder.skos = [ self.term, ] self.folder.reindexObject() self.sub_folder = api.content.create(type='Folder', container=self.folder, id='sub_folder') self.document = api.content.create(type='Document', container=self.folder, id='a_document') self.document.setSubject([ 'Bar', ]) self.document.reindexObject() o = PortalContent('cmf', 'CMF Content', '', '', '') self.folder._setObject('cmf', o, suppress_events=True) o = PortalFolder('cmf_folder', 'CMF Folder', '') self.folder._setObject('cmf_folder', o, suppress_events=True) o = PortalContent('cmf', 'CMF Content', '', '', '') self.folder['cmf_folder']._setObject('cmf', o, suppress_events=True)
def _initContent(self, folder, id): from Products.CMFCore.PortalContent import PortalContent c = PortalContent() c._setId(id) c.meta_type = 'File' folder._setObject(id, c) return folder._getOb(id)
def test_patch_undeserializable_object_returns_501(self): obj = PortalContent() obj.id = 'obj1' obj.portal_type = 'Undeserializable Type' self.portal._setObject(obj.id, obj) transaction.commit() response = requests.patch( self.portal.obj1.absolute_url(), headers={'Accept': 'application/json'}, auth=(SITE_OWNER_NAME, SITE_OWNER_PASSWORD), data='{"id": "patched_obj1"}', ) self.assertEqual(501, response.status_code) self.assertIn('Undeserializable Type', response.text)
def setUp(self): self.portal = self.layer['portal'] setRoles(self.portal, TEST_USER_ID, ['Manager']) self.portal.invokeFactory('Folder', 'folder') self.folder = self.portal['folder'] self.folder.setSubject(['Foo', ]) self.folder.reindexObject() sub_folder_id = self.folder.invokeFactory('Folder', 'sub_folder') self.sub_folder = self.folder[sub_folder_id] self.document = self.folder[self.folder.invokeFactory('Document', 'a_document')] self.document.setSubject(['Bar', ]) self.document.reindexObject() o = PortalContent('cmf', 'CMF Content', '', '', '') self.folder._setObject('cmf', o, suppress_events=True) o = PortalFolder('cmf_folder', 'CMF Folder', '') self.folder._setObject('cmf_folder', o, suppress_events=True) o = PortalContent('cmf', 'CMF Content', '', '', '') self.folder['cmf_folder']._setObject('cmf', o, suppress_events=True)
def setUp(self): self.portal = self.layer['portal'] setRoles(self.portal, TEST_USER_ID, ['Manager']) self.portal.invokeFactory('Folder', 'folder') self.folder = self.portal['folder'] self.folder.skos = [ self.term, ] sub_folder_id = self.folder.invokeFactory('Folder', 'sub_folder') self.sub_folder = self.folder[sub_folder_id] self.sub_folder.skos = [ 'http://vocab.e.gov.br/2011/03/vcge#governo', ] o = PortalContent('cmf', 'CMF Content', '', '', '') self.folder._setObject('cmf', o, suppress_events=True)
def setUp(self): self.portal = self.layer['portal'] setRoles(self.portal, TEST_USER_ID, ['Manager']) self.folder = api.content.create(type='Folder', container=self.portal, id='folder') self.folder.skos = [ self.term, ] self.sub_folder = api.content.create(type='Folder', container=self.folder, id='sub_folder') self.sub_folder.skos = [ 'http://vocab.e.gov.br/2011/03/vcge#governo', ] o = PortalContent('cmf', 'CMF Content', '', '', '') self.folder._setObject('cmf', o, suppress_events=True)
def testCorrectAdapter(self): from zope.component import provideAdapter from Products.CMFCore.PortalContent import PortalContent from plone.indexer.interfaces import IIndexer as PIIIndexer from plone.indexer.wrapper import IndexableObjectWrapper \ as PIIndexableObjectWrapper from zopyx.txng3.core.interfaces import IIndexableContent d = PortalContent() piwrapper = PIIndexableObjectWrapper(d, None) txngwrapper = IIndexableContent(piwrapper) def SearchableText(): return "" provideAdapter(lambda a,b:SearchableText, (None, None), \ PIIIndexer, name='SearchableText') # This can throw an exception if the adapter is not prepared for # the "transparent" Plone Indexer wrapper txngwrapper.indexableContent('SearchableText')
def manage_beforeDelete(self, item, container): """Both of my parents have a beforeDelete method""" PortalContent.manage_beforeDelete(self, item, container) OFS.Image.Image.manage_beforeDelete(self, item, container)
def manage_afterAdd(self, item, container): """Both of my parents have an afterAdd method""" OFS.Image.Image.manage_afterAdd(self, item, container) PortalContent.manage_afterAdd(self, item, container)
def manage_afterAdd(self, item, container): " Add self to the workflow and catalog. " # Recurse in the children (ObjectManager) PortalFolder.manage_afterAdd(self, item, container) # Add self to workflow and catalog PortalContent.manage_afterAdd(self, item, container)
def manage_beforeDelete(self, item, container): """Both of my parents have a beforeDelete method""" PortalContent.manage_beforeDelete(self, item, container) OFS.Image.File.manage_beforeDelete(self, item, container)
def manage_afterClone(self, item): """Both of my parents have an afterClone method""" OFS.Image.File.manage_afterClone(self, item) PortalContent.manage_afterClone(self, item)
def manage_afterClone(self, item): PortalContent.manage_afterClone(self, item) self.uid = self.make_uuid(id)
def manage_afterAdd( self, item, container ): self.after_add_called = 1 if self.catalog: PortalContent.manage_afterAdd( self, item, container )
def manage_afterClone(self, item): """Both of my parents have an afterClone method""" OFS.Image.Image.manage_afterClone(self, item) PortalContent.manage_afterClone(self, item)
def manage_afterAdd(self, item, container): """ Add self to the workflow and catalog. """ PortalFolder.manage_afterAdd(self, item, container) PortalContent.manage_afterAdd(self, item, container)
def _notifyOfCopyTo(self, container, op=0): """OFS.CopySupport notify """ BaseObject._notifyOfCopyTo(self, container, op=op) PortalContent._notifyOfCopyTo(self, container, op=op)
def manage_afterAdd(self, item, container): """Both of my parents have an afterAdd method""" OFS.Image.File.manage_afterAdd(self, item, container) PortalContent.manage_afterAdd(self, item, container)
def testContentImplements(self): tool = self._makeOne() content = PortalContent() self.assertTrue( tool.objectImplements(content, getDottedName(IContentish)))
def manage_beforeDelete( self, item, container ): self.before_delete_called = 1 if self.catalog: PortalContent.manage_beforeDelete( self, item, container )