def test_remove_flag_if_submitted_through_github(self): issue = {} r = c.remove_flag_if_submitted_through_github('drifty', 'ionic', issue, is_debug=True) self.assertEquals(r, False) issue = { 'number': 123, 'body': 'blah blah blah i dont get it', } r = c.remove_flag_if_submitted_through_github('drifty', 'ionic', issue, is_debug=True) self.assertEquals(r, False) issue = { 'number': 123, 'body': '''**Type**: <span ionic-type>docs</span> **Platform**: <span ionic-platform>desktop</span> <span ionic-webview>browser</span> <span ionic-description>Remove use of :active and instead use classnames</span> <span is-issue-template></span>''', } r = c.remove_flag_if_submitted_through_github('drifty', 'ionic', issue, issue_comments=[], is_debug=True) self.assertEquals(r, False) issue = { 'number': 123, 'body': 'blah blah blah i dont get it', } r = c.remove_flag_if_submitted_through_github('drifty', 'ionic', issue, issue_comments=[], is_debug=True) self.assertEquals(r, False) issue = { 'number': 123, 'body': '''**Type**: <span ionic-type>docs</span> **Platform**: <span ionic-platform>desktop</span> <span ionic-webview>browser</span> <span ionic-description>Remove use of :active and instead use classnames</span> <span is-issue-template></span>''', } issue_comments = [ { 'body': '<span ionitron-issue-resubmit></span>' } ] r = c.remove_flag_if_submitted_through_github('drifty', 'ionic', issue, issue_comments=issue_comments, is_debug=True) self.assertEquals(r, True)
def issue_maintenance(repo_username, repo_id, issue): from tasks import old_issues, github_issue_submit, needs_reply, issue_scores data = {} number = 0 try: if not issue: data['error'] = 'invalid issue' return data number = issue.get('number') if not number: data['error'] = 'invalid issue number' return data data['number'] = number if issue.get('closed_at') is not None: data['invalid'] = 'closed_at %s' % issue.get('closed_at') return data if issue.get('pull_request') is None: old_issue_data = old_issues.manage_old_issue(repo_username, repo_id, issue) if old_issue_data: data['closed_old_issue'] = True return data if github_issue_submit.remove_flag_if_submitted_through_github(repo_username, repo_id, issue): data['removed_submitted_through_github_flag'] = True elif github_issue_submit.remove_flag_if_not_updated(repo_username, repo_id, issue): data['removed_flag_if_not_resubmitted'] = True needs_reply_data = needs_reply.manage_needs_reply_issue(repo_username, repo_id, issue) if needs_reply_data: data['needs_reply_data'] = needs_reply_data if needs_reply_data.get('close_needs_reply_issue'): return data data['issue_score'] = issue_scores.update_issue_score(repo_username, repo_id, number, data={ 'issue': issue }) except Exception as ex: print 'issue_maintenance error, issue %s: %s' % (number, ex) data['error'] = 'issue %s, %s' % (number, ex) return data