| Index: tests/gcl_unittest.py
|
| diff --git a/tests/gcl_unittest.py b/tests/gcl_unittest.py
|
| index dd499e4cc77947710a6d84db64470b6ba49bbfe0..2e9b3bea0efe67019c86eeb5341c21807d750e46 100755
|
| --- a/tests/gcl_unittest.py
|
| +++ b/tests/gcl_unittest.py
|
| @@ -48,10 +48,10 @@ class GclUnittest(GclTestsBase):
|
| 'GetFilesNotInCL', 'GetInfoDir', 'GetIssueDescription',
|
| 'GetModifiedFiles', 'GetRepositoryRoot',
|
| 'GetSVNFileProperty', 'Help', 'IGNORE_PATHS', 'IsSVNMoved',
|
| - 'Lint', 'LoadChangelistInfo', 'LoadChangelistInfoForMultiple',
|
| + 'Lint', 'LoadChangelistInfoForMultiple',
|
| 'MISSING_TEST_MSG', 'Opened', 'PresubmitCL', 'ReadFile',
|
| 'REPOSITORY_ROOT', 'RunShell',
|
| - 'RunShellWithReturnCode', 'SEPARATOR', 'SendToRietveld', 'TryChange',
|
| + 'RunShellWithReturnCode', 'SendToRietveld', 'TryChange',
|
| 'UnknownFiles', 'UploadCL', 'Warn', 'WriteFile',
|
| 'gclient', 'getpass', 'main', 'os', 'random', 're',
|
| 'shutil', 'string', 'subprocess', 'sys', 'tempfile',
|
| @@ -95,25 +95,71 @@ class GclUnittest(GclTestsBase):
|
|
|
|
|
| class ChangeInfoUnittest(GclTestsBase):
|
| + def setUp(self):
|
| + GclTestsBase.setUp(self)
|
| + self.mox.StubOutWithMock(gcl, 'GetChangelistInfoFile')
|
| + self.mox.StubOutWithMock(gcl.os.path, 'exists')
|
| + self.mox.StubOutWithMock(gcl, 'ReadFile')
|
| + self.mox.StubOutWithMock(gcl, 'WriteFile')
|
| +
|
| def testChangeInfoMembers(self):
|
| members = [
|
| - 'CloseIssue', 'Delete', 'FileList', 'MissingTests', 'Save',
|
| + 'CloseIssue', 'Delete', 'FileList', 'Load', 'MissingTests', 'Save',
|
| 'UpdateRietveldDescription', 'description', 'files', 'issue', 'name',
|
| - 'patch'
|
| + 'patch', 'patchset',
|
| ]
|
| # If this test fails, you should add the relevant test.
|
| - self.compareMembers(gcl.ChangeInfo(), members)
|
| + self.compareMembers(gcl.ChangeInfo('', 0, 0, '', None), members)
|
|
|
| def testChangeInfoBase(self):
|
| files = [('M', 'foo'), ('A', 'bar')]
|
| - o = gcl.ChangeInfo('name2', 'issue2', 'description2', files)
|
| + self.mox.ReplayAll()
|
| + o = gcl.ChangeInfo('name2', '42', '53', 'description2', files)
|
| self.assertEquals(o.name, 'name2')
|
| - self.assertEquals(o.issue, 'issue2')
|
| + self.assertEquals(o.issue, 42)
|
| + self.assertEquals(o.patchset, 53)
|
| self.assertEquals(o.description, 'description2')
|
| self.assertEquals(o.files, files)
|
| self.assertEquals(o.patch, None)
|
| self.assertEquals(o.FileList(), ['foo', 'bar'])
|
|
|
| + def testLoadWithIssue(self):
|
| + description = ["This is some description.", "force an extra separator."]
|
| + gcl.GetChangelistInfoFile('bleh').AndReturn('bleeeh')
|
| + gcl.os.path.exists('bleeeh').AndReturn(True)
|
| + gcl.ReadFile('bleeeh').AndReturn(
|
| + gcl.ChangeInfo._SEPARATOR.join(["42,53", "G b.cc"] + description))
|
| + self.mox.ReplayAll()
|
| +
|
| + change_info = gcl.ChangeInfo.Load('bleh', True, False)
|
| + self.assertEquals(change_info.name, 'bleh')
|
| + self.assertEquals(change_info.issue, 42)
|
| + self.assertEquals(change_info.patchset, 53)
|
| + self.assertEquals(change_info.description,
|
| + gcl.ChangeInfo._SEPARATOR.join(description))
|
| + self.assertEquals(change_info.files, [('G ', 'b.cc')])
|
| +
|
| + def testLoadEmpty(self):
|
| + gcl.GetChangelistInfoFile('bleh').AndReturn('bleeeh')
|
| + gcl.os.path.exists('bleeeh').AndReturn(True)
|
| + gcl.ReadFile('bleeeh').AndReturn(
|
| + gcl.ChangeInfo._SEPARATOR.join(["", "", ""]))
|
| + self.mox.ReplayAll()
|
| +
|
| + change_info = gcl.ChangeInfo.Load('bleh', True, False)
|
| + self.assertEquals(change_info.name, 'bleh')
|
| + self.assertEquals(change_info.issue, 0)
|
| + self.assertEquals(change_info.patchset, 0)
|
| + self.assertEquals(change_info.description, "")
|
| + self.assertEquals(change_info.files, [])
|
| +
|
| + def testSaveEmpty(self):
|
| + gcl.GetChangelistInfoFile('').AndReturn('foo')
|
| + gcl.WriteFile('foo', gcl.ChangeInfo._SEPARATOR.join(['0, 0', '', '']))
|
| + self.mox.ReplayAll()
|
| + change_info = gcl.ChangeInfo('', 0, 0, '', None)
|
| + change_info.Save()
|
| +
|
|
|
| class UploadCLUnittest(GclTestsBase):
|
| def setUp(self):
|
| @@ -132,9 +178,9 @@ class UploadCLUnittest(GclTestsBase):
|
| self.mox.StubOutWithMock(gcl, 'TryChange')
|
|
|
| def testNew(self):
|
| - change_info = gcl.ChangeInfo('naame', 'iissue', 'deescription',
|
| + change_info = gcl.ChangeInfo('naame', 1, 0, 'deescription',
|
| ['aa', 'bb'])
|
| - change_info.Save = self.mox.CreateMockAnything()
|
| + self.mox.StubOutWithMock(change_info, 'Save')
|
| args = ['--foo=bar']
|
| change_info.Save()
|
| gcl.DoPresubmitChecks(change_info, committing=False).AndReturn(True)
|
| @@ -143,19 +189,17 @@ class UploadCLUnittest(GclTestsBase):
|
| gcl.os.chdir(gcl.GetRepositoryRoot().AndReturn(None))
|
| gcl.GenerateDiff(change_info.FileList())
|
| gcl.upload.RealMain(['upload.py', '-y', '--server=my_server', '--foo=bar',
|
| - "--message=''", '--issue=iissue'], change_info.patch).AndReturn(("1",
|
| - "2"))
|
| + "--message=''", '--issue=1'], change_info.patch).AndReturn(("1",
|
| + "2"))
|
| gcl.SendToRietveld("/lint/issue%s_%s" % ('1', '2'), timeout=0.5)
|
| gcl.GetCodeReviewSetting('TRY_ON_UPLOAD').AndReturn('True')
|
| - gcl.TryChange(change_info,
|
| - ['--issue', '1', '--patchset', '2'],
|
| - swallow_exception=True)
|
| + gcl.TryChange(change_info, [], swallow_exception=True)
|
| gcl.os.chdir('somewhere')
|
| self.mox.ReplayAll()
|
| gcl.UploadCL(change_info, args)
|
|
|
| def testServerOverride(self):
|
| - change_info = gcl.ChangeInfo('naame', '', 'deescription',
|
| + change_info = gcl.ChangeInfo('naame', 0, 0, 'deescription',
|
| ['aa', 'bb'])
|
| change_info.Save = self.mox.CreateMockAnything()
|
| args = ['--server=a']
|
| @@ -179,7 +223,7 @@ class UploadCLUnittest(GclTestsBase):
|
| gcl.UploadCL(change_info, args)
|
|
|
| def testNoTry(self):
|
| - change_info = gcl.ChangeInfo('naame', '', 'deescription',
|
| + change_info = gcl.ChangeInfo('naame', 0, 0, 'deescription',
|
| ['aa', 'bb'])
|
| change_info.Save = self.mox.CreateMockAnything()
|
| args = ['--no-try']
|
| @@ -203,7 +247,7 @@ class UploadCLUnittest(GclTestsBase):
|
| gcl.UploadCL(change_info, args)
|
|
|
| def testNormal(self):
|
| - change_info = gcl.ChangeInfo('naame', '', 'deescription',
|
| + change_info = gcl.ChangeInfo('naame', 0, 0, 'deescription',
|
| ['aa', 'bb'])
|
| self.mox.StubOutWithMock(change_info, 'Save')
|
| args = []
|
| @@ -223,12 +267,13 @@ class UploadCLUnittest(GclTestsBase):
|
| gcl.os.remove('descfile')
|
| gcl.SendToRietveld("/lint/issue%s_%s" % ('1', '2'), timeout=0.5)
|
| gcl.GetCodeReviewSetting('TRY_ON_UPLOAD').AndReturn('True')
|
| - gcl.TryChange(change_info,
|
| - ['--issue', '1', '--patchset', '2'],
|
| - swallow_exception=True)
|
| + gcl.TryChange(change_info, [], swallow_exception=True)
|
| gcl.os.chdir('somewhere')
|
| self.mox.ReplayAll()
|
| +
|
| gcl.UploadCL(change_info, args)
|
| + self.assertEquals(change_info.issue, 1)
|
| + self.assertEquals(change_info.patchset, 2)
|
|
|
|
|
| if __name__ == '__main__':
|
|
|