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

Side by Side Diff: appengine/findit/handlers/test/help_triage_test.py

Issue 2600983002: inlined GitilesRepository._DownloadChangeLogData (Closed)
Patch Set: Created 3 years, 12 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
« no previous file with comments | « no previous file | appengine/findit/libs/gitiles/gitiles_repository.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2015 The Chromium Authors. All rights reserved. 1 # Copyright 2015 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 os 6 import os
7 import webapp2 7 import webapp2
8 8
9 from testing_utils import testing 9 from testing_utils import testing
10 10
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 'action': 'Reverted', 122 'action': 'Reverted',
123 'fixed_cl_commit_position': 342015, 123 'fixed_cl_commit_position': 342015,
124 'fixed_revision': '123456789c08d27902060c241149ce193e4dd5dd', 124 'fixed_revision': '123456789c08d27902060c241149ce193e4dd5dd',
125 'fixing_build_number': 122, 125 'fixing_build_number': 122,
126 'fixing_cl_commit_position': 332062, 126 'fixing_cl_commit_position': 332062,
127 'fixing_revision': '062a6f974d7c01234569ce193e4dd5' 127 'fixing_revision': '062a6f974d7c01234569ce193e4dd5'
128 } 128 }
129 } 129 }
130 130
131 131
132 def _MockGetChangeLog(repo, revision):
133 file_name = os.path.join(
134 os.path.dirname(__file__), 'data', 'help_triage_test_data',
135 'change_log_' + revision)
136 with open(file_name) as f:
137 commit_log = f.read()
138
139 data = json.loads(commit_log[len(')]}\'\n'):])
140 return repo._ParseChangeLogFromLogData(data)
141
132 142
133 class HelpTriageTest(testing.AppengineTestCase): 143 class HelpTriageTest(testing.AppengineTestCase):
134 app_module = webapp2.WSGIApplication([ 144 app_module = webapp2.WSGIApplication([
135 ('/help-triage', help_triage.HelpTriage), 145 ('/help-triage', help_triage.HelpTriage),
136 ], debug=True) 146 ], debug=True)
137 147
138 def _GetBuildInfo(self, master_name, builder_name, build_number): 148 def _GetBuildInfo(self, master_name, builder_name, build_number):
139 file_name = os.path.join( 149 file_name = os.path.join(
140 os.path.dirname(__file__), 'data', 'help_triage_test_data', 150 os.path.dirname(__file__), 'data', 'help_triage_test_data',
141 'build_data_%s_%s_%s.json' % ( 151 'build_data_%s_%s_%s.json' % (
142 master_name, builder_name, build_number)) 152 master_name, builder_name, build_number))
143 if not os.path.isfile(file_name): 153 if not os.path.isfile(file_name):
144 return None 154 return None
145 with open(file_name, 'r') as f: 155 with open(file_name, 'r') as f:
146 return f.read() 156 return f.read()
147 157
148 def _MockDownloadBuildData( 158 def _MockDownloadBuildData(
149 self, master_name, builder_name, build_number): 159 self, master_name, builder_name, build_number):
150 build = WfBuild.Get(master_name, builder_name, build_number) 160 build = WfBuild.Get(master_name, builder_name, build_number)
151 if not build: # pragma: no cover 161 if not build: # pragma: no cover
152 build = WfBuild.Create(master_name, builder_name, build_number) 162 build = WfBuild.Create(master_name, builder_name, build_number)
153 build.data = self._GetBuildInfo(master_name, builder_name, build_number) 163 build.data = self._GetBuildInfo(master_name, builder_name, build_number)
154 build.put() 164 build.put()
155 return build 165 return build
156 166
157 def _MockDownloadChangeLogData(self, revision):
158 file_name = os.path.join(
159 os.path.dirname(__file__), 'data', 'help_triage_test_data',
160 'change_log_' + revision)
161 with open(file_name) as f:
162 commit_log = f.read()
163 return revision, json.loads(commit_log[len(')]}\'\n'):])
164
165 def setUp(self): 167 def setUp(self):
166 super(HelpTriageTest, self).setUp() 168 super(HelpTriageTest, self).setUp()
167 self.master_name = 'm' 169 self.master_name = 'm'
168 self.builder_name = 'b' 170 self.builder_name = 'b'
169 self.mock_current_user(user_email='test@chromium.org', is_admin=True) 171 self.mock_current_user(user_email='test@chromium.org', is_admin=True)
170 self.mock(build_util, 'DownloadBuildData', 172 self.mock(build_util, 'DownloadBuildData', self._MockDownloadBuildData)
171 self._MockDownloadBuildData) 173 self.mock(GitilesRepository, 'GetChangeLog', _MockGetChangeLog)
172 self.mock(GitilesRepository, '_DownloadChangeLogData',
173 self._MockDownloadChangeLogData)
174 174
175 def _CreateAnalysis(self, build_number, first_failure, last_pass=None): 175 def _CreateAnalysis(self, build_number, first_failure, last_pass=None):
176 analysis = WfAnalysis.Create( 176 analysis = WfAnalysis.Create(
177 self.master_name, self.builder_name, build_number) 177 self.master_name, self.builder_name, build_number)
178 analysis.result = { 178 analysis.result = {
179 'failures': [ 179 'failures': [
180 { 180 {
181 'last_pass': last_pass, 181 'last_pass': last_pass,
182 'first_failure': first_failure, 182 'first_failure': first_failure,
183 'suspected_cls': [], 183 'suspected_cls': [],
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
257 self.master_name, self.builder_name, 123) 257 self.master_name, self.builder_name, 123)
258 build = WfBuild.Create(self.master_name, self.builder_name, 123) 258 build = WfBuild.Create(self.master_name, self.builder_name, 123)
259 build.data = self._GetBuildInfo(self.master_name, self.builder_name, 123) 259 build.data = self._GetBuildInfo(self.master_name, self.builder_name, 123)
260 build.put() 260 build.put()
261 261
262 response = self.test_app.get('/help-triage', params={'url': build_url}) 262 response = self.test_app.get('/help-triage', params={'url': build_url})
263 expected_results = {} 263 expected_results = {}
264 264
265 self.assertEqual(200, response.status_int) 265 self.assertEqual(200, response.status_int)
266 self.assertEqual(expected_results, response.json_body) 266 self.assertEqual(expected_results, response.json_body)
OLDNEW
« no previous file with comments | « no previous file | appengine/findit/libs/gitiles/gitiles_repository.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698