示例#1
0
    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'])
示例#2
0
 def _call_fut(self, *args, **kwargs):
     from petrel.search import search
     return search(*args, **kwargs)