Anish Shah added the comment:

I have updated the patch :)

_______________________________________________________
PSF Meta Tracker <metatrac...@psf.upfronthosting.co.za>
<http://psf.upfronthosting.co.za/roundup/meta/issue592>
_______________________________________________________
diff --git a/roundup/pull_request.py b/roundup/pull_request.py
index fc70ca5..f5f8c06 100644
--- a/roundup/pull_request.py
+++ b/roundup/pull_request.py
@@ -1,4 +1,5 @@
 from roundup.exceptions import *
+from roundup import date
 
 import hashlib
 import hmac
@@ -15,6 +16,9 @@ else:
         return a == b
 
 
+valid_events = ('pull_request', 'issue_comment', 'pull_request_review_comment')
+
+
 class GitHubHandler:
 
     def __init__(self, client):
@@ -43,7 +47,7 @@ class GitHubHandler:
 
     def _extract(self):
         event = self._get_event()
-        if event not in ('pull_request', 'issue_comment'):
+        if event not in valid_events:
             raise Reject('Unkown X-GitHub-Event {}'.format(event))
         data = json.loads(self.form.value)
         if event == 'pull_request':
@@ -52,6 +56,9 @@ class GitHubHandler:
         elif event == 'issue_comment':
             handler = IssueComment(self.db, data)
             handler.dispatch()
+        elif event == 'pull_request_review_comment':
+            handler = PullRequestReviewComment(self.db, data)
+            handler.dispatch()
 
     def _validate_webhook_secret(self):
         key = os.environ['SECRET_KEY']
@@ -95,6 +102,33 @@ class Event:
                 self.db.issue.set(issue_id, pull_requests=urls)
                 self.db.commit()
 
+    def handle_comment(self, comment):
+        url = self._get_url()
+        issue_id = self._get_issue_id_using_url(url)
+        if issue_id is not None:
+            user_id = self.db.user.lookup(os.environ.get('GITHUB_COMMENT_USER',
+                                                         'admin'))
+            messages = self.db.issue.get(issue_id, 'messages')
+            now = date.Date('.')
+            min_date = now - date.Interval(os.environ.get('TIME_INTERVAL',
+                                                          '00:30'))
+            date_range_string = str(min_date)+';'+str(now)
+            msg_ids = self.db.msg.filter(None, {'is_github_comment': True,
+                                                'creation': date_range_string})
+            if not msg_ids:
+                msg_id = self.db.msg.create(content=comment, author=user_id,
+                                            date=now, is_github_comment=True)
+                messages.append(msg_id)
+                self.db.issue.set(issue_id, messages=messages)
+                self.db.commit()
+
+    def _get_issue_id_using_url(self, url):
+        pr_id = self.db.pull_request.filter(None, {'url': url})
+        if len(pr_id) == 1:
+            issue_id = self.db.issue.filter(None, {'pull_requests': pr_id[0]})
+            if len(issue_id) == 1:
+                return issue_id[0]
+
     def _get_issue_ids(self):
         raise NotImplementedError
 
@@ -166,8 +200,10 @@ class IssueComment(Event):
         action = self.data['action'].encode('utf-8')
         issue_id = self._get_issue_ids()
         url = self._get_url()
+        comment = self._get_comment()
         if action == 'created' and issue_id is not None:
             self.handle_create(url, issue_id)
+            self.handle_comment(comment)
 
     def _get_issue_ids(self):
         body = self.data['comment']['body'].encode('utf-8')
@@ -181,3 +217,25 @@ class IssueComment(Event):
 
     def _get_github_username(self):
         return self.data['issue']['user']['login'].encode('utf-8')
+
+    def _get_comment(self):
+        comment_user = self.data['comment']['user']['login'].encode('utf-8')
+        comment = self.data['comment']['body'].encode('utf-8')
+        url = self._get_url()
+        return '%s left a comment on GitHub:\n\n%s' % (comment_user, url)
+
+
+class PullRequestReviewComment(IssueComment):
+
+    def __init__(self, db, data):
+        self.db = db
+        self.data = data
+
+    def dispatch(self):
+        action = self.data['action'].encode('utf-8')
+        comment = self._get_comment()
+        if action == 'created':
+            self.handle_comment(comment)
+
+    def _get_url(self):
+        return self.data['pull_request']['html_url']
diff --git a/share/roundup/templates/classic/schema.py 
b/share/roundup/templates/classic/schema.py
index 34ae90b..9b548fb 100644
--- a/share/roundup/templates/classic/schema.py
+++ b/share/roundup/templates/classic/schema.py
@@ -61,7 +61,8 @@ msg = FileClass(db, "msg",
                 summary=String(),
                 files=Multilink("file"),
                 messageid=String(),
-                inreplyto=String())
+                inreplyto=String(),
+                is_github_comment=Boolean())
 
 file = FileClass(db, "file",
                 name=String())
