Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(219)

Side by Side Diff: third_party/WebKit/Tools/Scripts/webkitpy/common/net/rietveld_unittest.py

Issue 2112133002: Greatly simplify buildbot module and remove usage of master name. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 # Copyright 2016 The Chromium Authors. All rights reserved. 1 # Copyright 2016 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import json 5 import json
6 import logging 6 import logging
7 import unittest 7 import unittest
8 import urllib2 8 import urllib2
9 9
10 from webkitpy.common.net.rietveld import latest_try_jobs, TryJob, get_latest_try _job_results 10 from webkitpy.common.net.rietveld import latest_try_jobs, TryJob, get_latest_try _job_results
11 from webkitpy.common.net.web_mock import MockWeb 11 from webkitpy.common.net.web_mock import MockWeb
12 from webkitpy.common.system.outputcapture import OutputCapture 12 from webkitpy.common.system.outputcapture import OutputCapture
13 13
14 14
15 _log = logging.getLogger(__name__) 15 _log = logging.getLogger(__name__)
16 16
17 17
18 class RietveldTest(unittest.TestCase): 18 class RietveldTest(unittest.TestCase):
19 19
20 def setUp(self): 20 def setUp(self):
21 self.web = MockWeb(urls={ 21 self.web = MockWeb(urls={
22 'https://codereview.chromium.org/api/11112222': json.dumps({ 22 'https://codereview.chromium.org/api/11112222': json.dumps({
23 'patchsets': [1, 2, 3], 23 'patchsets': [1, 2, 3],
24 }), 24 }),
25 'https://codereview.chromium.org/api/11112222/2': json.dumps({ 25 'https://codereview.chromium.org/api/11112222/2': json.dumps({
26 'try_job_results': [ 26 'try_job_results': [
27 { 27 {
28 'builder': 'foo-builder', 28 'builder': 'foo-builder',
29 'master': 'master.tryserver.foo',
30 'buildnumber': 10, 29 'buildnumber': 10,
31 'result': -1 30 'result': -1
32 }, 31 },
33 { 32 {
34 'builder': 'bar-builder', 33 'builder': 'bar-builder',
35 'master': 'master.tryserver.bar',
36 'buildnumber': 50, 34 'buildnumber': 50,
37 'results': 0 35 'results': 0
38 }, 36 },
39 ], 37 ],
40 }), 38 }),
41 'https://codereview.chromium.org/api/11112222/3': json.dumps({ 39 'https://codereview.chromium.org/api/11112222/3': json.dumps({
42 'try_job_results': [ 40 'try_job_results': [
43 { 41 {
44 'builder': 'foo-builder', 42 'builder': 'foo-builder',
45 'master': 'master.tryserver.foo',
46 'buildnumber': 20, 43 'buildnumber': 20,
47 'result': 1 44 'result': 1
48 }, 45 },
49 { 46 {
50 'builder': 'bar-builder', 47 'builder': 'bar-builder',
51 'master': 'master.tryserver.bar',
52 'buildnumber': 60, 48 'buildnumber': 60,
53 'result': 0 49 'result': 0
54 }, 50 },
55 ], 51 ],
56 }), 52 }),
57 'https://codereview.chromium.org/api/11113333': 'my non-JSON content s', 53 'https://codereview.chromium.org/api/11113333': 'my non-JSON content s',
58 }) 54 })
59 55
60 def test_latest_try_jobs(self): 56 def test_latest_try_jobs(self):
61 self.assertEqual( 57 self.assertEqual(
62 latest_try_jobs(11112222, ('bar-builder', 'other-builder'), self.web ), 58 latest_try_jobs(11112222, ('bar-builder', 'other-builder'), self.web ),
63 [TryJob('bar-builder', 'tryserver.bar', 60)]) 59 [TryJob('bar-builder', 60)])
64 60
65 def test_latest_try_jobs_http_error(self): 61 def test_latest_try_jobs_http_error(self):
66 def raise_error(_): 62 def raise_error(_):
67 raise urllib2.URLError('Some request error message') 63 raise urllib2.URLError('Some request error message')
68 self.web.get_binary = raise_error 64 self.web.get_binary = raise_error
69 oc = OutputCapture() 65 oc = OutputCapture()
70 try: 66 try:
71 oc.capture_output() 67 oc.capture_output()
72 self.assertEqual(latest_try_jobs(11112222, ('bar-builder',), self.we b), []) 68 self.assertEqual(latest_try_jobs(11112222, ('bar-builder',), self.we b), [])
73 finally: 69 finally:
74 _, _, logs = oc.restore_output() 70 _, _, logs = oc.restore_output()
75 self.assertEqual(logs, 'Request failed to URL: https://codereview.chromi um.org/api/11112222\n') 71 self.assertEqual(logs, 'Request failed to URL: https://codereview.chromi um.org/api/11112222\n')
76 72
77 def test_latest_try_jobs_non_json_response(self): 73 def test_latest_try_jobs_non_json_response(self):
78 oc = OutputCapture() 74 oc = OutputCapture()
79 try: 75 try:
80 oc.capture_output() 76 oc.capture_output()
81 self.assertEqual(latest_try_jobs(11113333, ('bar-builder',), self.we b), []) 77 self.assertEqual(latest_try_jobs(11113333, ('bar-builder',), self.we b), [])
82 finally: 78 finally:
83 _, _, logs = oc.restore_output() 79 _, _, logs = oc.restore_output()
84 self.assertEqual(logs, 'Invalid JSON: my non-JSON contents\n') 80 self.assertEqual(logs, 'Invalid JSON: my non-JSON contents\n')
85 81
86 def test_latest_try_jobs_with_patchset(self): 82 def test_latest_try_jobs_with_patchset(self):
87 self.assertEqual( 83 self.assertEqual(
88 latest_try_jobs(11112222, ('bar-builder', 'other-builder'), self.web , patchset_number=2), 84 latest_try_jobs(11112222, ('bar-builder', 'other-builder'), self.web , patchset_number=2),
89 [TryJob('bar-builder', 'tryserver.bar', 50)]) 85 [TryJob('bar-builder', 50)])
90 86
91 def test_latest_try_jobs_no_relevant_builders(self): 87 def test_latest_try_jobs_no_relevant_builders(self):
92 self.assertEqual(latest_try_jobs(11112222, ('foo', 'bar'), self.web), [] ) 88 self.assertEqual(latest_try_jobs(11112222, ('foo', 'bar'), self.web), [] )
93 89
94 def test_get_latest_try_job_results(self): 90 def test_get_latest_try_job_results(self):
95 self.assertEqual(get_latest_try_job_results(11112222, self.web), {'foo-b uilder': 1, 'bar-builder': 0}) 91 self.assertEqual(get_latest_try_job_results(11112222, self.web), {'foo-b uilder': 1, 'bar-builder': 0})
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698