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

Side by Side Diff: appengine/findit/lib/gitiles/test/gitiles_repository_test.py

Issue 2480593002: [Predator] Move time_util from common/ to lib/, split code review related part to code_review_util (Closed)
Patch Set: Rebase and fix nits. Created 4 years, 1 month 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 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 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 base64 5 import base64
6 from datetime import datetime 6 from datetime import datetime
7 import json 7 import json
8 import re 8 import re
9 9
10 from testing_utils import testing 10 from testing_utils import testing
(...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after
291 self.repo_url = 'https://repo.test' 291 self.repo_url = 'https://repo.test'
292 self.git_repo = gitiles_repository.GitilesRepository(self.repo_url, 292 self.git_repo = gitiles_repository.GitilesRepository(self.repo_url,
293 self.http_client_for_git) 293 self.http_client_for_git)
294 294
295 def testGitRepositoryPropertySetters(self): 295 def testGitRepositoryPropertySetters(self):
296 http_client_for_git = HttpClientForGit() 296 http_client_for_git = HttpClientForGit()
297 git_repo = gitiles_repository.GitilesRepository( 297 git_repo = gitiles_repository.GitilesRepository(
298 http_client=http_client_for_git) 298 http_client=http_client_for_git)
299 git_repo.repo_url = 'https://repo' 299 git_repo.repo_url = 'https://repo'
300 self.assertEqual(git_repo.repo_url, 'https://repo') 300 self.assertEqual(git_repo.repo_url, 'https://repo')
301
302 self.assertEqual(git_repo. http_client, http_client_for_git) 301 self.assertEqual(git_repo. http_client, http_client_for_git)
303 302
304 def testExtractCommitPositionAndCodeReviewUrl(self):
305 testcases = [
306 {
307 'message':
308 'balabala...\n'
309 '\n'
310 'BUG=604502\n'
311 '\n'
312 'Review-Url: https://codereview.chromium.org/1927593004\n'
313 'Cr-Commit-Position: refs/heads/master@{#390254}\n',
314 'commit_position': 390254,
315 'code_review_url': 'https://codereview.chromium.org/1927593004',
316 },
317 {
318 'message':
319 'balabala...\n'
320 '\n'
321 'BUG=409934\n'
322 '\n'
323 'Review URL: https://codereview.chromium.org/547753003\n'
324 '\n'
325 'Cr-Commit-Position: refs/heads/master@{#293661}',
326 'commit_position': 293661,
327 'code_review_url': 'https://codereview.chromium.org/547753003',
328 },
329 {
330 'message':
331 'balabala...\n'
332 '\n'
333 'balabala...\n'
334 '\n'
335 'R=test4@chromium.org\n'
336 '\n'
337 'Review URL: https://codereview.chromium.org/469523002\n'
338 '\n'
339 'Cr-Commit-Position: refs/heads/master@{#289120}',
340 'commit_position': 289120,
341 'code_review_url': 'https://codereview.chromium.org/469523002',
342 },
343 {
344 'message': None,
345 'commit_position': None,
346 'code_review_url': None
347 }
348 ]
349
350 for testcase in testcases:
351 (commit_position,
352 code_review_url) = self.git_repo.ExtractCommitPositionAndCodeReviewUrl(
353 testcase['message'])
354 self.assertEqual(commit_position, testcase['commit_position'])
355 self.assertEqual(code_review_url, testcase['code_review_url'])
356
357 def testEndingSlashInRepoUrl(self): 303 def testEndingSlashInRepoUrl(self):
358 git_repo1 = gitiles_repository.GitilesRepository( 304 git_repo1 = gitiles_repository.GitilesRepository(
359 self.repo_url, self.http_client_for_git) 305 self.repo_url, self.http_client_for_git)
360 self.assertEqual(self.repo_url, git_repo1.repo_url) 306 self.assertEqual(self.repo_url, git_repo1.repo_url)
361 307
362 git_repo2 = gitiles_repository.GitilesRepository( 308 git_repo2 = gitiles_repository.GitilesRepository(
363 '%s/' % self.repo_url, self.http_client_for_git) 309 '%s/' % self.repo_url, self.http_client_for_git)
364 self.assertEqual(self.repo_url, git_repo2.repo_url) 310 self.assertEqual(self.repo_url, git_repo2.repo_url)
365 311
366 def testMalformattedJsonReponse(self): 312 def testMalformattedJsonReponse(self):
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
426 source = self.git_repo.GetSource(path, git_revision) 372 source = self.git_repo.GetSource(path, git_revision)
427 self.assertEqual(original_source, source) 373 self.assertEqual(original_source, source)
428 374
429 def testTimeConversion(self): 375 def testTimeConversion(self):
430 datetime_with_timezone = 'Wed Jul 22 19:35:32 2014 +0400' 376 datetime_with_timezone = 'Wed Jul 22 19:35:32 2014 +0400'
431 expected_datetime = datetime(2014, 7, 22, 15, 35, 32) 377 expected_datetime = datetime(2014, 7, 22, 15, 35, 32)
432 utc_datetime = self.git_repo._GetDateTimeFromString(datetime_with_timezone) 378 utc_datetime = self.git_repo._GetDateTimeFromString(datetime_with_timezone)
433 379
434 self.assertEqual(expected_datetime, utc_datetime) 380 self.assertEqual(expected_datetime, utc_datetime)
435 381
436 def testGetRevertedRevision(self):
437 message = (
438 'Revert of test1\n\nReason for revert:\nrevert test1\n\n'
439 'Original issue\'s description:\n> test 1\n>\n'
440 '> description of test 1.\n>\n> BUG=none\n> TEST=none\n'
441 '> R=test@chromium.org\n> TBR=test@chromium.org\n>\n'
442 '> Committed: https://chromium.googlesource.com/chromium/src/+/'
443 'c9cc182781484f9010f062859cda048afefefefe\n'
444 '> Cr-Commit-Position: refs/heads/master@{#341992}\n\n'
445 'TBR=test@chromium.org\nNOPRESUBMIT=true\nNOTREECHECKS=true\n'
446 'NOTRY=true\nBUG=none\n\n'
447 'Review URL: https://codereview.chromium.org/1278653002\n\n'
448 'Cr-Commit-Position: refs/heads/master@{#342013}\n')
449
450 reverted_revision = self.git_repo.GetRevertedRevision(message)
451 self.assertEqual('c9cc182781484f9010f062859cda048afefefefe',
452 reverted_revision)
453
454 def testGetRevertedRevisionRevertOfRevert(self):
455 message = (
456 'Revert of Revert\n\nReason for revert:\nRevert of revert\n\n'
457 'Original issue\'s description:\n> test case of revert of revert\n>\n'
458 '> Reason for revert:\n> reason\n>\n> Original issue\'s description:\n'
459 '> > base cl\n> >\n> > R=kalman\n> > BUG=424661\n> >\n'
460 '> > Committed: https://crrev.com/34ea66b8ac1d56dadd670431063857ffdd\n'
461 '> > Cr-Commit-Position: refs/heads/master@{#326953}\n>\n'
462 '> TBR=test@chromium.org\n> NOPRESUBMIT=true\n'
463 '> NOTREECHECKS=true\n> NOTRY=true\n> BUG=424661\n>\n'
464 '> Committed: https://crrev.com/76a7e3446188256ca240dc31f78de29511a'
465 '2c322\n'
466 '> Cr-Commit-Position: refs/heads/master@{#327021}\n\n'
467 'TBR=test@chromium.org\nNOPRESUBMIT=true\n'
468 'NOTREECHECKS=true\nNOTRY=true\nBUG=424661\n\n'
469 'Review URL: https://codereview.chromium.org/1161773008\n\n'
470 'Cr-Commit-Position: refs/heads/master@{#332062}\n')
471
472 reverted_revision = self.git_repo.GetRevertedRevision(message)
473 self.assertEqual('76a7e3446188256ca240dc31f78de29511a2c322',
474 reverted_revision)
475
476 def testGetRevertedRevisionNoRevertedCL(self):
477 message = (
478 'Test for not revert cl\n\n'
479 'TBR=test@chromium.org\nNOPRESUBMIT=true\n'
480 'NOTREECHECKS=true\nNOTRY=true\nBUG=424661\n\n'
481 'Review URL: https://codereview.chromium.org/1161773008\n\n'
482 'Cr-Commit-Position: refs/heads/master@{#332062}\n')
483
484 reverted_revision = self.git_repo.GetRevertedRevision(message)
485 self.assertIsNone(reverted_revision)
486
487 def testGetCommitsBetweenRevisions(self): 382 def testGetCommitsBetweenRevisions(self):
488 def _MockSendRequestForJsonResponse(*_): 383 def _MockSendRequestForJsonResponse(*_):
489 return { 384 return {
490 'log': [ 385 'log': [
491 {'commit': '3'}, 386 {'commit': '3'},
492 {'commit': '2'}, 387 {'commit': '2'},
493 {'commit': '1'}] 388 {'commit': '1'}]
494 } 389 }
495 self.mock(gitiles_repository.GitilesRepository, 390 self.mock(gitiles_repository.GitilesRepository,
496 '_SendRequestForJsonResponse', _MockSendRequestForJsonResponse) 391 '_SendRequestForJsonResponse', _MockSendRequestForJsonResponse)
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
577 changelogs = self.git_repo.GetChangeLogs('0', '2') 472 changelogs = self.git_repo.GetChangeLogs('0', '2')
578 473
579 self.assertEqual(len(changelogs), 2) 474 self.assertEqual(len(changelogs), 2)
580 475
581 def testGetWrappedGitRepositoryClass(self): 476 def testGetWrappedGitRepositoryClass(self):
582 repo = gitiles_repository.GitilesRepository( 477 repo = gitiles_repository.GitilesRepository(
583 'http://repo_url', HttpClientForGit()) 478 'http://repo_url', HttpClientForGit())
584 479
585 self.assertEqual(repo.repo_url, 'http://repo_url') 480 self.assertEqual(repo.repo_url, 'http://repo_url')
586 self.assertTrue(isinstance(repo.http_client, HttpClientForGit)) 481 self.assertTrue(isinstance(repo.http_client, HttpClientForGit))
OLDNEW
« no previous file with comments | « appengine/findit/lib/gitiles/test/commit_util_test.py ('k') | appengine/findit/lib/test/time_util_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698