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

Side by Side Diff: tests/gcl_unittest.py

Issue 428001: Avoid losing CL description during Rietveld outage.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools/
Patch Set: '' Created 11 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 | Annotate | Revision Log
« gcl.py ('K') | « gcl.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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()
OLDNEW
« gcl.py ('K') | « gcl.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698