| OLD | NEW |
| 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 """Tool-specific testable functions for antibody.""" | 5 """Tool-specific testable functions for antibody.""" |
| 6 | 6 |
| 7 import argparse | 7 import argparse |
| 8 import datetime | 8 import datetime |
| 9 import json | 9 import json |
| 10 import os | 10 import os |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 43 self.assertTrue(args.parse_git_rietveld) | 43 self.assertTrue(args.parse_git_rietveld) |
| 44 self.assertEqual(args.output_dir_path, '/efg') | 44 self.assertEqual(args.output_dir_path, '/efg') |
| 45 self.assertEqual(args.since, '2000') | 45 self.assertEqual(args.since, '2000') |
| 46 | 46 |
| 47 def test_generate_antibody_ui(self): | 47 def test_generate_antibody_ui(self): |
| 48 with infra_libs.temporary_directory(prefix='antibody-test') as dirname: | 48 with infra_libs.temporary_directory(prefix='antibody-test') as dirname: |
| 49 commit_data = 'data/sample_suspicious_commits.txt' | 49 commit_data = 'data/sample_suspicious_commits.txt' |
| 50 with open(os.path.join(THIS_DIR, commit_data), 'r') as f: | 50 with open(os.path.join(THIS_DIR, commit_data), 'r') as f: |
| 51 suspicious_commits_data = [line.rstrip('\n').split(',') for line in f] | 51 suspicious_commits_data = [line.rstrip('\n').split(',') for line in f] |
| 52 temp_data_gitiles="https://chromium.googlesource.com/infra/infra/+/" | 52 temp_data_gitiles="https://chromium.googlesource.com/infra/infra/+/" |
| 53 sample_monthly_stats = { |
| 54 '7_days': { |
| 55 'suspicious_to_total_ratio': 1, |
| 56 'total_commits': 2, |
| 57 'tbr_no_lgtm': 3, |
| 58 'no_review_url': 4, |
| 59 'blank_tbr': 5, |
| 60 }, |
| 61 '30_days': { |
| 62 'suspicious_to_total_ratio': 1, |
| 63 'total_commits': 2, |
| 64 'tbr_no_lgtm': 3, |
| 65 'no_review_url': 4, |
| 66 'blank_tbr': 5, |
| 67 }, |
| 68 'all_time': { |
| 69 'suspicious_to_total_ratio': 1, |
| 70 'total_commits': 2, |
| 71 'tbr_no_lgtm': 3, |
| 72 'no_review_url': 4, |
| 73 'blank_tbr': 5, |
| 74 }, |
| 75 } |
| 76 with open(os.path.join(dirname, 'all_monthly_stats.json'), 'w') as f: |
| 77 json.dump(sample_monthly_stats, f) |
| 53 antibody.generate_antibody_ui(suspicious_commits_data, temp_data_gitiles, | 78 antibody.generate_antibody_ui(suspicious_commits_data, temp_data_gitiles, |
| 54 dirname) | 79 dirname) |
| 55 with open( | 80 with open( |
| 56 os.path.join(dirname, antibody.ANTIBODY_UI_MAIN_NAME), 'r') as f: | 81 os.path.join(dirname, antibody.ANTIBODY_UI_MAIN_NAME), 'r') as f: |
| 57 file_string = f.read() | 82 file_string = f.read() |
| 58 self.assertTrue(file_string) | 83 self.assertTrue(file_string) |
| 59 self.assertFalse('{{' in file_string) | 84 self.assertFalse('{{' in file_string) |
| 60 self.assertFalse('}}' in file_string) | 85 self.assertFalse('}}' in file_string) |
| 61 | 86 |
| 62 with open(os.path.join(dirname, antibody.TBR_BY_USER_NAME), 'r') as f: | 87 with open(os.path.join(dirname, antibody.TBR_BY_USER_NAME), 'r') as f: |
| 63 file_string = f.read() | 88 file_string = f.read() |
| 64 self.assertTrue(file_string) | 89 self.assertTrue(file_string) |
| 65 self.assertFalse('{{' in file_string) | 90 self.assertFalse('{{' in file_string) |
| 66 self.assertFalse('}}' in file_string) | 91 self.assertFalse('}}' in file_string) |
| 92 |
| 93 with open(os.path.join(dirname, antibody.STATS_NAME), 'r') as f: |
| 94 file_string = f.read() |
| 95 self.assertTrue(file_string) |
| 96 self.assertFalse('{{' in file_string) |
| 97 self.assertFalse('}}' in file_string) |
| 98 |
| 99 with open(os.path.join(dirname, antibody.LEADERBOARD_NAME), 'r') as f: |
| 100 file_string = f.read() |
| 101 self.assertTrue(file_string) |
| 102 self.assertFalse('{{' in file_string) |
| 103 self.assertFalse('}}' in file_string) |
| 67 | 104 |
| 68 self.assertTrue(os.path.exists(os.path.join(dirname, 'static'))) | 105 self.assertTrue(os.path.exists(os.path.join(dirname, 'static'))) |
| 69 | 106 |
| 70 def test_get_tbr_by_user(self): | 107 def test_get_tbr_by_user(self): |
| 71 with infra_libs.temporary_directory(prefix='antibody-test') as dirname: | 108 with infra_libs.temporary_directory(prefix='antibody-test') as dirname: |
| 72 # tbr_no_lgtm: review_url, request_timestamp, hash, people_email_address | 109 # tbr_no_lgtm: review_url, request_timestamp, subject, |
| 110 # people_email_address, hash |
| 73 tbr_no_lgtm = ( | 111 tbr_no_lgtm = ( |
| 74 ('https://codereview.chromium.org/1175993003', | 112 ('hello', '2015-07-13 11:11:11', 'pgervais@chromium.org', |
| 75 datetime.datetime(2015, 7, 13, 11, 11, 11), | 113 'git_hash_1', 'https://codereview.chromium.org/1175993003'), |
| 76 'git_hash_1', 'pgervais@chromium.org'), | 114 ('hello', '2015-07-13 11:11:11', 'hinoka@chromium.org', |
| 77 ('https://codereview.chromium.org/1175993003', | 115 'git_hash_1', 'https://codereview.chromium.org/1175993003'), |
| 78 datetime.datetime(2015, 7, 13, 11, 11, 11), | 116 ('world', '2015-07-13 22:22:22', 'hinoka@chromium.org', |
| 79 'git_hash_1', 'hinoka@chromium.org'), | 117 'git_hash_2', 'https://codereview.chromium.org/1171763002'), |
| 80 ('https://codereview.chromium.org/1171763002', | 118 ('world', '2015-07-13 22:22:22', 'keelerh@google.com', |
| 81 datetime.datetime(2015, 7, 13, 22, 22, 22), | 119 'git_hash_2', 'https://codereview.chromium.org/1171763002'), |
| 82 'git_hash_2', 'hinoka@google.com'), | |
| 83 ('https://codereview.chromium.org/1171763002', | |
| 84 datetime.datetime(2015, 7, 13, 22, 22, 22), | |
| 85 'git_hash_2', 'keelerh@google.com'), | |
| 86 ) | 120 ) |
| 87 antibody.get_tbr_by_user(tbr_no_lgtm, | 121 antibody.get_tbr_by_user(tbr_no_lgtm, |
| 88 'https://chromium.googlesource.com/infra/infra/+/', dirname) | 122 'https://chromium.googlesource.com/infra/infra/+/', dirname) |
| 89 expected_out = { | 123 expected_out = { |
| 90 "by_user" : { | 124 "by_user" : { |
| 91 "pgervais" : [['git_hash_1', | 125 "pgervais" : [['git_hash_1', |
| 92 'https://codereview.chromium.org/1175993003', | 126 'https://codereview.chromium.org/1175993003', |
| 93 '2015-07-13 11:11:11']], | 127 '2015-07-13 11:11:11']], |
| 94 "hinoka" : [['git_hash_1', | 128 "hinoka" : [['git_hash_1', |
| 95 'https://codereview.chromium.org/1175993003', | 129 'https://codereview.chromium.org/1175993003', |
| (...skipping 24 matching lines...) Expand all Loading... |
| 120 ]) | 154 ]) |
| 121 self.assertEqual(antibody.get_gitiles_prefix(dirname), | 155 self.assertEqual(antibody.get_gitiles_prefix(dirname), |
| 122 'https://chromium.googlesource.com/infra/infra/+/') | 156 'https://chromium.googlesource.com/infra/infra/+/') |
| 123 | 157 |
| 124 with open(os.path.join(dirname, 'codereview.settings'), 'w') as f: | 158 with open(os.path.join(dirname, 'codereview.settings'), 'w') as f: |
| 125 f.writelines([ | 159 f.writelines([ |
| 126 'CC_LIST: chromium-reviews@chromium.org\n', | 160 'CC_LIST: chromium-reviews@chromium.org\n', |
| 127 'PROJECT: infra\n', | 161 'PROJECT: infra\n', |
| 128 ]) | 162 ]) |
| 129 self.assertEqual(antibody.get_gitiles_prefix(dirname), None) | 163 self.assertEqual(antibody.get_gitiles_prefix(dirname), None) |
| OLD | NEW |