| OLD | NEW |
| 1 #!/usr/bin/python | 1 #!/usr/bin/python |
| 2 # Copyright (c) 2010 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2010 The Chromium Authors. All rights reserved. |
| 3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
| 4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
| 5 | 5 |
| 6 """Unit tests for gcl.py.""" | 6 """Unit tests for gcl.py.""" |
| 7 | 7 |
| 8 # Fixes include path. | 8 # Fixes include path. |
| 9 from super_mox import mox, SuperMoxTestBase | 9 from super_mox import mox, SuperMoxTestBase |
| 10 | 10 |
| (...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 189 | 189 |
| 190 def testNew(self): | 190 def testNew(self): |
| 191 change_info = self.mox.CreateMock(gcl.ChangeInfo) | 191 change_info = self.mox.CreateMock(gcl.ChangeInfo) |
| 192 change_info.name = 'naame' | 192 change_info.name = 'naame' |
| 193 change_info.issue = 1 | 193 change_info.issue = 1 |
| 194 change_info.patchset = 0 | 194 change_info.patchset = 0 |
| 195 change_info.description = 'deescription', | 195 change_info.description = 'deescription', |
| 196 change_info.files = [('A', 'aa'), ('M', 'bb')] | 196 change_info.files = [('A', 'aa'), ('M', 'bb')] |
| 197 change_info.patch = None | 197 change_info.patch = None |
| 198 files = [item[1] for item in change_info.files] | 198 files = [item[1] for item in change_info.files] |
| 199 gcl.CheckHomeForFile('.gcl_upload_no_try').AndReturn(None) | |
| 200 gcl.DoPresubmitChecks(change_info, False, True).AndReturn(True) | 199 gcl.DoPresubmitChecks(change_info, False, True).AndReturn(True) |
| 201 gcl.GetCodeReviewSetting('CODE_REVIEW_SERVER').AndReturn('my_server') | 200 gcl.GetCodeReviewSetting('CODE_REVIEW_SERVER').AndReturn('my_server') |
| 202 gcl.os.getcwd().AndReturn('somewhere') | 201 gcl.os.getcwd().AndReturn('somewhere') |
| 203 change_info.GetFiles().AndReturn(change_info.files) | 202 change_info.GetFiles().AndReturn(change_info.files) |
| 204 change_info.GetLocalRoot().AndReturn('proout') | 203 change_info.GetLocalRoot().AndReturn('proout') |
| 205 gcl.os.chdir('proout') | 204 gcl.os.chdir('proout') |
| 206 change_info.GetFileNames().AndReturn(files) | 205 change_info.GetFileNames().AndReturn(files) |
| 207 gcl.GenerateDiff(files) | 206 gcl.GenerateDiff(files) |
| 208 gcl.upload.RealMain(['upload.py', '-y', '--server=my_server', | 207 gcl.upload.RealMain(['upload.py', '-y', '--server=my_server', |
| 209 '-r', 'georges@example.com', | 208 '-r', 'georges@example.com', |
| 210 '--message=\'\'', '--issue=1'], | 209 '--message=\'\'', '--issue=1'], |
| 211 change_info.patch).AndReturn(("1", | 210 change_info.patch).AndReturn(("1", |
| 212 "2")) | 211 "2")) |
| 213 gcl.SendToRietveld("/lint/issue%s_%s" % ('1', '2'), timeout=0.5) | 212 gcl.SendToRietveld("/lint/issue%s_%s" % ('1', '2'), timeout=0.5) |
| 214 gcl.GetCodeReviewSetting('TRY_ON_UPLOAD').AndReturn('True') | |
| 215 gcl.TryChange(change_info, [], swallow_exception=True) | |
| 216 gcl.os.chdir('somewhere') | 213 gcl.os.chdir('somewhere') |
| 217 change_info.Save() | 214 change_info.Save() |
| 218 gcl.GetRepositoryRoot().AndReturn(self.fake_root_dir) | 215 gcl.GetRepositoryRoot().AndReturn(self.fake_root_dir) |
| 219 gcl.ChangeInfo.Load('naame', self.fake_root_dir, True, True | 216 gcl.ChangeInfo.Load('naame', self.fake_root_dir, True, True |
| 220 ).AndReturn(change_info) | 217 ).AndReturn(change_info) |
| 221 self.mox.ReplayAll() | 218 self.mox.ReplayAll() |
| 222 | 219 |
| 223 gcl.CMDupload(['naame', '-r', 'georges@example.com']) | 220 gcl.CMDupload(['naame', '-r', 'georges@example.com']) |
| 224 | 221 |
| 225 def testServerOverride(self): | 222 def testServerOverride(self): |
| 226 change_info = gcl.ChangeInfo('naame', 0, 0, 'deescription', | 223 change_info = gcl.ChangeInfo('naame', 0, 0, 'deescription', |
| 227 [('A', 'aa'), ('M', 'bb')], | 224 [('A', 'aa'), ('M', 'bb')], |
| 228 self.fake_root_dir) | 225 self.fake_root_dir) |
| 229 self.mox.StubOutWithMock(change_info, 'Save') | 226 self.mox.StubOutWithMock(change_info, 'Save') |
| 230 change_info.Save() | 227 change_info.Save() |
| 231 gcl.CheckHomeForFile('.gcl_upload_no_try').AndReturn(None) | |
| 232 gcl.DoPresubmitChecks(change_info, False, True).AndReturn(True) | 228 gcl.DoPresubmitChecks(change_info, False, True).AndReturn(True) |
| 233 gcl.GetCodeReviewSetting('CODE_REVIEW_SERVER').AndReturn('my_server') | 229 gcl.GetCodeReviewSetting('CODE_REVIEW_SERVER').AndReturn('my_server') |
| 234 gcl.tempfile.mkstemp(text=True).AndReturn((42, 'descfile')) | 230 gcl.tempfile.mkstemp(text=True).AndReturn((42, 'descfile')) |
| 235 gcl.os.write(42, change_info.description) | 231 gcl.os.write(42, change_info.description) |
| 236 gcl.os.close(42) | 232 gcl.os.close(42) |
| 237 gcl.GetCodeReviewSetting('CC_LIST') | 233 gcl.GetCodeReviewSetting('CC_LIST') |
| 238 gcl.GetCodeReviewSetting('PRIVATE') | 234 gcl.GetCodeReviewSetting('PRIVATE') |
| 239 gcl.os.getcwd().AndReturn('somewhere') | 235 gcl.os.getcwd().AndReturn('somewhere') |
| 240 gcl.os.chdir(change_info.GetLocalRoot()) | 236 gcl.os.chdir(change_info.GetLocalRoot()) |
| 241 gcl.GenerateDiff(change_info.GetFileNames()) | 237 gcl.GenerateDiff(change_info.GetFileNames()) |
| 242 gcl.upload.RealMain(['upload.py', '-y', '--server=my_server', '--server=a', | 238 gcl.upload.RealMain(['upload.py', '-y', '--server=my_server', '--server=a', |
| 243 "--description_file=descfile", | 239 "--description_file=descfile", |
| 244 "--message=deescription"], change_info.patch).AndReturn(("1", "2")) | 240 "--message=deescription"], change_info.patch).AndReturn(("1", "2")) |
| 245 gcl.os.remove('descfile') | 241 gcl.os.remove('descfile') |
| 246 gcl.SendToRietveld("/lint/issue%s_%s" % ('1', '2'), timeout=0.5) | 242 gcl.SendToRietveld("/lint/issue%s_%s" % ('1', '2'), timeout=0.5) |
| 247 gcl.os.chdir('somewhere') | 243 gcl.os.chdir('somewhere') |
| 248 gcl.GetRepositoryRoot().AndReturn(self.fake_root_dir) | 244 gcl.GetRepositoryRoot().AndReturn(self.fake_root_dir) |
| 249 gcl.ChangeInfo.Load('naame', self.fake_root_dir, True, True | 245 gcl.ChangeInfo.Load('naame', self.fake_root_dir, True, True |
| 250 ).AndReturn(change_info) | 246 ).AndReturn(change_info) |
| 251 self.mox.ReplayAll() | 247 self.mox.ReplayAll() |
| 252 | 248 |
| 253 gcl.CMDupload(['naame', '--server=a', '--no_watchlists']) | 249 gcl.CMDupload(['naame', '--server=a', '--no_watchlists']) |
| 254 | 250 |
| 255 def testNoTry(self): | |
| 256 change_info = gcl.ChangeInfo('naame', 0, 0, 'deescription', | |
| 257 [('A', 'aa'), ('M', 'bb')], | |
| 258 self.fake_root_dir) | |
| 259 change_info.Save = self.mox.CreateMockAnything() | |
| 260 change_info.Save() | |
| 261 gcl.DoPresubmitChecks(change_info, False, True).AndReturn(True) | |
| 262 gcl.GetCodeReviewSetting('CODE_REVIEW_SERVER').AndReturn('my_server') | |
| 263 gcl.tempfile.mkstemp(text=True).AndReturn((42, 'descfile')) | |
| 264 gcl.os.write(42, change_info.description) | |
| 265 gcl.os.close(42) | |
| 266 gcl.GetCodeReviewSetting('CC_LIST') | |
| 267 gcl.GetCodeReviewSetting('PRIVATE') | |
| 268 gcl.os.getcwd().AndReturn('somewhere') | |
| 269 gcl.os.chdir(change_info.GetLocalRoot()) | |
| 270 gcl.GenerateDiff(change_info.GetFileNames()) | |
| 271 gcl.upload.RealMain(['upload.py', '-y', '--server=my_server', | |
| 272 "--description_file=descfile", | |
| 273 "--message=deescription"], change_info.patch).AndReturn(("1", "2")) | |
| 274 gcl.os.remove('descfile') | |
| 275 gcl.SendToRietveld("/lint/issue%s_%s" % ('1', '2'), timeout=0.5) | |
| 276 gcl.os.chdir('somewhere') | |
| 277 gcl.GetRepositoryRoot().AndReturn(self.fake_root_dir) | |
| 278 gcl.ChangeInfo.Load('naame', self.fake_root_dir, True, True | |
| 279 ).AndReturn(change_info) | |
| 280 self.mox.ReplayAll() | |
| 281 | |
| 282 gcl.CMDupload(['naame', '--no-try', '--no_watchlists']) | |
| 283 | |
| 284 def testNormal(self): | 251 def testNormal(self): |
| 285 change_info = gcl.ChangeInfo('naame', 0, 0, 'deescription', | 252 change_info = gcl.ChangeInfo('naame', 0, 0, 'deescription', |
| 286 [('A', 'aa'), ('M', 'bb')], | 253 [('A', 'aa'), ('M', 'bb')], |
| 287 self.fake_root_dir) | 254 self.fake_root_dir) |
| 288 self.mox.StubOutWithMock(change_info, 'Save') | 255 self.mox.StubOutWithMock(change_info, 'Save') |
| 289 change_info.Save() | 256 change_info.Save() |
| 290 gcl.CheckHomeForFile('.gcl_upload_no_try').AndReturn(None) | |
| 291 gcl.DoPresubmitChecks(change_info, False, True).AndReturn(True) | 257 gcl.DoPresubmitChecks(change_info, False, True).AndReturn(True) |
| 292 gcl.GetCodeReviewSetting('CODE_REVIEW_SERVER').AndReturn('my_server') | 258 gcl.GetCodeReviewSetting('CODE_REVIEW_SERVER').AndReturn('my_server') |
| 293 gcl.tempfile.mkstemp(text=True).AndReturn((42, 'descfile')) | 259 gcl.tempfile.mkstemp(text=True).AndReturn((42, 'descfile')) |
| 294 gcl.os.write(42, change_info.description) | 260 gcl.os.write(42, change_info.description) |
| 295 gcl.os.close(42) | 261 gcl.os.close(42) |
| 296 gcl.GetCodeReviewSetting('CC_LIST') | 262 gcl.GetCodeReviewSetting('CC_LIST') |
| 297 gcl.GetCodeReviewSetting('PRIVATE') | 263 gcl.GetCodeReviewSetting('PRIVATE') |
| 298 gcl.os.getcwd().AndReturn('somewhere') | 264 gcl.os.getcwd().AndReturn('somewhere') |
| 299 gcl.os.chdir(change_info.GetLocalRoot()) | 265 gcl.os.chdir(change_info.GetLocalRoot()) |
| 300 gcl.GenerateDiff(change_info.GetFileNames()) | 266 gcl.GenerateDiff(change_info.GetFileNames()) |
| 301 gcl.upload.RealMain(['upload.py', '-y', '--server=my_server', | 267 gcl.upload.RealMain(['upload.py', '-y', '--server=my_server', |
| 302 "--description_file=descfile", | 268 "--description_file=descfile", |
| 303 "--message=deescription"], change_info.patch).AndReturn(("1", "2")) | 269 "--message=deescription"], change_info.patch).AndReturn(("1", "2")) |
| 304 gcl.os.remove('descfile') | 270 gcl.os.remove('descfile') |
| 305 gcl.SendToRietveld("/lint/issue%s_%s" % ('1', '2'), timeout=0.5) | 271 gcl.SendToRietveld("/lint/issue%s_%s" % ('1', '2'), timeout=0.5) |
| 306 gcl.GetCodeReviewSetting('TRY_ON_UPLOAD').AndReturn('True') | |
| 307 gcl.TryChange(change_info, [], swallow_exception=True) | |
| 308 gcl.os.chdir('somewhere') | 272 gcl.os.chdir('somewhere') |
| 309 gcl.GetRepositoryRoot().AndReturn(self.fake_root_dir) | 273 gcl.GetRepositoryRoot().AndReturn(self.fake_root_dir) |
| 310 gcl.ChangeInfo.Load('naame', self.fake_root_dir, True, True | 274 gcl.ChangeInfo.Load('naame', self.fake_root_dir, True, True |
| 311 ).AndReturn(change_info) | 275 ).AndReturn(change_info) |
| 312 self.mox.ReplayAll() | 276 self.mox.ReplayAll() |
| 313 | 277 |
| 314 gcl.CMDupload(['naame', '--no_watchlists']) | 278 gcl.CMDupload(['naame', '--no_watchlists']) |
| 315 self.assertEquals(change_info.issue, 1) | 279 self.assertEquals(change_info.issue, 1) |
| 316 self.assertEquals(change_info.patchset, 2) | 280 self.assertEquals(change_info.patchset, 2) |
| 317 | 281 |
| 318 | 282 |
| 319 if __name__ == '__main__': | 283 if __name__ == '__main__': |
| 320 import unittest | 284 import unittest |
| 321 unittest.main() | 285 unittest.main() |
| OLD | NEW |