def test_update_user_contributions(self): user_services.update_user_contributions(self.owner_id, ['e1'], ['e2']) contributions = user_services.get_user_contributions(self.owner_id) self.assertEqual(contributions.user_id, self.owner_id) self.assertEqual(contributions.created_exploration_ids, ['e1']) self.assertEqual(contributions.edited_exploration_ids, ['e2'])
def reduce(key, version_and_exp_ids): """Implements the reduce function for this job.""" created_exploration_ids = set() edited_exploration_ids = set() edits = [ast.literal_eval(v) for v in version_and_exp_ids] for edit in edits: edited_exploration_ids.add(edit['exploration_id']) if edit['version_string'] == '1': created_exploration_ids.add(edit['exploration_id']) if user_services.get_user_contributions(key, strict=False) is not None: user_services.update_user_contributions( key, list(created_exploration_ids), list(edited_exploration_ids)) else: user_services.create_user_contributions( key, list(created_exploration_ids), list(edited_exploration_ids))
def reduce(key, version_and_exp_ids): created_exploration_ids = set() edited_exploration_ids = set() edits = [ast.literal_eval(v) for v in version_and_exp_ids] for edit in edits: edited_exploration_ids.add(edit['exploration_id']) if edit['version_string'] == '1': created_exploration_ids.add(edit['exploration_id']) if user_services.get_user_contributions(key, strict=False) is not None: user_services.update_user_contributions( key, list(created_exploration_ids), list( edited_exploration_ids)) else: user_services.create_user_contributions( key, list(created_exploration_ids), list( edited_exploration_ids))
def test_cannot_update_user_contributions_with_invalid_user_id(self): with self.assertRaisesRegexp( Exception, 'User contributions model for user invalid_user_id does not exist' ): user_services.update_user_contributions('invalid_user_id', [], [])