OLD | NEW |
1 #!/usr/bin/python | 1 #!/usr/bin/python |
2 # Copyright (c) 2009 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2009 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 # Local imports | 8 # Local imports |
9 import gcl | 9 import gcl |
10 from super_mox import mox, SuperMoxTestBase | 10 from super_mox import mox, SuperMoxTestBase |
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
153 class ChangeInfoUnittest(GclTestsBase): | 153 class ChangeInfoUnittest(GclTestsBase): |
154 def setUp(self): | 154 def setUp(self): |
155 GclTestsBase.setUp(self) | 155 GclTestsBase.setUp(self) |
156 self.mox.StubOutWithMock(gcl, 'GetChangelistInfoFile') | 156 self.mox.StubOutWithMock(gcl, 'GetChangelistInfoFile') |
157 self.mox.StubOutWithMock(gcl, 'GetRepositoryRoot') | 157 self.mox.StubOutWithMock(gcl, 'GetRepositoryRoot') |
158 | 158 |
159 def testChangeInfoMembers(self): | 159 def testChangeInfoMembers(self): |
160 self.mox.ReplayAll() | 160 self.mox.ReplayAll() |
161 members = [ | 161 members = [ |
162 'CloseIssue', 'Delete', 'GetFiles', 'GetFileNames', 'GetLocalRoot', | 162 'CloseIssue', 'Delete', 'GetFiles', 'GetFileNames', 'GetLocalRoot', |
163 'Exists', 'Load', 'MissingTests', 'Save', 'UpdateRietveldDescription', | 163 'Exists', 'Load', 'MissingTests', 'NeedsUpload', 'Save', |
164 'description', 'issue', 'name', | 164 'UpdateRietveldDescription', 'description', 'issue', 'name', |
165 'patch', 'patchset', | 165 'needs_upload', 'patch', 'patchset', |
166 ] | 166 ] |
167 # If this test fails, you should add the relevant test. | 167 # If this test fails, you should add the relevant test. |
168 self.compareMembers(gcl.ChangeInfo('', 0, 0, '', None, self.fake_root_dir), | 168 self.compareMembers(gcl.ChangeInfo('', 0, 0, '', None, self.fake_root_dir), |
169 members) | 169 members) |
170 | 170 |
171 def testChangeInfoBase(self): | 171 def testChangeInfoBase(self): |
172 files = [('M', 'foo'), ('A', 'bar')] | 172 files = [('M', 'foo'), ('A', 'bar')] |
173 self.mox.ReplayAll() | 173 self.mox.ReplayAll() |
174 o = gcl.ChangeInfo('name2', '42', '53', 'description2', files, | 174 o = gcl.ChangeInfo('name2', '42', '53', 'description2', files, |
175 self.fake_root_dir) | 175 self.fake_root_dir) |
176 self.assertEquals(o.name, 'name2') | 176 self.assertEquals(o.name, 'name2') |
177 self.assertEquals(o.issue, 42) | 177 self.assertEquals(o.issue, 42) |
178 self.assertEquals(o.patchset, 53) | 178 self.assertEquals(o.patchset, 53) |
179 self.assertEquals(o.description, 'description2') | 179 self.assertEquals(o.description, 'description2') |
180 self.assertEquals(o.patch, None) | 180 self.assertEquals(o.patch, None) |
181 self.assertEquals(o.GetFileNames(), ['foo', 'bar']) | 181 self.assertEquals(o.GetFileNames(), ['foo', 'bar']) |
182 self.assertEquals(o.GetFiles(), files) | 182 self.assertEquals(o.GetFiles(), files) |
183 self.assertEquals(o.GetLocalRoot(), self.fake_root_dir) | 183 self.assertEquals(o.GetLocalRoot(), self.fake_root_dir) |
184 | 184 |
185 def testLoadWithIssue(self): | 185 def testLoadWithIssue(self): |
186 description = ["This is some description.", "force an extra separator."] | 186 description = ["This is some description.", "force an extra separator."] |
187 gcl.GetChangelistInfoFile('bleh').AndReturn('bleeeh') | 187 gcl.GetChangelistInfoFile('bleh').AndReturn('bleeeh') |
188 gcl.os.path.exists('bleeeh').AndReturn(True) | 188 gcl.os.path.exists('bleeeh').AndReturn(True) |
189 gcl.ReadFile('bleeeh').AndReturn( | 189 gcl.ReadFile('bleeeh').AndReturn( |
190 gcl.ChangeInfo._SEPARATOR.join(["42,53", "G b.cc"] + description)) | 190 gcl.ChangeInfo._SEPARATOR.join(["42, 53", "G b.cc"] + description)) |
191 self.mox.ReplayAll() | 191 self.mox.ReplayAll() |
192 | 192 |
193 change_info = gcl.ChangeInfo.Load('bleh', self.fake_root_dir, True, False) | 193 change_info = gcl.ChangeInfo.Load('bleh', self.fake_root_dir, True, False) |
194 self.assertEquals(change_info.name, 'bleh') | 194 self.assertEquals(change_info.name, 'bleh') |
195 self.assertEquals(change_info.issue, 42) | 195 self.assertEquals(change_info.issue, 42) |
196 self.assertEquals(change_info.patchset, 53) | 196 self.assertEquals(change_info.patchset, 53) |
197 self.assertEquals(change_info.description, | 197 self.assertEquals(change_info.description, |
198 gcl.ChangeInfo._SEPARATOR.join(description)) | 198 gcl.ChangeInfo._SEPARATOR.join(description)) |
199 self.assertEquals(change_info.GetFiles(), [('G ', 'b.cc')]) | 199 self.assertEquals(change_info.GetFiles(), [('G ', 'b.cc')]) |
200 | 200 |
201 def testLoadEmpty(self): | 201 def testLoadEmpty(self): |
202 gcl.GetChangelistInfoFile('bleh').AndReturn('bleeeh') | 202 gcl.GetChangelistInfoFile('bleh').AndReturn('bleeeh') |
203 gcl.os.path.exists('bleeeh').AndReturn(True) | 203 gcl.os.path.exists('bleeeh').AndReturn(True) |
204 gcl.ReadFile('bleeeh').AndReturn( | 204 gcl.ReadFile('bleeeh').AndReturn( |
205 gcl.ChangeInfo._SEPARATOR.join(["", "", ""])) | 205 gcl.ChangeInfo._SEPARATOR.join(["", "", ""])) |
206 self.mox.ReplayAll() | 206 self.mox.ReplayAll() |
207 | 207 |
208 change_info = gcl.ChangeInfo.Load('bleh', self.fake_root_dir, True, False) | 208 change_info = gcl.ChangeInfo.Load('bleh', self.fake_root_dir, True, False) |
209 self.assertEquals(change_info.name, 'bleh') | 209 self.assertEquals(change_info.name, 'bleh') |
210 self.assertEquals(change_info.issue, 0) | 210 self.assertEquals(change_info.issue, 0) |
211 self.assertEquals(change_info.patchset, 0) | 211 self.assertEquals(change_info.patchset, 0) |
212 self.assertEquals(change_info.description, "") | 212 self.assertEquals(change_info.description, "") |
213 self.assertEquals(change_info.GetFiles(), []) | 213 self.assertEquals(change_info.GetFiles(), []) |
214 | 214 |
215 def testSaveEmpty(self): | 215 def testSaveEmpty(self): |
216 gcl.GetChangelistInfoFile('').AndReturn('foo') | 216 gcl.GetChangelistInfoFile('').AndReturn('foo') |
217 gcl.WriteFile('foo', gcl.ChangeInfo._SEPARATOR.join(['0, 0', '', ''])) | 217 gcl.WriteFile('foo', gcl.ChangeInfo._SEPARATOR.join(['0, 0, clean', '', |
| 218 ''])) |
218 self.mox.ReplayAll() | 219 self.mox.ReplayAll() |
219 | 220 |
220 change_info = gcl.ChangeInfo('', 0, 0, '', None, self.fake_root_dir) | 221 change_info = gcl.ChangeInfo('', 0, 0, '', None, self.fake_root_dir) |
221 change_info.Save() | 222 change_info.Save() |
222 | 223 |
| 224 def testSaveDirty(self): |
| 225 gcl.GetChangelistInfoFile('').AndReturn('foo') |
| 226 gcl.WriteFile('foo', gcl.ChangeInfo._SEPARATOR.join(['0, 0, dirty', '', |
| 227 ''])) |
| 228 self.mox.ReplayAll() |
| 229 |
| 230 change_info = gcl.ChangeInfo('', 0, 0, '', None, self.fake_root_dir, |
| 231 needs_upload=True) |
| 232 change_info.Save() |
| 233 |
223 | 234 |
224 class UploadCLUnittest(GclTestsBase): | 235 class UploadCLUnittest(GclTestsBase): |
225 def setUp(self): | 236 def setUp(self): |
226 GclTestsBase.setUp(self) | 237 GclTestsBase.setUp(self) |
227 self.mox.StubOutWithMock(gcl, 'DoPresubmitChecks') | 238 self.mox.StubOutWithMock(gcl, 'DoPresubmitChecks') |
228 self.mox.StubOutWithMock(gcl, 'GenerateDiff') | 239 self.mox.StubOutWithMock(gcl, 'GenerateDiff') |
229 self.mox.StubOutWithMock(gcl, 'GetCodeReviewSetting') | 240 self.mox.StubOutWithMock(gcl, 'GetCodeReviewSetting') |
230 self.mox.StubOutWithMock(gcl, 'GetRepositoryRoot') | 241 self.mox.StubOutWithMock(gcl, 'GetRepositoryRoot') |
231 self.mox.StubOutWithMock(gcl, 'SendToRietveld') | 242 self.mox.StubOutWithMock(gcl, 'SendToRietveld') |
232 self.mox.StubOutWithMock(gcl, 'TryChange') | 243 self.mox.StubOutWithMock(gcl, 'TryChange') |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
340 self.mox.ReplayAll() | 351 self.mox.ReplayAll() |
341 | 352 |
342 gcl.UploadCL(change_info, args) | 353 gcl.UploadCL(change_info, args) |
343 self.assertEquals(change_info.issue, 1) | 354 self.assertEquals(change_info.issue, 1) |
344 self.assertEquals(change_info.patchset, 2) | 355 self.assertEquals(change_info.patchset, 2) |
345 | 356 |
346 | 357 |
347 if __name__ == '__main__': | 358 if __name__ == '__main__': |
348 import unittest | 359 import unittest |
349 unittest.main() | 360 unittest.main() |
OLD | NEW |