def put(self, id): # OK """ Handles PUT request. Updates an existing post data.""" debug("PUT POST id:" + str(id)) post = manager.get_post(id) if post == None: abort(404) args = self.reqparse.parse_args() if 'username' in args.keys(): username = args['username'] if 'title' in args.keys(): post['title'] = args['title'] if 'contents' in args.keys(): post['contents'] = args['contents'] if 'tags' in args.keys(): post['tags'] = list([b64decode(temp) \ for temp in args['tags'].split(':')]) else: post['tags'] = [] post = manager.update_post(post, id, username) return {'post': marshal(post, PostAPI.response_post_field)} else: abort(400)
def test_2_user_data(self): # User creation user = {} user['name'] = 'user' user['password'] = '******' user['email'] = '*****@*****.**' self.assertIsNotNone(manager.insert_user(user)) self.assertTrue(manager._is_user_created('user')) self.assertFalse(manager.insert_user(user)) self.assertFalse(manager.add_favourite('user', '3')) # Create post post = {'title' : "How to install Node.js", \ 'contents' : "Download files and sudo make, sudo make intall", \ 'tags' : ["node.js", "How-to"]} created_post = manager.insert_post(post, 'user') self.assertIsNotNone(manager.get_posts('user')) self.assertIsNotNone(manager.get_posts('user', 1)) # Favourites self.assertTrue(manager.add_favourite('user', created_post['id'])) self.assertIsNotNone(manager.get_favourites('user')) self.assertEqual(1, manager.get_favourite_count('user')) self.assertTrue(manager.delete_favourite('user', created_post['id'])) # User data modification db_user = manager.get_user('user') self.assertEqual(md5(user['email'].encode('utf-8')).hexdigest(), \ db_user['hash']) self.assertTrue(user['password'], manager.get_password('user')) self.assertTrue(manager.change_password('user', '1234')) self.assertTrue(manager.change_email('user', 'some_email')) # User tags self.assertIsNotNone(manager.get_user_tags('user')) # Update post post = {'title' : "MODIFY", \ 'contents' : "MODIFY", \ 'tags' : ["node.js", "One tag more"]} self.assertIsNotNone( manager.update_post(post, created_post['id'], 'user'))
def test_2_user_data(self): # User creation user = {} user['name'] = 'user' user['password'] = '******' user['email'] = '*****@*****.**' self.assertIsNotNone(manager.insert_user(user)) self.assertTrue(manager._is_user_created('user')) self.assertFalse(manager.insert_user(user)) self.assertFalse(manager.add_favourite('user', '3')) # Create post post = {'title' : "How to install Node.js", \ 'contents' : "Download files and sudo make, sudo make intall", \ 'tags' : ["node.js", "How-to"]} created_post = manager.insert_post(post, 'user') self.assertIsNotNone(manager.get_posts('user')) self.assertIsNotNone(manager.get_posts('user', 1)) # Favourites self.assertTrue(manager.add_favourite('user', created_post['id'])) self.assertIsNotNone(manager.get_favourites('user')) self.assertEqual(1, manager.get_favourite_count('user')) self.assertTrue(manager.delete_favourite('user', created_post['id'])) # User data modification db_user = manager.get_user('user') self.assertEqual(md5(user['email'].encode('utf-8')).hexdigest(), \ db_user['hash']) self.assertTrue(user['password'], manager.get_password('user')) self.assertTrue(manager.change_password('user', '1234')) self.assertTrue(manager.change_email('user', 'some_email')) # User tags self.assertIsNotNone(manager.get_user_tags('user')) # Update post post = {'title' : "MODIFY", \ 'contents' : "MODIFY", \ 'tags' : ["node.js", "One tag more"]} self.assertIsNotNone(manager.update_post(post, created_post['id'], 'user'))