def setUp(self): super(TestIsNewContributor, self).setUp() self.payload = payload.Payload({'repository': {'fork': False}}) self.handler = HighfiveHandlerMock( self.payload, integration_token='' ).handler
def new_pr(number=7, pr_body='The PR comment.', pr_url='https://the.url/', repo_name='repo-name', repo_owner='repo-owner', pr_author='prAuthor'): with open(get_fake_filename('open-pr.payload'), 'r') as fin: p = json.load(fin) p['number'] = number p['pull_request']['body'] = pr_body p['pull_request']['url'] = pr_url p['pull_request']['base']['repo']['name'] = repo_name p['pull_request']['base']['repo']['owner']['login'] = repo_owner p['pull_request']['user']['login'] = pr_author return payload.Payload(p)
def new_comment(): with open(get_fake_filename('create-comment.payload'), 'r') as fin: p = json.load(fin) return payload.Payload(p)
def mock_handler(cls): cls.handler = HighfiveHandlerMock( payload.Payload({'repository': {'fork': False}}), integration_token='' ).handler
if not (author == commenter or ( self.payload['issue', 'assignee'] \ and commenter == self.payload['issue', 'assignee', 'login'] )): # Check if commenter is a collaborator. if not self.is_collaborator(commenter, owner, repo): return # Check for r? and set the assignee. msg = self.payload['comment', 'body'] reviewer = self.find_reviewer(msg) if reviewer: issue = str(self.payload['issue', 'number']) self.set_assignee(reviewer, owner, repo, issue, self.integration_user, author, None) if __name__ == "__main__": print "Content-Type: text/html;charset=utf-8" print cgitb.enable() post = cgi.FieldStorage() payload_raw = post.getfirst("payload", '') try: handler = HighfiveHandler(payload.Payload(json.loads(payload_raw))) handler.run() except UnsupportedRepoError: print "Unsupported repository"