def setup(self): # Organization 1 self.organization = factories.Organization() dataset = factories.Dataset(owner_org=self.organization['id']) issue = issue_factories.Issue(dataset_id=dataset['id']) self.comment1 = issue_factories.IssueComment( issue_number=issue['number'], dataset_id=issue['dataset_id'], ) comment_object = IssueComment.get(self.comment1['id']) comment_object.change_visibility(model.Session, u'hidden') self.comment2 = issue_factories.IssueComment( # unreported comment issue_number=issue['number'], dataset_id=issue['dataset_id'], ) # Organization 2 self.organization2 = factories.Organization() dataset2 = factories.Dataset(owner_org=self.organization2['id']) issue2 = issue_factories.Issue(dataset_id=dataset2['id']) self.comment3 = issue_factories.IssueComment( issue_number=issue2['number'], dataset_id=issue2['dataset_id'], ) comment_object = IssueComment.get(self.comment3['id']) comment_object.change_visibility(model.Session, u'hidden') self.comment4 = issue_factories.IssueComment( # unreported comment issue_number=issue2['number'], dataset_id=issue2['dataset_id'], )
def setup(self): # Organization 1 self.organization = factories.Organization() self.dataset = factories.Dataset(owner_org=self.organization['id']) self.issue = issue_factories.Issue(dataset_id=self.dataset['id']) self.comment1 = issue_factories.IssueComment( issue_number=self.issue['number'], dataset_id=self.issue['dataset_id'], ) self.comment2 = issue_factories.IssueComment( issue_number=self.issue['number'], dataset_id=self.issue['dataset_id'], ) self.comment3 = issue_factories.IssueComment( issue_number=self.issue['number'], dataset_id=self.issue['dataset_id'], ) # Organization 2 self.organization2 = factories.Organization() dataset2 = factories.Dataset(owner_org=self.organization2['id']) issue2 = issue_factories.Issue(dataset_id=dataset2['id']) self.comment4 = issue_factories.IssueComment( issue_number=issue2['number'], dataset_id=issue2['dataset_id'], ) self.comment5 = issue_factories.IssueComment( # unreported comment issue_number=issue2['number'], dataset_id=issue2['dataset_id'], )
def test_report_twice(self, owner, org, dataset, issue): comment = issue_factories.IssueComment(user_id=owner['id'], dataset_id=dataset['id'], issue_number=issue['number']) user = factories.User(name='unauthed') context = { 'user': user['name'], 'model': model, } helpers.call_action('issue_comment_report', context=context, dataset_id=dataset['id'], issue_number=issue['number'], comment_id=comment['id']) pytest.raises( ReportAlreadyExists, helpers.call_action, 'issue_comment_report', context=context, dataset_id=dataset['id'], issue_number=issue['number'], comment_id=comment['id'], )
def comment(issue, user): comment = issue_factories.IssueComment( user_id=user['id'], issue_number=issue['number'], dataset_id=issue['dataset_id'], ) return comment
def comment2(self, issue, dataset): comment2 = issue_factories.IssueComment( dataset_id=dataset['id'], issue_number=issue['number'], comment='this should not be shown', ) return comment2
def test_publisher_reports_a_comment(self): owner = factories.User() org = factories.Organization(user=owner) dataset = factories.Dataset(owner_org=org['name']) issue = issue_factories.Issue(user=owner, user_id=owner['id'], dataset_id=dataset['id']) comment = issue_factories.IssueComment(user_id=owner['id'], dataset_id=dataset['id'], issue_number=issue['number']) context = { 'user': owner['name'], 'model': model, } helpers.call_action('issue_comment_report', context=context, dataset_id=dataset['id'], issue_number=issue['number'], comment_id=comment['id']) result = helpers.call_action('issue_show', issue_number=issue['number'], dataset_id=dataset['id']) assert_equals('hidden', result['comments'][0]['visibility'])
def test_filter_most_commented(self): user = factories.User() dataset = factories.Dataset() # issue#1 has 3 comment. #2 has 1 comments, etc comment_count = [3, 1, 2, 0] issue_ids = [] for i in comment_count: issue = issue_factories.Issue(user_id=user['id'], dataset_id=dataset['id'], description=i) issue_ids.append(issue['id']) for j in range(0, i): issue_factories.IssueComment( user_id=user['id'], issue_number=issue['number'], dataset_id=issue['dataset_id'], ) reordered_ids = [ issue_ids[0], issue_ids[2], issue_ids[1], issue_ids[3] ] issues_list = helpers.call_action('issue_search', context={'user': user['name']}, dataset_id=dataset['id'], sort='most_commented')['results'] assert_equals(reordered_ids, [i['id'] for i in issues_list]) assert_equals([3, 2, 1, 0], [i['comment_count'] for i in issues_list])
def comment(self, issue, dataset): comment = issue_factories.IssueComment( dataset_id=dataset['id'], issue_number=issue['number'], comment='this is a comment', ) return comment
def test_clear_as_user(self): owner = factories.User() org = factories.Organization(user=owner) dataset = factories.Dataset(owner_org=org['name']) issue = issue_factories.Issue(user_id=owner['id'], dataset_id=dataset['id']) comment = issue_factories.IssueComment(user_id=owner['id'], dataset_id=dataset['id'], issue_number=issue['number']) user = factories.User() model.Session.add( IssueComment.Report(user['id'], parent_id=comment['id'])) model.Session.commit() context = { 'user': user['name'], 'model': model, } helpers.call_action('issue_comment_report_clear', context=context, dataset_id=dataset['id'], issue_number=issue['number'], comment_id=comment['id']) comment_obj = IssueComment.get(comment['id']) assert_equals(len(comment_obj.abuse_reports), 0) assert_equals('visible', comment_obj.visibility)
def test_clear_as_publisher(self): owner = factories.User() org = factories.Organization(user=owner) dataset = factories.Dataset(owner_org=org['name']) issue = issue_factories.Issue(user_id=owner['id'], dataset_id=dataset['id']) comment = issue_factories.IssueComment(user_id=owner['id'], dataset_id=dataset['id'], issue_number=issue['number'], visibility='hidden') context = { 'user': owner['name'], 'model': model, } model.Session.add( IssueComment.Report(owner['id'], parent_id=comment['id'])) model.Session.commit() helpers.call_action('issue_comment_report_clear', context=context, dataset_id=dataset['id'], issue_number=issue['number'], comment_id=comment['id']) result = helpers.call_action('issue_show', issue_number=issue['number'], dataset_id=dataset['id']) assert_equals('visible', result['comments'][0]['visibility']) comment_obj = IssueComment.get(comment['id']) model.Session.refresh(comment_obj) assert_equals(len(comment_obj.abuse_reports), 0)
def test_max_strikes_hides_comment(self): owner = factories.User() org = factories.Organization(user=owner) dataset = factories.Dataset(owner_org=org['name']) issue = issue_factories.Issue(user_id=owner['id'], dataset_id=dataset['id']) comment = issue_factories.IssueComment(user_id=owner['id'], dataset_id=dataset['id'], issue_number=issue['number']) user = factories.User(name='unauthed') context = { 'user': user['name'], 'model': model, } helpers.call_action('issue_comment_report', context=context, dataset_id=dataset['id'], issue_number=issue['number'], comment_id=comment['id']) result = helpers.call_action('issue_show', dataset_id=dataset['id'], issue_number=issue['number']) comment_obj = IssueComment.get(comment['id']) assert_equals(len(comment_obj.abuse_reports), 1) assert_equals('hidden', result['comments'][0]['visibility'])
def comment3(self, issue): comment3 = issue_factories.IssueComment( issue_number=issue['number'], dataset_id=issue['dataset_id'], ) comment_object = IssueComment.get(comment3['id']) comment_object.change_visibility(model.Session, u'hidden') return comment3
def setup(self): user = factories.User() dataset = factories.Dataset() issue = issue_factories.Issue(user=user, user_id=user['id'], dataset_id=dataset['id']) issue_factories.IssueComment( user_id=user['id'], issue_number=issue['number'], dataset_id=issue['dataset_id'], )
def setup(self): super(TestCommentModeration, self).setup() self.user = factories.User() self.organization = factories.Organization(user=self.user) self.dataset = factories.Dataset(user=self.user, owner_org=self.organization['name']) self.issue = issue_factories.Issue(user=self.user, user_id=self.user['id'], dataset_id=self.dataset['id']) self.comment = issue_factories.IssueComment( dataset_id=self.dataset['id'], issue_number=self.issue['number'], comment='this is a comment', ) self.comment2 = issue_factories.IssueComment( dataset_id=self.dataset['id'], issue_number=self.issue['number'], comment='this should not be shown', )
def setup(self): super(TestReportComment, self).setup() self.joe_public = factories.User() self.owner = factories.User() self.org = factories.Organization(user=self.owner) self.dataset = factories.Dataset(user=self.owner, owner_org=self.org['name']) self.issue = issue_factories.Issue(user=self.owner, user_id=self.owner['id'], dataset_id=self.dataset['id']) self.comment = issue_factories.IssueComment( user_id=self.owner['id'], dataset_id=self.dataset['id'], issue_number=self.issue['number']) self.app = self._get_test_app()
def test_publisher_reports_a_comment(self, owner, org, dataset, issue): comment = issue_factories.IssueComment(user_id=owner['id'], dataset_id=dataset['id'], issue_number=issue['number']) context = { 'user': owner['name'], 'model': model, } helpers.call_action('issue_comment_report', context=context, dataset_id=dataset['id'], issue_number=issue['number'], comment_id=comment['id']) result = helpers.call_action('issue_show', issue_number=issue['number'], dataset_id=dataset['id']) assert 'hidden' == result['comments'][0]['visibility']
def test_report_comment(self, owner, dataset, issue): comment = issue_factories.IssueComment(user_id=owner['id'], dataset_id=dataset['id'], issue_number=issue['number']) user = factories.User(name='unauthed') context = { 'user': user['name'], 'model': model, } helpers.call_action('issue_comment_report', context=context, dataset_id=dataset['id'], issue_number=issue['number'], comment_id=comment['id']) comment_obj = IssueComment.get(comment['id']) assert len(comment_obj.abuse_reports) == 1 assert comment_obj.visibility == 'visible'
def test_max_strikes_hides_comment(self, owner, org, dataset, issue): comment = issue_factories.IssueComment(user_id=owner['id'], dataset_id=dataset['id'], issue_number=issue['number']) user = factories.User(name='unauthed') context = { 'user': user['name'], 'model': model, } helpers.call_action('issue_comment_report', context=context, dataset_id=dataset['id'], issue_number=issue['number'], comment_id=comment['id']) result = helpers.call_action('issue_show', dataset_id=dataset['id'], issue_number=issue['number']) comment_obj = IssueComment.get(comment['id']) assert len(comment_obj.abuse_reports) == 1 assert 'hidden' == result['comments'][0]['visibility']
def test_increase_spam(self): owner = factories.User() org = factories.Organization(user=owner) dataset = factories.Dataset(owner_org=org['name']) issue = issue_factories.Issue(user_id=owner['id'], dataset_id=dataset['id']) comment = issue_factories.IssueComment(user_id=owner['id'], issue_id=issue['id']) user = factories.User(name='unauthed') context = { 'user': user['name'], 'model': model, } helpers.call_action('issue_comment_report_spam', context=context, dataset_id=dataset['id'], issue_comment_id=comment['id']) result = helpers.call_action('issue_show', id=issue['id']) assert_equals(1, result['comments'][0]['spam_count'])
def test_reset_spam_state(self): owner = factories.User() org = factories.Organization(user=owner) dataset = factories.Dataset(owner_org=org['name']) issue = issue_factories.Issue(user_id=owner['id'], dataset_id=dataset['id']) comment = issue_factories.IssueComment(user_id=owner['id'], issue_id=issue['id'], spam_state='hidden', spam_count='20') context = { 'user': owner['name'], 'model': model, } helpers.call_action('issue_comment_reset_spam_state', context=context, dataset_id=dataset['id'], issue_comment_id=comment['id']) result = helpers.call_action('issue_show', id=issue['id']) assert_equals(0, result['comments'][0]['spam_count']) assert_equals('visible', result['comments'][0]['spam_state'])
def test_clear_as_user(self, owner, org, dataset, issue): comment = issue_factories.IssueComment(user_id=owner['id'], dataset_id=dataset['id'], issue_number=issue['number']) user = factories.User() model.Session.add(IssueComment.Report(user['id'], parent_id=comment['id'])) model.Session.commit() context = { 'user': user['name'], 'model': model, } helpers.call_action('issue_comment_report_clear', context=context, dataset_id=dataset['id'], issue_number=issue['number'], comment_id=comment['id']) comment_obj = IssueComment.get(comment['id']) assert len(comment_obj.abuse_reports) == 0 assert 'visible' == comment_obj.visibility
def test_clear_as_publisher(self, owner, org, dataset, issue): comment = issue_factories.IssueComment(user_id=owner['id'], dataset_id=dataset['id'], issue_number=issue['number'], visibility='hidden') context = { 'user': owner['name'], 'model': model, } model.Session.add(IssueComment.Report(owner['id'], parent_id=comment['id'])) model.Session.commit() helpers.call_action('issue_comment_report_clear', context=context, dataset_id=dataset['id'], issue_number=issue['number'], comment_id=comment['id']) result = helpers.call_action('issue_show', issue_number=issue['number'], dataset_id=dataset['id']) assert 'visible' == result['comments'][0]['visibility'] comment_obj = IssueComment.get(comment['id']) model.Session.refresh(comment_obj) assert len(comment_obj.abuse_reports) == 0
def test_filter_least_commented(self, user, dataset): # issue#1 has 3 comment. #2 has 1 comments, etc comment_count = [3, 1, 2] issue_ids = [] for i in comment_count: issue = issue_factories.Issue(user_id=user['id'], dataset_id=dataset['id'], description=i) issue_ids.append(issue['id']) for j in range(0, i): issue_factories.IssueComment( user_id=user['id'], issue_number=issue['number'], dataset_id=issue['dataset_id'], ) reordered_ids = [issue_ids[1], issue_ids[2], issue_ids[0]] issues_list = helpers.call_action('issue_search', context={'user': user['name']}, dataset_id=dataset['id'], sort='least_commented')['results'] assert reordered_ids == [i['id'] for i in issues_list] assert [1, 2, 3] == [i['comment_count'] for i in issues_list]
def test_max_strikes_marks_as_spam(self, mock): #mock out the config value of max_strikes mock.get.return_value = '0' owner = factories.User() org = factories.Organization(user=owner) dataset = factories.Dataset(owner_org=org['name']) issue = issue_factories.Issue(user_id=owner['id'], dataset_id=dataset['id']) comment = issue_factories.IssueComment(user_id=owner['id'], issue_id=issue['id']) user = factories.User(name='unauthed') context = { 'user': user['name'], 'model': model, } helpers.call_action('issue_comment_report_spam', context=context, dataset_id=dataset['id'], issue_comment_id=comment['id']) result = helpers.call_action('issue_show', id=issue['id']) assert_equals(1, result['comments'][0]['spam_count']) assert_equals('hidden', result['comments'][0]['spam_state'])
def comment3(issue): comment3 = issue_factories.IssueComment( issue_number=issue['number'], dataset_id=issue['dataset_id'], ) return comment3
def comment(self, owner, dataset, issue): return issue_factories.IssueComment( user_id=owner['id'], dataset_id=dataset['id'], issue_number=issue['number'])