def test_post_object_without_existing_parent_object(self): app = ApplicationAPI(self.portal, '') objs = {'no_folder/news1': [{'description': 'News One', 'title': 'news1', 'text': '\n<p>Hot off the press!</p>\n', 'id': 'news1'}, 'News Item']} self.login('test_user_1_') try: app.post_object(objs) except NotFound: # The expected result. pass except Exception, e: self.fail(e)
def test_anonymous_post_object(self): app = ApplicationAPI(self.portal, '') objs = {'news1': [{'description': 'News One', 'title': 'news1', 'text': '\n<p>Hot off the press!</p>\n', 'id': 'news1'}, 'News Item']} self.logout() try: app.post_object(objs) except Unauthorized: # The expected result. pass except Exception, e: self.fail(e)
def test_anonymous_post_object(self): app = ApplicationAPI(self.portal, '') objs = { 'news1': [{ 'description': 'News One', 'title': 'news1', 'text': '\n<p>Hot off the press!</p>\n', 'id': 'news1' }, 'News Item'] } self.logout() try: app.post_object(objs) except Unauthorized: # The expected result. pass except Exception, e: self.fail(e)
def test_post_object_without_existing_parent_object(self): app = ApplicationAPI(self.portal, '') objs = { 'no_folder/news1': [{ 'description': 'News One', 'title': 'news1', 'text': '\n<p>Hot off the press!</p>\n', 'id': 'news1' }, 'News Item'] } self.login('test_user_1_') try: app.post_object(objs) except NotFound: # The expected result. pass except Exception, e: self.fail(e)
def test_post_object(self): resp = Response(FauxResponse()) app = ApplicationAPI(self.portal, '') objs = {'news1': [{'description': 'News One', 'title': 'news1', 'text': '\n<p>Hot off the press!</p>\n', 'id': 'news1'}, 'News Item']} self.login('test_user_1_') post_obj_data = app.post_object(objs) self.logout() resp.setBody(post_obj_data) post_obj_resp, method = xmlrpclib.loads(resp._body) self.failUnlessEqual(post_obj_resp[0], ['/plone/news1']) self.assertTrue(self.portal['news1'])
def test_post_object(self): resp = Response(FauxResponse()) app = ApplicationAPI(self.portal, '') objs = { 'news1': [{ 'description': 'News One', 'title': 'news1', 'text': '\n<p>Hot off the press!</p>\n', 'id': 'news1' }, 'News Item'] } self.login('test_user_1_') post_obj_data = app.post_object(objs) self.logout() resp.setBody(post_obj_data) post_obj_resp, method = xmlrpclib.loads(resp._body) self.failUnlessEqual(post_obj_resp[0], ['/plone/news1']) self.assertTrue(self.portal['news1'])
def post_and_index_object(self, params): wsapi = ApplicationAPI(self.context, self.request) results = wsapi.post_object(params) self._reindex_paths(results) return results