Merge lp:~fgiff/linaro-android-bot-review/873254 into lp:linaro-android-bot-review

Proposed by Frans Gifford
Status: Merged
Approved by: Frans Gifford
Approved revision: 51
Merged at revision: 51
Proposed branch: lp:~fgiff/linaro-android-bot-review/873254
Merge into: lp:linaro-android-bot-review
Diff against target: 59 lines (+26/-0)
2 files modified
gerritconnection.py (+16/-0)
tests/testgerritconnection.py (+10/-0)
To merge this branch: bzr merge lp:~fgiff/linaro-android-bot-review/873254
Reviewer Review Type Date Requested Status
Frans Gifford (community) Approve
Review via email: mp+79280@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Frans Gifford (fgiff) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'gerritconnection.py'
2--- gerritconnection.py 2011-10-11 14:50:04 +0000
3+++ gerritconnection.py 2011-10-13 14:04:27 +0000
4@@ -1,5 +1,7 @@
5 import paramiko
6 import socket
7+import urllib2
8+import json
9
10 class GerritConnection:
11 def __init__(self, ssh_user, review_host, ssh_key_file=None,
12@@ -75,6 +77,20 @@
13 return reviews
14
15
16+ def get_comment_list(self, review):
17+ """Use JSON-RPC api to get list of comments for a given review."""
18+ url = "http://%s/gerrit/rpc/ChangeDetailService" % self.review_host
19+ headers = {"Accept": "application/json,application/jsonrequest",
20+ "Content-Type": "application/json; charset=UTF-8"}
21+ data = '{"jsonrpc":"2.0","method":"changeDetail","params":[{"id":%s}],"id":1}' % (
22+ review)
23+ #log.debug("Gerrit request: %s", url)
24+ req = urllib2.Request(url, data, headers)
25+ resp = urllib2.urlopen(req)
26+ # Return just the comment strings.
27+ return [m["message"] for m in json.loads(resp.read())["result"]["messages"]]
28+
29+
30 def submit_comment(self,
31 project,
32 sha1,
33
34=== modified file 'tests/testgerritconnection.py'
35--- tests/testgerritconnection.py 2011-09-30 08:49:33 +0000
36+++ tests/testgerritconnection.py 2011-10-13 14:04:27 +0000
37@@ -7,6 +7,8 @@
38 import re
39 import sys
40 import StringIO
41+import urllib2
42+import urllib2mock
43
44
45 datadir = os.path.dirname(__file__) + "/data"
46@@ -92,6 +94,14 @@
47 self.fail()
48
49
50+ def testGet_comment_list(self):
51+ urllib2.urlopen = urllib2mock.urlopenMock
52+ urllib2mock.urlopenVal = '{"result": {"messages": [{"message": "Message 1"}]}}'
53+ #self.gc.review_host = "review.android.git.linaro.org"
54+ list = self.gc.get_comment_list("232")
55+ self.assertEquals(["Message 1"], list)
56+
57+
58 if __name__ == "__main__":
59 unittest.main()
60

Subscribers

People subscribed via source and target branches

to all changes: