| OLD | NEW |
| 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 mock | 5 import mock |
| 6 | 6 |
| 7 from dashboard.common import namespaced_stored_object | 7 from dashboard.common import namespaced_stored_object |
| 8 from dashboard.common import testing_common | 8 from dashboard.common import testing_common |
| 9 from dashboard.pinpoint.models.change import change | 9 from dashboard.pinpoint.models.change import change |
| 10 from dashboard.pinpoint.models.change import commit | 10 from dashboard.pinpoint.models.change import commit |
| (...skipping 20 matching lines...) Expand all Loading... |
| 31 _CATAPULT_URL: 'catapult', | 31 _CATAPULT_URL: 'catapult', |
| 32 _CHROMIUM_URL: 'chromium', | 32 _CHROMIUM_URL: 'chromium', |
| 33 }) | 33 }) |
| 34 | 34 |
| 35 | 35 |
| 36 class ChangeTest(_ChangeTest): | 36 class ChangeTest(_ChangeTest): |
| 37 | 37 |
| 38 def testChange(self): | 38 def testChange(self): |
| 39 base_commit = commit.Commit('chromium', 'aaa7336c821888839f759c6c0a36b56c') | 39 base_commit = commit.Commit('chromium', 'aaa7336c821888839f759c6c0a36b56c') |
| 40 dep = commit.Commit('catapult', 'e0a2efbb3d1a81aac3c90041eefec24f066d26ba') | 40 dep = commit.Commit('catapult', 'e0a2efbb3d1a81aac3c90041eefec24f066d26ba') |
| 41 p = patch.Patch('https://codereview.chromium.org', 2565263002, 20001) | 41 p = patch.GerritPatch('https://codereview.com', 672011, '2f0d5c7') |
| 42 | 42 |
| 43 # Also test the deps conversion to frozenset. | 43 # Also test the deps conversion to frozenset. |
| 44 c = change.Change([base_commit, dep], p) | 44 c = change.Change([base_commit, dep], p) |
| 45 | 45 |
| 46 self.assertEqual(c, change.Change((base_commit, dep), p)) | 46 self.assertEqual(c, change.Change((base_commit, dep), p)) |
| 47 string = ('chromium@aaa7336 catapult@e0a2efb + ' | 47 string = ('chromium@aaa7336 catapult@e0a2efb + ' |
| 48 'https://codereview.chromium.org/2565263002/20001') | 48 'https://codereview.com/672011/2f0d5c7') |
| 49 id_string = ('catapult@e0a2efbb3d1a81aac3c90041eefec24f066d26ba ' | 49 id_string = ('catapult@e0a2efbb3d1a81aac3c90041eefec24f066d26ba ' |
| 50 'chromium@aaa7336c821888839f759c6c0a36b56c + ' | 50 'chromium@aaa7336c821888839f759c6c0a36b56c + ' |
| 51 'https://codereview.chromium.org/2565263002/20001') | 51 'https://codereview.com/672011/2f0d5c7') |
| 52 self.assertEqual(str(c), string) | 52 self.assertEqual(str(c), string) |
| 53 self.assertEqual(c.id_string, id_string) | 53 self.assertEqual(c.id_string, id_string) |
| 54 self.assertEqual(c.base_commit, base_commit) | 54 self.assertEqual(c.base_commit, base_commit) |
| 55 self.assertEqual(c.last_commit, dep) | 55 self.assertEqual(c.last_commit, dep) |
| 56 self.assertEqual(c.deps, (dep,)) | 56 self.assertEqual(c.deps, (dep,)) |
| 57 self.assertEqual(c.commits, (base_commit, dep)) | 57 self.assertEqual(c.commits, (base_commit, dep)) |
| 58 self.assertEqual(c.patch, p) | 58 self.assertEqual(c.patch, p) |
| 59 | 59 |
| 60 def testAsDict(self): | 60 def testAsDict(self): |
| 61 commits = (commit.Commit('chromium', 'aaa7336c82'), | 61 commits = (commit.Commit('chromium', 'aaa7336c82'), |
| 62 commit.Commit('catapult', 'e0a2efbb3d')) | 62 commit.Commit('catapult', 'e0a2efbb3d')) |
| 63 p = patch.Patch('https://codereview.chromium.org', 2565263002, 20001) | 63 p = patch.GerritPatch('https://codereview.com', 672011, '2f0d5c7') |
| 64 c = change.Change(commits, p) | 64 c = change.Change(commits, p) |
| 65 | 65 |
| 66 expected = { | 66 expected = { |
| 67 'commits': [ | 67 'commits': [ |
| 68 { | 68 { |
| 69 'repository': 'chromium', | 69 'repository': 'chromium', |
| 70 'git_hash': 'aaa7336c82', | 70 'git_hash': 'aaa7336c82', |
| 71 'url': _CHROMIUM_URL + '/+/aaa7336c82', | 71 'url': _CHROMIUM_URL + '/+/aaa7336c82', |
| 72 }, | 72 }, |
| 73 { | 73 { |
| 74 'repository': 'catapult', | 74 'repository': 'catapult', |
| 75 'git_hash': 'e0a2efbb3d', | 75 'git_hash': 'e0a2efbb3d', |
| 76 'url': _CATAPULT_URL + '/+/e0a2efbb3d', | 76 'url': _CATAPULT_URL + '/+/e0a2efbb3d', |
| 77 }, | 77 }, |
| 78 ], | 78 ], |
| 79 'patch': { | 79 'patch': { |
| 80 'server': 'https://codereview.chromium.org', | 80 'server': 'https://codereview.com', |
| 81 'issue': 2565263002, | 81 'change': 672011, |
| 82 'patchset': 20001, | 82 'revision': '2f0d5c7', |
| 83 }, | 83 }, |
| 84 } | 84 } |
| 85 self.assertEqual(c.AsDict(), expected) | 85 self.assertEqual(c.AsDict(), expected) |
| 86 | 86 |
| 87 @mock.patch('dashboard.services.gitiles_service.CommitInfo') | 87 @mock.patch('dashboard.services.gitiles_service.CommitInfo') |
| 88 def testFromDictWithJustOneCommit(self, _): | 88 def testFromDictWithJustOneCommit(self, _): |
| 89 c = change.Change.FromDict({ | 89 c = change.Change.FromDict({ |
| 90 'commits': [{'repository': 'chromium', 'git_hash': 'aaa7336'}], | 90 'commits': [{'repository': 'chromium', 'git_hash': 'aaa7336'}], |
| 91 }) | 91 }) |
| 92 | 92 |
| 93 expected = change.Change((commit.Commit('chromium', 'aaa7336'),)) | 93 expected = change.Change((commit.Commit('chromium', 'aaa7336'),)) |
| 94 self.assertEqual(c, expected) | 94 self.assertEqual(c, expected) |
| 95 | 95 |
| 96 @mock.patch('dashboard.services.gerrit_service.GetChange') |
| 96 @mock.patch('dashboard.services.gitiles_service.CommitInfo') | 97 @mock.patch('dashboard.services.gitiles_service.CommitInfo') |
| 97 def testFromDictWithAllFields(self, _): | 98 def testFromDictWithAllFields(self, _, get_change): |
| 99 get_change.return_value = { |
| 100 'id': 'repo~branch~id', |
| 101 'revisions': {'2f0d5c7': {}} |
| 102 } |
| 103 |
| 98 c = change.Change.FromDict({ | 104 c = change.Change.FromDict({ |
| 99 'commits': ( | 105 'commits': ( |
| 100 {'repository': 'chromium', 'git_hash': 'aaa7336'}, | 106 {'repository': 'chromium', 'git_hash': 'aaa7336'}, |
| 101 {'repository': 'catapult', 'git_hash': 'e0a2efb'}, | 107 {'repository': 'catapult', 'git_hash': 'e0a2efb'}, |
| 102 ), | 108 ), |
| 103 'patch': { | 109 'patch': { |
| 104 'server': 'https://codereview.chromium.org', | 110 'server': 'https://codereview.com', |
| 105 'issue': 2565263002, | 111 'change': 672011, |
| 106 'patchset': 20001, | 112 'revision': '2f0d5c7', |
| 107 }, | 113 }, |
| 108 }) | 114 }) |
| 109 | 115 |
| 110 commits = (commit.Commit('chromium', 'aaa7336'), | 116 commits = (commit.Commit('chromium', 'aaa7336'), |
| 111 commit.Commit('catapult', 'e0a2efb')) | 117 commit.Commit('catapult', 'e0a2efb')) |
| 112 p = patch.Patch('https://codereview.chromium.org', 2565263002, 20001) | 118 p = patch.GerritPatch('https://codereview.com', 'repo~branch~id', '2f0d5c7') |
| 113 expected = change.Change(commits, p) | 119 expected = change.Change(commits, p) |
| 114 self.assertEqual(c, expected) | 120 self.assertEqual(c, expected) |
| 115 | 121 |
| 116 | 122 |
| 117 class MidpointTest(_ChangeTest): | 123 class MidpointTest(_ChangeTest): |
| 118 | 124 |
| 119 def setUp(self): | 125 def setUp(self): |
| 120 super(MidpointTest, self).setUp() | 126 super(MidpointTest, self).setUp() |
| 121 | 127 |
| 122 patcher = mock.patch('dashboard.services.gitiles_service.CommitRange') | 128 patcher = mock.patch('dashboard.services.gitiles_service.CommitRange') |
| (...skipping 16 matching lines...) Expand all Loading... |
| 139 if git_hash <= 4: # DEPS roll at chromium@5 | 145 if git_hash <= 4: # DEPS roll at chromium@5 |
| 140 return 'deps = {"chromium/catapult": "%s@0"}' % (_CATAPULT_URL + '.git') | 146 return 'deps = {"chromium/catapult": "%s@0"}' % (_CATAPULT_URL + '.git') |
| 141 else: | 147 else: |
| 142 return 'deps = {"chromium/catapult": "%s@9"}' % _CATAPULT_URL | 148 return 'deps = {"chromium/catapult": "%s@9"}' % _CATAPULT_URL |
| 143 file_contents.side_effect = _FileContents | 149 file_contents.side_effect = _FileContents |
| 144 | 150 |
| 145 def testDifferingPatch(self): | 151 def testDifferingPatch(self): |
| 146 change_a = change.Change((commit.Commit('chromium', '0e57e2b'),)) | 152 change_a = change.Change((commit.Commit('chromium', '0e57e2b'),)) |
| 147 change_b = change.Change( | 153 change_b = change.Change( |
| 148 (commit.Commit('chromium', 'babe852'),), | 154 (commit.Commit('chromium', 'babe852'),), |
| 149 patch=patch.Patch('https://codereview.chromium.org', 2565263002, 20001)) | 155 patch=patch.GerritPatch('https://codereview.com', 672011, '2f0d5c7')) |
| 150 with self.assertRaises(commit.NonLinearError): | 156 with self.assertRaises(commit.NonLinearError): |
| 151 change.Change.Midpoint(change_a, change_b) | 157 change.Change.Midpoint(change_a, change_b) |
| 152 | 158 |
| 153 def testDifferingRepository(self): | 159 def testDifferingRepository(self): |
| 154 change_a = change.Change((commit.Commit('chromium', '0e57e2b'),)) | 160 change_a = change.Change((commit.Commit('chromium', '0e57e2b'),)) |
| 155 change_b = change.Change((commit.Commit('not_chromium', 'babe852'),)) | 161 change_b = change.Change((commit.Commit('not_chromium', 'babe852'),)) |
| 156 with self.assertRaises(commit.NonLinearError): | 162 with self.assertRaises(commit.NonLinearError): |
| 157 change.Change.Midpoint(change_a, change_b) | 163 change.Change.Midpoint(change_a, change_b) |
| 158 | 164 |
| 159 def testDifferingCommitCount(self): | 165 def testDifferingCommitCount(self): |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 204 commit.Commit('catapult', 6))) | 210 commit.Commit('catapult', 6))) |
| 205 self.assertEqual(change.Change.Midpoint(change_a, change_b), expected) | 211 self.assertEqual(change.Change.Midpoint(change_a, change_b), expected) |
| 206 | 212 |
| 207 def testAdjacentWithDepsRollAndDepAlreadyOverridden(self): | 213 def testAdjacentWithDepsRollAndDepAlreadyOverridden(self): |
| 208 change_a = change.Change((commit.Commit('chromium', 4),)) | 214 change_a = change.Change((commit.Commit('chromium', 4),)) |
| 209 change_b = change.Change((commit.Commit('chromium', 5), | 215 change_b = change.Change((commit.Commit('chromium', 5), |
| 210 commit.Commit('catapult', 4))) | 216 commit.Commit('catapult', 4))) |
| 211 expected = change.Change((commit.Commit('chromium', 4), | 217 expected = change.Change((commit.Commit('chromium', 4), |
| 212 commit.Commit('catapult', 2))) | 218 commit.Commit('catapult', 2))) |
| 213 self.assertEqual(change.Change.Midpoint(change_a, change_b), expected) | 219 self.assertEqual(change.Change.Midpoint(change_a, change_b), expected) |
| OLD | NEW |