diff --git a/test/data/pullrequestreviewcomment.txt 
b/test/data/pullrequestreviewcomment.txt
new file mode 100644
index 0000000..bbd143b
--- /dev/null
+++ b/test/data/pullrequestreviewcomment.txt
@@ -0,0 +1,11 @@
+POST /python-dev/pull_request HTTP/1.1
+Host: 04c7e753.ngrok.io
+Accept: */*
+User-Agent: GitHub-Hookshot/375c44e
+X-GitHub-Event: pull_request_review_comment
+X-GitHub-Delivery: a2367880-2729-11e6-844b-d35793a4447d
+content-type: application/json
+X-Hub-Signature: sha1=7f716a5dc13d23aee2cb6edc6b32770769be188b
+Content-Length: 21289
+
+{"action":"created","comment":{"url":"https://api.github.com/repos/AnishShah/cpython/pulls/comments/65170226","id":65170226,"diff_hunk":"@@
 -1,5 +1,3 
@@\n-test","path":"README","position":1,"original_position":1,"commit_id":"886390c8473a1d52e07d20fd97176a56c153b9a1","original_commit_id":"886390c8473a1d52e07d20fd97176a56c153b9a1","user":{"login":"AnishShah","id":3175743,"avatar_url":"https://avatars.githubusercontent.com/u/3175743?v=3","gravatar_id":"","url":"https://api.github.com/users/AnishShah","html_url":"https://github.com/AnishShah","followers_url":"https://api.github.com/users/AnishShah/followers","following_url":"https://api.github.com/users/AnishShah/following{/other_user}","gists_url":"https://api.github.com/users/AnishShah/gists{/gist_id}","starred_url":"https://api.github.com/users/AnishShah/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AnishShah/subscriptions","organizations_url":"https://api.github.com/users/AnishShah/orgs","repos_ur
 
l":"https://api.github.com/users/AnishShah/repos","events_url":"https://api.github.com/users/AnishShah/events{/privacy}","received_events_url":"https://api.github.com/users/AnishShah/received_events","type":"User","site_admin":false},"body":"Good!
 LGTM 
:)","created_at":"2016-05-31T12:17:25Z","updated_at":"2016-05-31T12:17:25Z","html_url":"https://github.com/AnishShah/cpython/pull/11#discussion_r65170226","pull_request_url":"https://api.github.com/repos/AnishShah/cpython/pulls/11","_links":{"self":{"href":"https://api.github.com/repos/AnishShah/cpython/pulls/comments/65170226"},"html":{"href":"https://github.com/AnishShah/cpython/pull/11#discussion_r65170226"},"pull_request":{"href":"https://api.github.com/repos/AnishShah/cpython/pulls/11"}}},"pull_request":{"url":"https://api.github.com/repos/AnishShah/cpython/pulls/11","id":71217981,"html_url":"https://github.com/AnishShah/cpython/pull/11","diff_url":"https://github.com/AnishShah/cpython/pull/11.diff","patch_url":"https://g
 
ithub.com/AnishShah/cpython/pull/11.patch","issue_url":"https://api.github.com/repos/AnishShah/cpython/issues/11","number":11,"state":"closed","locked":false,"title":"\"Test\"","user":{"login":"AnishShah","id":3175743,"avatar_url":"https://avatars.githubusercontent.com/u/3175743?v=3","gravatar_id":"","url":"https://api.github.com/users/AnishShah","html_url":"https://github.com/AnishShah","followers_url":"https://api.github.com/users/AnishShah/followers","following_url":"https://api.github.com/users/AnishShah/following{/other_user}","gists_url":"https://api.github.com/users/AnishShah/gists{/gist_id}","starred_url":"https://api.github.com/users/AnishShah/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AnishShah/subscriptions","organizations_url":"https://api.github.com/users/AnishShah/orgs","repos_url":"https://api.github.com/users/AnishShah/repos","events_url":"https://api.github.com/users/AnishShah/events{/privacy}","received_events_url":"https://ap
 
i.github.com/users/AnishShah/received_events","type":"User","site_admin":false},"body":"fixes
 
bpo1","created_at":"2016-05-24T13:18:19Z","updated_at":"2016-05-31T12:17:25Z","closed_at":"2016-05-24T13:18:36Z","merged_at":"2016-05-24T13:18:36Z","merge_commit_sha":"96b494a55816c63dcb7dcca3cb6d64064c639c67","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/AnishShah/cpython/pulls/11/commits","review_comments_url":"https://api.github.com/repos/AnishShah/cpython/pulls/11/comments","review_comment_url":"https://api.github.com/repos/AnishShah/cpython/pulls/comments{/number}","comments_url":"https://api.github.com/repos/AnishShah/cpython/issues/2/comments","statuses_url":"https://api.github.com/repos/AnishShah/cpython/statuses/886390c8473a1d52e07d20fd97176a56c153b9a1","head":{"label":"AnishShah:revert-1-test","ref":"revert-1-test","sha":"886390c8473a1d52e07d20fd97176a56c153b9a1","user":{"login":"AnishShah","id":3175743,"avatar_url":"https://avatars.githubuse
 
rcontent.com/u/3175743?v=3","gravatar_id":"","url":"https://api.github.com/users/AnishShah","html_url":"https://github.com/AnishShah","followers_url":"https://api.github.com/users/AnishShah/followers","following_url":"https://api.github.com/users/AnishShah/following{/other_user}","gists_url":"https://api.github.com/users/AnishShah/gists{/gist_id}","starred_url":"https://api.github.com/users/AnishShah/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AnishShah/subscriptions","organizations_url":"https://api.github.com/users/AnishShah/orgs","repos_url":"https://api.github.com/users/AnishShah/repos","events_url":"https://api.github.com/users/AnishShah/events{/privacy}","received_events_url":"https://api.github.com/users/AnishShah/received_events","type":"User","site_admin":false},"repo":{"id":59477756,"name":"cpython","full_name":"AnishShah/cpython","owner":{"login":"AnishShah","id":3175743,"avatar_url":"https://avatars.githubusercontent.com/u/3175743?v=
 
3","gravatar_id":"","url":"https://api.github.com/users/AnishShah","html_url":"https://github.com/AnishShah","followers_url":"https://api.github.com/users/AnishShah/followers","following_url":"https://api.github.com/users/AnishShah/following{/other_user}","gists_url":"https://api.github.com/users/AnishShah/gists{/gist_id}","starred_url":"https://api.github.com/users/AnishShah/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AnishShah/subscriptions","organizations_url":"https://api.github.com/users/AnishShah/orgs","repos_url":"https://api.github.com/users/AnishShah/repos","events_url":"https://api.github.com/users/AnishShah/events{/privacy}","received_events_url":"https://api.github.com/users/AnishShah/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/AnishShah/cpython","description":"Semi-official
 read-only mirror of the CPython Mercurial 
repository","fork":true,"url":"https://api.github.com/repos/Anish
 
Shah/cpython","forks_url":"https://api.github.com/repos/AnishShah/cpython/forks","keys_url":"https://api.github.com/repos/AnishShah/cpython/keys{/key_id}","collaborators_url":"https://api.github.com/repos/AnishShah/cpython/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/AnishShah/cpython/teams","hooks_url":"https://api.github.com/repos/AnishShah/cpython/hooks","issue_events_url":"https://api.github.com/repos/AnishShah/cpython/issues/events{/number}","events_url":"https://api.github.com/repos/AnishShah/cpython/events","assignees_url":"https://api.github.com/repos/AnishShah/cpython/assignees{/user}","branches_url":"https://api.github.com/repos/AnishShah/cpython/branches{/branch}","tags_url":"https://api.github.com/repos/AnishShah/cpython/tags","blobs_url":"https://api.github.com/repos/AnishShah/cpython/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/AnishShah/cpython/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/AnishShah/cp
 
ython/git/refs{/sha}","trees_url":"https://api.github.com/repos/AnishShah/cpython/git/trees{/sha}","statuses_url":"https://api.github.com/repos/AnishShah/cpython/statuses/{sha}","languages_url":"https://api.github.com/repos/AnishShah/cpython/languages","stargazers_url":"https://api.github.com/repos/AnishShah/cpython/stargazers","contributors_url":"https://api.github.com/repos/AnishShah/cpython/contributors","subscribers_url":"https://api.github.com/repos/AnishShah/cpython/subscribers","subscription_url":"https://api.github.com/repos/AnishShah/cpython/subscription","commits_url":"https://api.github.com/repos/AnishShah/cpython/commits{/sha}","git_commits_url":"https://api.github.com/repos/AnishShah/cpython/git/commits{/sha}","comments_url":"https://api.github.com/repos/AnishShah/cpython/comments{/number}","issue_comment_url":"https://api.github.com/repos/AnishShah/cpython/issues/comments{/number}","contents_url":"https://api.github.com/repos/AnishShah/cpython/contents/{+path}";
 
,"compare_url":"https://api.github.com/repos/AnishShah/cpython/compare/{base}...{head}","merges_url":"https://api.github.com/repos/AnishShah/cpython/merges","archive_url":"https://api.github.com/repos/AnishShah/cpython/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/AnishShah/cpython/downloads","issues_url":"https://api.github.com/repos/AnishShah/cpython/issues{/number}","pulls_url":"https://api.github.com/repos/AnishShah/cpython/pulls{/number}","milestones_url":"https://api.github.com/repos/AnishShah/cpython/milestones{/number}","notifications_url":"https://api.github.com/repos/AnishShah/cpython/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/AnishShah/cpython/labels{/name}","releases_url":"https://api.github.com/repos/AnishShah/cpython/releases{/id}","deployments_url":"https://api.github.com/repos/AnishShah/cpython/deployments","created_at":"2016-05-23T11:39:11Z","updated_at":"2016-05-23T11:39:38Z","pushed_at":"2016
 
-05-24T13:18:37Z","git_url":"git://github.com/AnishShah/cpython.git","ssh_url":"g...@github.com:AnishShah/cpython.git","clone_url":"https://github.com/AnishShah/cpython.git","svn_url":"https://github.com/AnishShah/cpython","homepage":"","size":276521,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"AnishShah:master","ref":"master","sha":"a4df66a97c15e7b4145d8e4081cfa6fb316aa466","user":{"login":"AnishShah","id":3175743,"avatar_url":"https://avatars.githubusercontent.com/u/3175743?v=3","gravatar_id":"","url":"https://api.github.com/users/AnishShah","html_url":"https://github.com/AnishShah","followers_url":"https://api.github.com/users/AnishShah/followers","following_url":"https://api.github.com/users/AnishShah/following{/other_user}","gists_url":"https://
 
api.github.com/users/AnishShah/gists{/gist_id}","starred_url":"https://api.github.com/users/AnishShah/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AnishShah/subscriptions","organizations_url":"https://api.github.com/users/AnishShah/orgs","repos_url":"https://api.github.com/users/AnishShah/repos","events_url":"https://api.github.com/users/AnishShah/events{/privacy}","received_events_url":"https://api.github.com/users/AnishShah/received_events","type":"User","site_admin":false},"repo":{"id":59477756,"name":"cpython","full_name":"AnishShah/cpython","owner":{"login":"AnishShah","id":3175743,"avatar_url":"https://avatars.githubusercontent.com/u/3175743?v=3","gravatar_id":"","url":"https://api.github.com/users/AnishShah","html_url":"https://github.com/AnishShah","followers_url":"https://api.github.com/users/AnishShah/followers","following_url":"https://api.github.com/users/AnishShah/following{/other_user}","gists_url":"https://api.github.com/users/Anis
 
hShah/gists{/gist_id}","starred_url":"https://api.github.com/users/AnishShah/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AnishShah/subscriptions","organizations_url":"https://api.github.com/users/AnishShah/orgs","repos_url":"https://api.github.com/users/AnishShah/repos","events_url":"https://api.github.com/users/AnishShah/events{/privacy}","received_events_url":"https://api.github.com/users/AnishShah/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/AnishShah/cpython","description":"Semi-official
 read-only mirror of the CPython Mercurial 
repository","fork":true,"url":"https://api.github.com/repos/AnishShah/cpython","forks_url":"https://api.github.com/repos/AnishShah/cpython/forks","keys_url":"https://api.github.com/repos/AnishShah/cpython/keys{/key_id}","collaborators_url":"https://api.github.com/repos/AnishShah/cpython/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/AnishSh
 
ah/cpython/teams","hooks_url":"https://api.github.com/repos/AnishShah/cpython/hooks","issue_events_url":"https://api.github.com/repos/AnishShah/cpython/issues/events{/number}","events_url":"https://api.github.com/repos/AnishShah/cpython/events","assignees_url":"https://api.github.com/repos/AnishShah/cpython/assignees{/user}","branches_url":"https://api.github.com/repos/AnishShah/cpython/branches{/branch}","tags_url":"https://api.github.com/repos/AnishShah/cpython/tags","blobs_url":"https://api.github.com/repos/AnishShah/cpython/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/AnishShah/cpython/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/AnishShah/cpython/git/refs{/sha}","trees_url":"https://api.github.com/repos/AnishShah/cpython/git/trees{/sha}","statuses_url":"https://api.github.com/repos/AnishShah/cpython/statuses/{sha}","languages_url":"https://api.github.com/repos/AnishShah/cpython/languages","stargazers_url":"https://api.github.com/repos/An
 
ishShah/cpython/stargazers","contributors_url":"https://api.github.com/repos/AnishShah/cpython/contributors","subscribers_url":"https://api.github.com/repos/AnishShah/cpython/subscribers","subscription_url":"https://api.github.com/repos/AnishShah/cpython/subscription","commits_url":"https://api.github.com/repos/AnishShah/cpython/commits{/sha}","git_commits_url":"https://api.github.com/repos/AnishShah/cpython/git/commits{/sha}","comments_url":"https://api.github.com/repos/AnishShah/cpython/comments{/number}","issue_comment_url":"https://api.github.com/repos/AnishShah/cpython/issues/comments{/number}","contents_url":"https://api.github.com/repos/AnishShah/cpython/contents/{+path}","compare_url":"https://api.github.com/repos/AnishShah/cpython/compare/{base}...{head}","merges_url":"https://api.github.com/repos/AnishShah/cpython/merges","archive_url":"https://api.github.com/repos/AnishShah/cpython/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/AnishShah/cpy
 
thon/downloads","issues_url":"https://api.github.com/repos/AnishShah/cpython/issues{/number}","pulls_url":"https://api.github.com/repos/AnishShah/cpython/pulls{/number}","milestones_url":"https://api.github.com/repos/AnishShah/cpython/milestones{/number}","notifications_url":"https://api.github.com/repos/AnishShah/cpython/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/AnishShah/cpython/labels{/name}","releases_url":"https://api.github.com/repos/AnishShah/cpython/releases{/id}","deployments_url":"https://api.github.com/repos/AnishShah/cpython/deployments","created_at":"2016-05-23T11:39:11Z","updated_at":"2016-05-23T11:39:38Z","pushed_at":"2016-05-24T13:18:37Z","git_url":"git://github.com/AnishShah/cpython.git","ssh_url":"g...@github.com:AnishShah/cpython.git","clone_url":"https://github.com/AnishShah/cpython.git","svn_url":"https://github.com/AnishShah/cpython","homepage":"","size":276521,"stargazers_count":0,"watchers_count":0,"language":";
 
Python","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/AnishShah/cpython/pulls/11"},"html":{"href":"https://github.com/AnishShah/cpython/pull/11"},"issue":{"href":"https://api.github.com/repos/AnishShah/cpython/issues/2"},"comments":{"href":"https://api.github.com/repos/AnishShah/cpython/issues/2/comments"},"review_comments":{"href":"https://api.github.com/repos/AnishShah/cpython/pulls/11/comments"},"review_comment":{"href":"https://api.github.com/repos/AnishShah/cpython/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/AnishShah/cpython/pulls/11/commits"},"statuses":{"href":"https://api.github.com/repos/AnishShah/cpython/statuses/886390c8473a1d52e07d20fd97176a56c153b9a1"}}},"repository":{"id":59477756,"name":"cpython","full_name":"AnishShah/cpython
 
","owner":{"login":"AnishShah","id":3175743,"avatar_url":"https://avatars.githubusercontent.com/u/3175743?v=3","gravatar_id":"","url":"https://api.github.com/users/AnishShah","html_url":"https://github.com/AnishShah","followers_url":"https://api.github.com/users/AnishShah/followers","following_url":"https://api.github.com/users/AnishShah/following{/other_user}","gists_url":"https://api.github.com/users/AnishShah/gists{/gist_id}","starred_url":"https://api.github.com/users/AnishShah/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AnishShah/subscriptions","organizations_url":"https://api.github.com/users/AnishShah/orgs","repos_url":"https://api.github.com/users/AnishShah/repos","events_url":"https://api.github.com/users/AnishShah/events{/privacy}","received_events_url":"https://api.github.com/users/AnishShah/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/AnishShah/cpython","description":"Semi-official
  read-only mirror of the CPython Mercurial 
repository","fork":true,"url":"https://api.github.com/repos/AnishShah/cpython","forks_url":"https://api.github.com/repos/AnishShah/cpython/forks","keys_url":"https://api.github.com/repos/AnishShah/cpython/keys{/key_id}","collaborators_url":"https://api.github.com/repos/AnishShah/cpython/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/AnishShah/cpython/teams","hooks_url":"https://api.github.com/repos/AnishShah/cpython/hooks","issue_events_url":"https://api.github.com/repos/AnishShah/cpython/issues/events{/number}","events_url":"https://api.github.com/repos/AnishShah/cpython/events","assignees_url":"https://api.github.com/repos/AnishShah/cpython/assignees{/user}","branches_url":"https://api.github.com/repos/AnishShah/cpython/branches{/branch}","tags_url":"https://api.github.com/repos/AnishShah/cpython/tags","blobs_url":"https://api.github.com/repos/AnishShah/cpython/git/blobs{/sha}","git_tags_url":"https://api.
 
github.com/repos/AnishShah/cpython/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/AnishShah/cpython/git/refs{/sha}","trees_url":"https://api.github.com/repos/AnishShah/cpython/git/trees{/sha}","statuses_url":"https://api.github.com/repos/AnishShah/cpython/statuses/{sha}","languages_url":"https://api.github.com/repos/AnishShah/cpython/languages","stargazers_url":"https://api.github.com/repos/AnishShah/cpython/stargazers","contributors_url":"https://api.github.com/repos/AnishShah/cpython/contributors","subscribers_url":"https://api.github.com/repos/AnishShah/cpython/subscribers","subscription_url":"https://api.github.com/repos/AnishShah/cpython/subscription","commits_url":"https://api.github.com/repos/AnishShah/cpython/commits{/sha}","git_commits_url":"https://api.github.com/repos/AnishShah/cpython/git/commits{/sha}","comments_url":"https://api.github.com/repos/AnishShah/cpython/comments{/number}","issue_comment_url":"https://api.github.com/repos/AnishShah/cpytho
 
n/issues/comments{/number}","contents_url":"https://api.github.com/repos/AnishShah/cpython/contents/{+path}","compare_url":"https://api.github.com/repos/AnishShah/cpython/compare/{base}...{head}","merges_url":"https://api.github.com/repos/AnishShah/cpython/merges","archive_url":"https://api.github.com/repos/AnishShah/cpython/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/AnishShah/cpython/downloads","issues_url":"https://api.github.com/repos/AnishShah/cpython/issues{/number}","pulls_url":"https://api.github.com/repos/AnishShah/cpython/pulls{/number}","milestones_url":"https://api.github.com/repos/AnishShah/cpython/milestones{/number}","notifications_url":"https://api.github.com/repos/AnishShah/cpython/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/AnishShah/cpython/labels{/name}","releases_url":"https://api.github.com/repos/AnishShah/cpython/releases{/id}","deployments_url":"https://api.github.com/repos/AnishShah/cp
 
ython/deployments","created_at":"2016-05-23T11:39:11Z","updated_at":"2016-05-23T11:39:38Z","pushed_at":"2016-05-24T13:18:37Z","git_url":"git://github.com/AnishShah/cpython.git","ssh_url":"g...@github.com:AnishShah/cpython.git","clone_url":"https://github.com/AnishShah/cpython.git","svn_url":"https://github.com/AnishShah/cpython","homepage":"","size":276521,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"},"sender":{"login":"AnishShah","id":3175743,"avatar_url":"https://avatars.githubusercontent.com/u/3175743?v=3","gravatar_id":"","url":"https://api.github.com/users/AnishShah","html_url":"https://github.com/AnishShah","followers_url":"https://api.github.com/users/AnishShah/followers","following_url":"https://api.github.com/users/AnishShah/following{/other_user}","gists_url";
 
:"https://api.github.com/users/AnishShah/gists{/gist_id}","starred_url":"https://api.github.com/users/AnishShah/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AnishShah/subscriptions","organizations_url":"https://api.github.com/users/AnishShah/orgs","repos_url":"https://api.github.com/users/AnishShah/repos","events_url":"https://api.github.com/users/AnishShah/events{/privacy}","received_events_url":"https://api.github.com/users/AnishShah/received_events","type":"User","site_admin":false}}
diff --git a/test/data/pullrequestreviewcomment1.txt 
b/test/data/pullrequestreviewcomment1.txt
new file mode 100644
index 0000000..aae34b4
--- /dev/null
+++ b/test/data/pullrequestreviewcomment1.txt
@@ -0,0 +1,11 @@
+POST /python-dev/pull_request HTTP/1.1
+Host: 04c7e753.ngrok.io
+Accept: */*
+User-Agent: GitHub-Hookshot/375c44e
+X-GitHub-Event: pull_request_review_comment
+X-GitHub-Delivery: a6629600-2729-11e6-9058-134ca76c843d
+content-type: application/json
+X-Hub-Signature: sha1=45a30197e4e7672bf9579ac12db8e82d9f98d321
+Content-Length: 21278
+
+{"action":"created","comment":{"url":"https://api.github.com/repos/AnishShah/cpython/pulls/comments/65170239","id":65170239,"diff_hunk":"@@
 -1,5 +1,3 
@@\n-test","path":"README","position":1,"original_position":1,"commit_id":"886390c8473a1d52e07d20fd97176a56c153b9a1","original_commit_id":"886390c8473a1d52e07d20fd97176a56c153b9a1","user":{"login":"AnishShah","id":3175743,"avatar_url":"https://avatars.githubusercontent.com/u/3175743?v=3","gravatar_id":"","url":"https://api.github.com/users/AnishShah","html_url":"https://github.com/AnishShah","followers_url":"https://api.github.com/users/AnishShah/followers","following_url":"https://api.github.com/users/AnishShah/following{/other_user}","gists_url":"https://api.github.com/users/AnishShah/gists{/gist_id}","starred_url":"https://api.github.com/users/AnishShah/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AnishShah/subscriptions","organizations_url":"https://api.github.com/users/AnishShah/orgs","repos_ur
 
l":"https://api.github.com/users/AnishShah/repos","events_url":"https://api.github.com/users/AnishShah/events{/privacy}","received_events_url":"https://api.github.com/users/AnishShah/received_events","type":"User","site_admin":false},"body":"Yep","created_at":"2016-05-31T12:17:32Z","updated_at":"2016-05-31T12:17:32Z","html_url":"https://github.com/AnishShah/cpython/pull/11#discussion_r65170239","pull_request_url":"https://api.github.com/repos/AnishShah/cpython/pulls/11","_links":{"self":{"href":"https://api.github.com/repos/AnishShah/cpython/pulls/comments/65170239"},"html":{"href":"https://github.com/AnishShah/cpython/pull/11#discussion_r65170239"},"pull_request":{"href":"https://api.github.com/repos/AnishShah/cpython/pulls/11"}}},"pull_request":{"url":"https://api.github.com/repos/AnishShah/cpython/pulls/11","id":71217981,"html_url":"https://github.com/AnishShah/cpython/pull/11","diff_url":"https://github.com/AnishShah/cpython/pull/11.diff","patch_url":"https://github.com/
 
AnishShah/cpython/pull/11.patch","issue_url":"https://api.github.com/repos/AnishShah/cpython/issues/2","number":11,"state":"closed","locked":false,"title":"\"Test\"","user":{"login":"AnishShah","id":3175743,"avatar_url":"https://avatars.githubusercontent.com/u/3175743?v=3","gravatar_id":"","url":"https://api.github.com/users/AnishShah","html_url":"https://github.com/AnishShah","followers_url":"https://api.github.com/users/AnishShah/followers","following_url":"https://api.github.com/users/AnishShah/following{/other_user}","gists_url":"https://api.github.com/users/AnishShah/gists{/gist_id}","starred_url":"https://api.github.com/users/AnishShah/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AnishShah/subscriptions","organizations_url":"https://api.github.com/users/AnishShah/orgs","repos_url":"https://api.github.com/users/AnishShah/repos","events_url":"https://api.github.com/users/AnishShah/events{/privacy}","received_events_url":"https://api.github.co
 
m/users/AnishShah/received_events","type":"User","site_admin":false},"body":"fixes
 
bpo1","created_at":"2016-05-24T13:18:19Z","updated_at":"2016-05-31T12:17:32Z","closed_at":"2016-05-24T13:18:36Z","merged_at":"2016-05-24T13:18:36Z","merge_commit_sha":"96b494a55816c63dcb7dcca3cb6d64064c639c67","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/AnishShah/cpython/pulls/11/commits","review_comments_url":"https://api.github.com/repos/AnishShah/cpython/pulls/11/comments","review_comment_url":"https://api.github.com/repos/AnishShah/cpython/pulls/comments{/number}","comments_url":"https://api.github.com/repos/AnishShah/cpython/issues/2/comments","statuses_url":"https://api.github.com/repos/AnishShah/cpython/statuses/886390c8473a1d52e07d20fd97176a56c153b9a1","head":{"label":"AnishShah:revert-1-test","ref":"revert-1-test","sha":"886390c8473a1d52e07d20fd97176a56c153b9a1","user":{"login":"AnishShah","id":3175743,"avatar_url":"https://avatars.githubusercontent.co
 
m/u/3175743?v=3","gravatar_id":"","url":"https://api.github.com/users/AnishShah","html_url":"https://github.com/AnishShah","followers_url":"https://api.github.com/users/AnishShah/followers","following_url":"https://api.github.com/users/AnishShah/following{/other_user}","gists_url":"https://api.github.com/users/AnishShah/gists{/gist_id}","starred_url":"https://api.github.com/users/AnishShah/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AnishShah/subscriptions","organizations_url":"https://api.github.com/users/AnishShah/orgs","repos_url":"https://api.github.com/users/AnishShah/repos","events_url":"https://api.github.com/users/AnishShah/events{/privacy}","received_events_url":"https://api.github.com/users/AnishShah/received_events","type":"User","site_admin":false},"repo":{"id":59477756,"name":"cpython","full_name":"AnishShah/cpython","owner":{"login":"AnishShah","id":3175743,"avatar_url":"https://avatars.githubusercontent.com/u/3175743?v=3","gravata
 
r_id":"","url":"https://api.github.com/users/AnishShah","html_url":"https://github.com/AnishShah","followers_url":"https://api.github.com/users/AnishShah/followers","following_url":"https://api.github.com/users/AnishShah/following{/other_user}","gists_url":"https://api.github.com/users/AnishShah/gists{/gist_id}","starred_url":"https://api.github.com/users/AnishShah/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AnishShah/subscriptions","organizations_url":"https://api.github.com/users/AnishShah/orgs","repos_url":"https://api.github.com/users/AnishShah/repos","events_url":"https://api.github.com/users/AnishShah/events{/privacy}","received_events_url":"https://api.github.com/users/AnishShah/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/AnishShah/cpython","description":"Semi-official
 read-only mirror of the CPython Mercurial 
repository","fork":true,"url":"https://api.github.com/repos/AnishShah/cpytho
 
n","forks_url":"https://api.github.com/repos/AnishShah/cpython/forks","keys_url":"https://api.github.com/repos/AnishShah/cpython/keys{/key_id}","collaborators_url":"https://api.github.com/repos/AnishShah/cpython/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/AnishShah/cpython/teams","hooks_url":"https://api.github.com/repos/AnishShah/cpython/hooks","issue_events_url":"https://api.github.com/repos/AnishShah/cpython/issues/events{/number}","events_url":"https://api.github.com/repos/AnishShah/cpython/events","assignees_url":"https://api.github.com/repos/AnishShah/cpython/assignees{/user}","branches_url":"https://api.github.com/repos/AnishShah/cpython/branches{/branch}","tags_url":"https://api.github.com/repos/AnishShah/cpython/tags","blobs_url":"https://api.github.com/repos/AnishShah/cpython/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/AnishShah/cpython/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/AnishShah/cpython/git/r
 
efs{/sha}","trees_url":"https://api.github.com/repos/AnishShah/cpython/git/trees{/sha}","statuses_url":"https://api.github.com/repos/AnishShah/cpython/statuses/{sha}","languages_url":"https://api.github.com/repos/AnishShah/cpython/languages","stargazers_url":"https://api.github.com/repos/AnishShah/cpython/stargazers","contributors_url":"https://api.github.com/repos/AnishShah/cpython/contributors","subscribers_url":"https://api.github.com/repos/AnishShah/cpython/subscribers","subscription_url":"https://api.github.com/repos/AnishShah/cpython/subscription","commits_url":"https://api.github.com/repos/AnishShah/cpython/commits{/sha}","git_commits_url":"https://api.github.com/repos/AnishShah/cpython/git/commits{/sha}","comments_url":"https://api.github.com/repos/AnishShah/cpython/comments{/number}","issue_comment_url":"https://api.github.com/repos/AnishShah/cpython/issues/comments{/number}","contents_url":"https://api.github.com/repos/AnishShah/cpython/contents/{+path}","compare_u
 
rl":"https://api.github.com/repos/AnishShah/cpython/compare/{base}...{head}","merges_url":"https://api.github.com/repos/AnishShah/cpython/merges","archive_url":"https://api.github.com/repos/AnishShah/cpython/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/AnishShah/cpython/downloads","issues_url":"https://api.github.com/repos/AnishShah/cpython/issues{/number}","pulls_url":"https://api.github.com/repos/AnishShah/cpython/pulls{/number}","milestones_url":"https://api.github.com/repos/AnishShah/cpython/milestones{/number}","notifications_url":"https://api.github.com/repos/AnishShah/cpython/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/AnishShah/cpython/labels{/name}","releases_url":"https://api.github.com/repos/AnishShah/cpython/releases{/id}","deployments_url":"https://api.github.com/repos/AnishShah/cpython/deployments","created_at":"2016-05-23T11:39:11Z","updated_at":"2016-05-23T11:39:38Z","pushed_at":"2016-05-24T13:1
 
8:37Z","git_url":"git://github.com/AnishShah/cpython.git","ssh_url":"g...@github.com:AnishShah/cpython.git","clone_url":"https://github.com/AnishShah/cpython.git","svn_url":"https://github.com/AnishShah/cpython","homepage":"","size":276521,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"AnishShah:master","ref":"master","sha":"a4df66a97c15e7b4145d8e4081cfa6fb316aa466","user":{"login":"AnishShah","id":3175743,"avatar_url":"https://avatars.githubusercontent.com/u/3175743?v=3","gravatar_id":"","url":"https://api.github.com/users/AnishShah","html_url":"https://github.com/AnishShah","followers_url":"https://api.github.com/users/AnishShah/followers","following_url":"https://api.github.com/users/AnishShah/following{/other_user}","gists_url":"https://api.github.
 
com/users/AnishShah/gists{/gist_id}","starred_url":"https://api.github.com/users/AnishShah/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AnishShah/subscriptions","organizations_url":"https://api.github.com/users/AnishShah/orgs","repos_url":"https://api.github.com/users/AnishShah/repos","events_url":"https://api.github.com/users/AnishShah/events{/privacy}","received_events_url":"https://api.github.com/users/AnishShah/received_events","type":"User","site_admin":false},"repo":{"id":59477756,"name":"cpython","full_name":"AnishShah/cpython","owner":{"login":"AnishShah","id":3175743,"avatar_url":"https://avatars.githubusercontent.com/u/3175743?v=3","gravatar_id":"","url":"https://api.github.com/users/AnishShah","html_url":"https://github.com/AnishShah","followers_url":"https://api.github.com/users/AnishShah/followers","following_url":"https://api.github.com/users/AnishShah/following{/other_user}","gists_url":"https://api.github.com/users/AnishShah/gists
 
{/gist_id}","starred_url":"https://api.github.com/users/AnishShah/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AnishShah/subscriptions","organizations_url":"https://api.github.com/users/AnishShah/orgs","repos_url":"https://api.github.com/users/AnishShah/repos","events_url":"https://api.github.com/users/AnishShah/events{/privacy}","received_events_url":"https://api.github.com/users/AnishShah/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/AnishShah/cpython","description":"Semi-official
 read-only mirror of the CPython Mercurial 
repository","fork":true,"url":"https://api.github.com/repos/AnishShah/cpython","forks_url":"https://api.github.com/repos/AnishShah/cpython/forks","keys_url":"https://api.github.com/repos/AnishShah/cpython/keys{/key_id}","collaborators_url":"https://api.github.com/repos/AnishShah/cpython/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/AnishShah/cpython/
 
teams","hooks_url":"https://api.github.com/repos/AnishShah/cpython/hooks","issue_events_url":"https://api.github.com/repos/AnishShah/cpython/issues/events{/number}","events_url":"https://api.github.com/repos/AnishShah/cpython/events","assignees_url":"https://api.github.com/repos/AnishShah/cpython/assignees{/user}","branches_url":"https://api.github.com/repos/AnishShah/cpython/branches{/branch}","tags_url":"https://api.github.com/repos/AnishShah/cpython/tags","blobs_url":"https://api.github.com/repos/AnishShah/cpython/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/AnishShah/cpython/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/AnishShah/cpython/git/refs{/sha}","trees_url":"https://api.github.com/repos/AnishShah/cpython/git/trees{/sha}","statuses_url":"https://api.github.com/repos/AnishShah/cpython/statuses/{sha}","languages_url":"https://api.github.com/repos/AnishShah/cpython/languages","stargazers_url":"https://api.github.com/repos/AnishShah/cpy
 
thon/stargazers","contributors_url":"https://api.github.com/repos/AnishShah/cpython/contributors","subscribers_url":"https://api.github.com/repos/AnishShah/cpython/subscribers","subscription_url":"https://api.github.com/repos/AnishShah/cpython/subscription","commits_url":"https://api.github.com/repos/AnishShah/cpython/commits{/sha}","git_commits_url":"https://api.github.com/repos/AnishShah/cpython/git/commits{/sha}","comments_url":"https://api.github.com/repos/AnishShah/cpython/comments{/number}","issue_comment_url":"https://api.github.com/repos/AnishShah/cpython/issues/comments{/number}","contents_url":"https://api.github.com/repos/AnishShah/cpython/contents/{+path}","compare_url":"https://api.github.com/repos/AnishShah/cpython/compare/{base}...{head}","merges_url":"https://api.github.com/repos/AnishShah/cpython/merges","archive_url":"https://api.github.com/repos/AnishShah/cpython/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/AnishShah/cpython/downlo
 
ads","issues_url":"https://api.github.com/repos/AnishShah/cpython/issues{/number}","pulls_url":"https://api.github.com/repos/AnishShah/cpython/pulls{/number}","milestones_url":"https://api.github.com/repos/AnishShah/cpython/milestones{/number}","notifications_url":"https://api.github.com/repos/AnishShah/cpython/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/AnishShah/cpython/labels{/name}","releases_url":"https://api.github.com/repos/AnishShah/cpython/releases{/id}","deployments_url":"https://api.github.com/repos/AnishShah/cpython/deployments","created_at":"2016-05-23T11:39:11Z","updated_at":"2016-05-23T11:39:38Z","pushed_at":"2016-05-24T13:18:37Z","git_url":"git://github.com/AnishShah/cpython.git","ssh_url":"g...@github.com:AnishShah/cpython.git","clone_url":"https://github.com/AnishShah/cpython.git","svn_url":"https://github.com/AnishShah/cpython","homepage":"","size":276521,"stargazers_count":0,"watchers_count":0,"language":"Python","ha
 
s_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/AnishShah/cpython/pulls/11"},"html":{"href":"https://github.com/AnishShah/cpython/pull/11"},"issue":{"href":"https://api.github.com/repos/AnishShah/cpython/issues/2"},"comments":{"href":"https://api.github.com/repos/AnishShah/cpython/issues/2/comments"},"review_comments":{"href":"https://api.github.com/repos/AnishShah/cpython/pulls/11/comments"},"review_comment":{"href":"https://api.github.com/repos/AnishShah/cpython/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/AnishShah/cpython/pulls/11/commits"},"statuses":{"href":"https://api.github.com/repos/AnishShah/cpython/statuses/886390c8473a1d52e07d20fd97176a56c153b9a1"}}},"repository":{"id":59477756,"name":"cpython","full_name":"AnishShah/cpython","owner":{
 
"login":"AnishShah","id":3175743,"avatar_url":"https://avatars.githubusercontent.com/u/3175743?v=3","gravatar_id":"","url":"https://api.github.com/users/AnishShah","html_url":"https://github.com/AnishShah","followers_url":"https://api.github.com/users/AnishShah/followers","following_url":"https://api.github.com/users/AnishShah/following{/other_user}","gists_url":"https://api.github.com/users/AnishShah/gists{/gist_id}","starred_url":"https://api.github.com/users/AnishShah/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AnishShah/subscriptions","organizations_url":"https://api.github.com/users/AnishShah/orgs","repos_url":"https://api.github.com/users/AnishShah/repos","events_url":"https://api.github.com/users/AnishShah/events{/privacy}","received_events_url":"https://api.github.com/users/AnishShah/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/AnishShah/cpython","description":"Semi-official
 read-only 
 mirror of the CPython Mercurial 
repository","fork":true,"url":"https://api.github.com/repos/AnishShah/cpython","forks_url":"https://api.github.com/repos/AnishShah/cpython/forks","keys_url":"https://api.github.com/repos/AnishShah/cpython/keys{/key_id}","collaborators_url":"https://api.github.com/repos/AnishShah/cpython/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/AnishShah/cpython/teams","hooks_url":"https://api.github.com/repos/AnishShah/cpython/hooks","issue_events_url":"https://api.github.com/repos/AnishShah/cpython/issues/events{/number}","events_url":"https://api.github.com/repos/AnishShah/cpython/events","assignees_url":"https://api.github.com/repos/AnishShah/cpython/assignees{/user}","branches_url":"https://api.github.com/repos/AnishShah/cpython/branches{/branch}","tags_url":"https://api.github.com/repos/AnishShah/cpython/tags","blobs_url":"https://api.github.com/repos/AnishShah/cpython/git/blobs{/sha}","git_tags_url":"https://api.github.com/
 
repos/AnishShah/cpython/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/AnishShah/cpython/git/refs{/sha}","trees_url":"https://api.github.com/repos/AnishShah/cpython/git/trees{/sha}","statuses_url":"https://api.github.com/repos/AnishShah/cpython/statuses/{sha}","languages_url":"https://api.github.com/repos/AnishShah/cpython/languages","stargazers_url":"https://api.github.com/repos/AnishShah/cpython/stargazers","contributors_url":"https://api.github.com/repos/AnishShah/cpython/contributors","subscribers_url":"https://api.github.com/repos/AnishShah/cpython/subscribers","subscription_url":"https://api.github.com/repos/AnishShah/cpython/subscription","commits_url":"https://api.github.com/repos/AnishShah/cpython/commits{/sha}","git_commits_url":"https://api.github.com/repos/AnishShah/cpython/git/commits{/sha}","comments_url":"https://api.github.com/repos/AnishShah/cpython/comments{/number}","issue_comment_url":"https://api.github.com/repos/AnishShah/cpython/issues/co
 
mments{/number}","contents_url":"https://api.github.com/repos/AnishShah/cpython/contents/{+path}","compare_url":"https://api.github.com/repos/AnishShah/cpython/compare/{base}...{head}","merges_url":"https://api.github.com/repos/AnishShah/cpython/merges","archive_url":"https://api.github.com/repos/AnishShah/cpython/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/AnishShah/cpython/downloads","issues_url":"https://api.github.com/repos/AnishShah/cpython/issues{/number}","pulls_url":"https://api.github.com/repos/AnishShah/cpython/pulls{/number}","milestones_url":"https://api.github.com/repos/AnishShah/cpython/milestones{/number}","notifications_url":"https://api.github.com/repos/AnishShah/cpython/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/AnishShah/cpython/labels{/name}","releases_url":"https://api.github.com/repos/AnishShah/cpython/releases{/id}","deployments_url":"https://api.github.com/repos/AnishShah/cpython/deplo
 
yments","created_at":"2016-05-23T11:39:11Z","updated_at":"2016-05-23T11:39:38Z","pushed_at":"2016-05-24T13:18:37Z","git_url":"git://github.com/AnishShah/cpython.git","ssh_url":"g...@github.com:AnishShah/cpython.git","clone_url":"https://github.com/AnishShah/cpython.git","svn_url":"https://github.com/AnishShah/cpython","homepage":"","size":276521,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"},"sender":{"login":"AnishShah","id":3175743,"avatar_url":"https://avatars.githubusercontent.com/u/3175743?v=3","gravatar_id":"","url":"https://api.github.com/users/AnishShah","html_url":"https://github.com/AnishShah","followers_url":"https://api.github.com/users/AnishShah/followers","following_url":"https://api.github.com/users/AnishShah/following{/other_user}","gists_url":"https://a
 
pi.github.com/users/AnishShah/gists{/gist_id}","starred_url":"https://api.github.com/users/AnishShah/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AnishShah/subscriptions","organizations_url":"https://api.github.com/users/AnishShah/orgs","repos_url":"https://api.github.com/users/AnishShah/repos","events_url":"https://api.github.com/users/AnishShah/events{/privacy}","received_events_url":"https://api.github.com/users/AnishShah/received_events","type":"User","site_admin":false}}
diff --git a/test/test_pull_request.py b/test/test_pull_request.py
index a9bf4ab..e87dc6f 100644
--- a/test/test_pull_request.py
+++ b/test/test_pull_request.py
@@ -2,6 +2,7 @@ import unittest
 import os
 import db_test_base
 import cgi
+import time
 from BaseHTTPServer import BaseHTTPRequestHandler
 from StringIO import StringIO
 from roundup.cgi import client
@@ -243,6 +244,37 @@ class TestCase(unittest.TestCase):
         state = self.db.pull_request.get(urls[0], 'state')
         self.assertEqual(state, "closed")
 
+    def testNonLinkedPullRequestReviewComments(self):
+        # Pull Request which is not linked to any issues on b.p.o
+        dummy_client = self._make_client("pullrequestreviewcomment.txt")
+        handler = GitHubHandler(dummy_client)
+        handler.dispatch()
+        self.assertEqual(len(self.db.issue.get("1", "messages")), 0)
+
+    def testPullRequestReviewComments(self):
+        # Pull Request which is linked to an issue on b.p.o
+        dummy_client = self._make_client("pullrequestevent.txt")
+        handler = GitHubHandler(dummy_client)
+        handler.dispatch()
+        self.db.close()
+        dummy_client = self._make_client("pullrequestreviewcomment.txt")
+        handler = GitHubHandler(dummy_client)
+        handler.dispatch()
+        self.assertEqual(len(self.db.issue.get("1", "messages")), 1)
+        self.db.close()
+        time.sleep(1)
+        dummy_client = self._make_client("pullrequestreviewcomment1.txt")
+        handler = GitHubHandler(dummy_client)
+        handler.dispatch()
+        self.assertEqual(len(self.db.issue.get("1", "messages")), 1)
+        self.db.close()
+        os.environ['TIME_INTERVAL'] = '00:00:05'
+        time.sleep(6)
+        dummy_client = self._make_client("pullrequestreviewcomment1.txt")
+        handler = GitHubHandler(dummy_client)
+        handler.dispatch()
+        self.assertEqual(len(self.db.issue.get("1", "messages")), 2)
+
 
 def test_suite():
     suite = unittest.TestSuite()
_______________________________________________
Tracker-discuss mailing list
Tracker-discuss@python.org
https://mail.python.org/mailman/listinfo/tracker-discuss
Code of Conduct: https://www.python.org/psf/codeofconduct/

Reply via email to