def test_dump_account(self): """Can a user get their data? """ user1 = create_account('user1', '*****@*****.**', 'Password') data = dump_account(user1) self.assertIsNotNone(data) # Got data? self.assertEqual('user1', data['user']['username']) self.assertFalse(data['user']['active']) # Has sensitive data been removed? self.assertEqual('<UID>', data['user']['_id']) self.assertEqual('<PASSWORD HASH>', data['user']['password']) self.assertEqual([], data['posts']) # Can they dump posts? post1 = create_post(user1, 'user1', 'Post 1') post2 = create_post(user1, 'user1', 'Post 2') post3 = create_post(user1, 'user1', 'Post 3') data = dump_account(user1) self.assertIsNotNone(data) self.assertNotEqual([], data['posts']) self.assertEqual('Post 1', data['posts'][2]['body']) self.assertEqual('Post 2', data['posts'][1]['body']) self.assertEqual('Post 3', data['posts'][0]['body']) self.assertEqual('<UID>', data['posts'][0]['user_id']) # What about replies? create_post(user1, 'user1', 'Comment 1', post1) create_post(user1, 'user1', 'Comment 2', post1) create_post(user1, 'user1', 'Comment 3', post2) create_post(user1, 'user1', 'Comment 4', post3) data = dump_account(user1) self.assertNotEqual([], data['posts']) self.assertEqual('Comment 1', data['posts'][3]['body']) self.assertEqual('Comment 2', data['posts'][2]['body']) self.assertEqual('Comment 3', data['posts'][1]['body']) self.assertEqual('Comment 4', data['posts'][0]['body']) # Senstive data? self.assertEqual('<UID>', data['posts'][0]['user_id']) # Testing running dump account with a non-existent user self.assertIsNone(dump_account(K.NIL_VALUE))
def test_dump_account(self): """Can a user get their data? """ user1 = create_account('user1', '*****@*****.**', 'Password') activate(user1) data = dump_account(user1) self.assertIsNotNone(data) # Got data? self.assertEqual('user1', data['user']['username']) self.assertTrue(data['user']['active']) # Has sensitive data been removed? self.assertEqual('<UID>', data['user']['_id']) self.assertEqual('<PASSWORD HASH>', data['user']['password']) self.assertEqual([], data['posts']) # Can they dump posts? post1 = create_post(user1, 'user1', 'Post 1') post2 = create_post(user1, 'user1', 'Post 2') post3 = create_post(user1, 'user1', 'Post 3') data = dump_account(user1) self.assertIsNotNone(data) self.assertNotEqual([], data['posts']) self.assertEqual('Post 1', data['posts'][2]['body']) self.assertEqual('Post 2', data['posts'][1]['body']) self.assertEqual('Post 3', data['posts'][0]['body']) self.assertEqual('<UID>', data['posts'][0]['user_id']) # What about replies? create_post(user1, 'user1', 'Comment 1', post1) create_post(user1, 'user1', 'Comment 2', post1) create_post(user1, 'user1', 'Comment 3', post2) create_post(user1, 'user1', 'Comment 4', post3) data = dump_account(user1) self.assertNotEqual([], data['posts']) self.assertEqual('Comment 1', data['posts'][3]['body']) self.assertEqual('Comment 2', data['posts'][2]['body']) self.assertEqual('Comment 3', data['posts'][1]['body']) self.assertEqual('Comment 4', data['posts'][0]['body']) # Senstive data? self.assertEqual('<UID>', data['posts'][0]['user_id']) # Testing running dump account with a non-existent user self.assertIsNone(dump_account(K.NIL_VALUE)) # Test that user id's a hidden in mentions user2 = create_account('user2', '*****@*****.**', 'Password') activate(user2) user3 = create_account('user3', '*****@*****.**', 'Password') activate(user3) post1 = create_post(user1, 'user1', 'Hello @user2') post_json = json.dumps(dump_account(user1)) self.assertNotIn(user2, post_json) post2 = create_post(user1, 'user1', 'Hello @user2 and @user3') post_json = json.dumps(dump_account(user1)) self.assertNotIn(user2, post_json) self.assertNotIn(user3, post_json)