def test_rename_item(self): from pyramid.url import resource_url from petrel.content.folder import folder_rename site = self._make_site() folder = self._make_folder(site, u'folder') subfolder = self._make_folder(folder, u'subfolder') self._make_document(subfolder, u'doc1') self._make_document(subfolder, u'doc2') req = self._make_request(context=folder, post={'name_orig': u'subfolder', 'name_new': u'the-subfolder'}) resp = folder_rename(req) self.assertEqual(resp.status, '303 See Other') self.assert_(resp.headers['Location'], resource_url(folder, req)) self.assertEqual(list(folder.keys()), [u'the-subfolder']) self.assertEqual(subfolder.__name__, u'the-subfolder') ## Check that the subfolder and its sub-items have been ## reindexed. from petrel.search import search res = search(site, path='/folder/subfolder') self.assertEqual(res, ()) res = search(site, path='/folder/the-subfolder') res = [i['path'] for i in res] self.assertEqual(res, ['/folder/the-subfolder/doc1', '/folder/the-subfolder/doc2'])
def _call_fut(self, *args, **kwargs): from petrel.search import search return search(*args, **kwargs)