def test_rename_title(self): """Rename only the title for a single non-publishable item. """ manager = IContainerManager(self.root.folder) with assertNotTriggersEvents('ObjectWillBeMovedEvent', 'ObjectMovedEvent', 'ContainerModifiedEvent'): with manager.renamer() as renamer: self.assertNotEqual( renamer((self.root.folder.toc, None, 'New AutoTOC')), None) self.assertTrue('toc' in self.root.folder.objectIds()) self.assertTrue(verifyObject(IAutoTOC, self.root.folder.toc)) self.assertEqual(self.root.folder.toc.get_title(), 'New AutoTOC')
def test_rename_title(self): """Rename only the title for a single non-publishable item. """ manager = IContainerManager(self.root.folder) with assertNotTriggersEvents('ObjectWillBeMovedEvent', 'ObjectMovedEvent', 'ContainerModifiedEvent'): with manager.renamer() as renamer: self.assertNotEqual( renamer((self.root.folder.toc, None, 'New AutoTOC')), None) self.assertTrue('toc' in self.root.folder.objectIds()) self.assertTrue(verifyObject(IAutoTOC, self.root.folder.toc)) self.assertEqual(self.root.folder.toc.get_title(), 'New AutoTOC')
def test_rename_id_already_in_use(self): """Rename a content to an id which is already in use. """ manager = IContainerManager(self.root.folder) with assertNotTriggersEvents('ObjectWillBeMovedEvent', 'ObjectMovedEvent', 'ContainerModifiedEvent'): with manager.renamer() as renamer: self.assertIsInstance( renamer((self.root.folder.toc, 'link', None)), ContainerError) self.assertTrue('toc' in self.root.folder.objectIds()) self.assertTrue('link' in self.root.folder.objectIds()) self.assertTrue(verifyObject(IAutoTOC, self.root.folder.toc)) self.assertTrue(verifyObject(ILink, self.root.folder.link))
def test_rename_not_published_content_id_and_title(self): """Rename id and title for a not published content. """ manager = IContainerManager(self.root.folder) with assertTriggersEvents('ObjectWillBeMovedEvent', 'ObjectMovedEvent', 'ContainerModifiedEvent'): with manager.renamer() as renamer: self.assertNotEqual( renamer((self.root.folder.link, 'nice_link', 'Nice Link')), None) self.assertFalse('link' in self.root.folder.objectIds()) self.assertTrue('nice_link' in self.root.folder.objectIds()) self.assertTrue(verifyObject(ILink, self.root.folder.nice_link)) self.assertEqual(self.root.folder.nice_link.get_editable().get_title(), 'Nice Link')
def test_rename_not_published_content_id_and_title(self): """Rename id and title for a not published content. """ manager = IContainerManager(self.root.folder) with assertTriggersEvents('ObjectWillBeMovedEvent', 'ObjectMovedEvent', 'ContainerModifiedEvent'): with manager.renamer() as renamer: self.assertNotEqual( renamer((self.root.folder.link, 'nice_link', 'Nice Link')), None) self.assertFalse('link' in self.root.folder.objectIds()) self.assertTrue('nice_link' in self.root.folder.objectIds()) self.assertTrue(verifyObject(ILink, self.root.folder.nice_link)) self.assertEqual(self.root.folder.nice_link.get_editable().get_title(), 'Nice Link')
def test_rename_id_already_in_use(self): """Rename a content to an id which is already in use. """ manager = IContainerManager(self.root.folder) with assertNotTriggersEvents('ObjectWillBeMovedEvent', 'ObjectMovedEvent', 'ContainerModifiedEvent'): with manager.renamer() as renamer: self.assertIsInstance( renamer((self.root.folder.toc, 'link', None)), ContainerError) self.assertTrue('toc' in self.root.folder.objectIds()) self.assertTrue('link' in self.root.folder.objectIds()) self.assertTrue(verifyObject(IAutoTOC, self.root.folder.toc)) self.assertTrue(verifyObject(ILink, self.root.folder.link))
def test_rename_published_container_id_and_title(self): """Rename a published container id and title. An Editor has the right to change both the id and title. """ manager = IContainerManager(self.root) with assertTriggersEvents('ObjectWillBeMovedEvent', 'ObjectMovedEvent', 'ContainerModifiedEvent'): with manager.renamer() as renamer: self.assertNotEqual( renamer((self.root.folder, 'archives', 'Archives')), None) self.assertFalse('folder' in self.root.objectIds()) self.assertTrue('archives' in self.root.objectIds()) self.assertTrue(verifyObject(IFolder, self.root.archives)) self.assertEqual(self.root.archives.get_title(), 'Archives')
def test_rename_published_container_id_and_title(self): """Rename a published container id and title. An Editor has the right to change both the id and title. """ manager = IContainerManager(self.root) with assertTriggersEvents('ObjectWillBeMovedEvent', 'ObjectMovedEvent', 'ContainerModifiedEvent'): with manager.renamer() as renamer: self.assertNotEqual( renamer((self.root.folder, 'archives', 'Archives')), None) self.assertFalse('folder' in self.root.objectIds()) self.assertTrue('archives' in self.root.objectIds()) self.assertTrue(verifyObject(IFolder, self.root.archives)) self.assertEqual(self.root.archives.get_title(), 'Archives')
def test_rename_published_content_title(self): """Rename only the title on a published content. Nothing happens (except an error). """ link = self.root.folder.published_link manager = IContainerManager(self.root.folder) with assertNotTriggersEvents('ObjectWillBeMovedEvent', 'ObjectMovedEvent', 'ContainerModifiedEvent'): with manager.renamer() as renamer: self.assertIsInstance(renamer((link, None, 'Updated Link')), ContentError) self.assertEqual(link, self.root.folder.published_link) self.assertTrue('published_link' in self.root.folder.objectIds()) self.assertTrue(verifyObject(ILink, link)) self.assertEqual(link.get_title(), 'Published Link') self.assertEqual(link.get_editable(), None)
def test_rename_published_container_id_and_title(self): """Rename a published container it and title. An author can only change the title. """ manager = IContainerManager(self.root) with assertNotTriggersEvents('ObjectWillBeMovedEvent', 'ObjectMovedEvent', 'ContainerModifiedEvent'): with manager.renamer() as renamer: self.assertNotEqual( renamer((self.root.folder, 'archives', 'Archives')), None) self.assertTrue('folder' in self.root.objectIds()) self.assertFalse('archives' in self.root.objectIds()) self.assertTrue(verifyObject(IFolder, self.root.folder)) # Author got the permission to change the title. self.assertEqual(self.root.folder.get_title(), 'Archives')
def test_rename_new_version_content_title(self): """Rename only the title on a new version of a published content. (The title is an utf-8 string, not unicode, to test encodings.) """ link = self.root.folder.published_link manager = IContainerManager(self.root.folder) IPublicationWorkflow(link).new_version() with assertNotTriggersEvents('ObjectWillBeMovedEvent', 'ObjectMovedEvent', 'ContainerModifiedEvent'): with manager.renamer() as renamer: self.assertEqual(renamer((link, None, 'Updaté Link')), link) self.assertEqual(link, self.root.folder.published_link) self.assertTrue('published_link' in self.root.folder.objectIds()) self.assertTrue(verifyObject(ILink, link)) self.assertEqual(link.get_title(), 'Published Link') self.assertEqual(link.get_editable().get_title(), u'Updaté Link')
def test_rename_published_container_id_and_title(self): """Rename a published container it and title. An author can only change the title. """ manager = IContainerManager(self.root) with assertNotTriggersEvents('ObjectWillBeMovedEvent', 'ObjectMovedEvent', 'ContainerModifiedEvent'): with manager.renamer() as renamer: self.assertNotEqual( renamer((self.root.folder, 'archives', 'Archives')), None) self.assertTrue('folder' in self.root.objectIds()) self.assertFalse('archives' in self.root.objectIds()) self.assertTrue(verifyObject(IFolder, self.root.folder)) # Author got the permission to change the title. self.assertEqual(self.root.folder.get_title(), 'Archives')
def test_rename_published_content_title(self): """Rename only the title on a published content. Nothing happens (except an error). """ link = self.root.folder.published_link manager = IContainerManager(self.root.folder) with assertNotTriggersEvents('ObjectWillBeMovedEvent', 'ObjectMovedEvent', 'ContainerModifiedEvent'): with manager.renamer() as renamer: self.assertIsInstance( renamer((link, None, 'Updated Link')), ContentError) self.assertEqual(link, self.root.folder.published_link) self.assertTrue('published_link' in self.root.folder.objectIds()) self.assertTrue(verifyObject(ILink, link)) self.assertEqual(link.get_title(), 'Published Link') self.assertEqual(link.get_editable(), None)
def test_rename_published_content_id_and_title(self): """Rename a published content id and title. An author can't do anything, nothing is done. """ link = self.root.folder.published_link manager = IContainerManager(self.root.folder) with assertNotTriggersEvents('ObjectWillBeMovedEvent', 'ObjectMovedEvent', 'ContainerModifiedEvent'): with manager.renamer() as renamer: self.assertIsInstance( renamer((link, 'updated_link', 'Updated Link')), ContentError) self.assertEqual(link, self.root.folder.published_link) self.assertTrue('published_link' in self.root.folder.objectIds()) self.assertFalse('updated_link' in self.root.folder.objectIds()) self.assertTrue(verifyObject(ILink, link)) self.assertEqual(link.get_title(), 'Published Link')
def test_rename_published_content_id_and_title(self): """Rename a published content id and title. An author can't do anything, nothing is done. """ link = self.root.folder.published_link manager = IContainerManager(self.root.folder) with assertNotTriggersEvents('ObjectWillBeMovedEvent', 'ObjectMovedEvent', 'ContainerModifiedEvent'): with manager.renamer() as renamer: self.assertIsInstance( renamer((link, 'updated_link', 'Updated Link')), ContentError) self.assertEqual(link, self.root.folder.published_link) self.assertTrue('published_link' in self.root.folder.objectIds()) self.assertFalse('updated_link' in self.root.folder.objectIds()) self.assertTrue(verifyObject(ILink, link)) self.assertEqual(link.get_title(), 'Published Link')
def test_rename_new_version_content_title(self): """Rename only the title on a new version of a published content. (The title is an utf-8 string, not unicode, to test encodings.) """ link = self.root.folder.published_link manager = IContainerManager(self.root.folder) IPublicationWorkflow(link).new_version() with assertNotTriggersEvents('ObjectWillBeMovedEvent', 'ObjectMovedEvent', 'ContainerModifiedEvent'): with manager.renamer() as renamer: self.assertEqual( renamer((link, None, 'Updaté Link')), link) self.assertEqual(link, self.root.folder.published_link) self.assertTrue('published_link' in self.root.folder.objectIds()) self.assertTrue(verifyObject(ILink, link)) self.assertEqual(link.get_title(), 'Published Link') self.assertEqual(link.get_editable().get_title(), u'Updaté Link')
def test_rename_published_content_id_and_title(self): """Rename a published content id and title. An Editor has the right to change the id, but not the title (there is no unapproved version to set the title on). """ folder = self.root.folder manager = IContainerManager(folder) with assertTriggersEvents('ObjectWillBeMovedEvent', 'ObjectMovedEvent', 'ContainerModifiedEvent'): with manager.renamer() as renamer: self.assertIsInstance( renamer((folder.published_link, 'updated_link', 'Updated Link')), ContentError) self.assertFalse('published_link' in folder.objectIds()) self.assertTrue('updated_link' in folder.objectIds()) self.assertTrue(verifyObject(ILink, folder.updated_link)) # The title is not changed (it changed only the editable # version, there is None) self.assertEqual(folder.updated_link.get_title(), 'Published Link')
def test_rename_published_content_id_and_title(self): """Rename a published content id and title. An Editor has the right to change the id, but not the title (there is no unapproved version to set the title on). """ folder = self.root.folder manager = IContainerManager(folder) with assertTriggersEvents('ObjectWillBeMovedEvent', 'ObjectMovedEvent', 'ContainerModifiedEvent'): with manager.renamer() as renamer: self.assertIsInstance( renamer((folder.published_link, 'updated_link', 'Updated Link')), ContentError) self.assertFalse('published_link' in folder.objectIds()) self.assertTrue('updated_link' in folder.objectIds()) self.assertTrue(verifyObject(ILink, folder.updated_link)) # The title is not changed (it changed only the editable # version, there is None) self.assertEqual(folder.updated_link.get_title(), 'Published Link')
def test_rename_multiple(self): """Rename multipe content in one time. """ manager = IContainerManager(self.root.folder) with assertTriggersEvents('ObjectWillBeMovedEvent', 'ObjectMovedEvent', 'ContainerModifiedEvent'): with manager.renamer() as renamer: self.assertNotEqual( renamer((self.root.folder.toc, 'newtoc', None)), None) self.assertNotEqual( renamer((self.root.folder.link, 'nice_link', 'Nice Link')), None) self.assertFalse('toc' in self.root.folder.objectIds()) self.assertTrue('newtoc' in self.root.folder.objectIds()) self.assertTrue(verifyObject(IAutoTOC, self.root.folder.newtoc)) self.assertEqual(self.root.folder.newtoc.get_title(), 'AutoTOC') self.assertFalse('link' in self.root.folder.objectIds()) self.assertTrue('nice_link' in self.root.folder.objectIds()) self.assertTrue(verifyObject(ILink, self.root.folder.nice_link)) self.assertEqual(self.root.folder.nice_link.get_editable().get_title(), 'Nice Link')
def test_rename_multiple(self): """Rename multipe content in one time. """ manager = IContainerManager(self.root.folder) with assertTriggersEvents('ObjectWillBeMovedEvent', 'ObjectMovedEvent', 'ContainerModifiedEvent'): with manager.renamer() as renamer: self.assertNotEqual( renamer((self.root.folder.toc, 'newtoc', None)), None) self.assertNotEqual( renamer((self.root.folder.link, 'nice_link', 'Nice Link')), None) self.assertFalse('toc' in self.root.folder.objectIds()) self.assertTrue('newtoc' in self.root.folder.objectIds()) self.assertTrue(verifyObject(IAutoTOC, self.root.folder.newtoc)) self.assertEqual(self.root.folder.newtoc.get_title(), 'AutoTOC') self.assertFalse('link' in self.root.folder.objectIds()) self.assertTrue('nice_link' in self.root.folder.objectIds()) self.assertTrue(verifyObject(ILink, self.root.folder.nice_link)) self.assertEqual(self.root.folder.nice_link.get_editable().get_title(), 'Nice Link')