def test_git_info(self, mocked_git_info): mocked_git_info.return_value = fake_commit_info commit1 = result.Result(self.commit_hash) self.assertEqual(commit1.summary, "summary") self.assertEqual(commit1.subject, "subject") self.assertEqual(commit1.body, "body") self.assertEqual(commit1.url, "url") self.assertEqual(commit1.author, "author") self.assertEqual(commit1.date, None) self.assertEqual(mocked_git_info.call_count, 1)
def test_rank(self): commit1 = result.Result(self.commit_hash) self.assertEqual(0, commit1.rank()) commit1.add_file(git.GitFile('file1', 'M')) self.assertEqual(1, commit1.rank()) commit1.add_file(git.GitFile('file2', 'A')) self.assertEqual(4, commit1.rank()) commit1.lines_added.add('pass') self.assertEqual(7, commit1.rank()) commit1.add_file(git.GitFile('file3', 'M'), line_number=12) self.assertEqual(12, commit1.rank())
def test_lines(self): commit1 = result.Result(self.commit_hash) expected_lines_added = set(['pass', '1+1']) expected_lines_removed = set(['1+2']) commit1.lines_added.add('pass') commit1.lines_added.add('pass') commit1.lines_added.add('1+1') self.assertEqual(expected_lines_added, commit1.lines_added) commit1.lines_removed.add('1+2') commit1.lines_removed.add('1+2') self.assertEqual(expected_lines_removed, commit1.lines_removed)
def test_files(self): commit1 = result.Result(self.commit_hash) expected_files_modified = set(['file1:10', 'file1']) expected_files_added = set(['file2', 'file3']) expected_files_deleted = set(['file4']) commit1.add_file(git.GitFile('file1', 'M'), line_number=10) commit1.add_file(git.GitFile('file1', 'M')) commit1.add_file(git.GitFile('file2', 'A')) commit1.add_file(git.GitFile('file3', 'C')) commit1.add_file(git.GitFile('file4', 'D')) self.assertEqual(expected_files_modified, commit1.files_modified) self.assertEqual(expected_files_added, commit1.files_added) self.assertEqual(expected_files_deleted, commit1.files_deleted)
def test_str_no_url(self, mocked_git_info): mocked_git_info.return_value = "custom", "full", None commit1 = result.Result(self.commit_hash) commit1.add_file(git.GitFile('file1', 'M')) expected = "custom\nFiles Modified:\n - file1\n" self.assertEqual(expected, str(commit1)) commit1.lines_added.add('pass') expected = "custom\nFiles Modified:\n - file1\nLines Added:\n - \"pass\"\n" commit1.lines_removed.add('True') expected = ( "custom\nFiles Modified:\n - file1\nLines Added:\n - \"pass\"\nLines " "Removed:\n - \"True\"\n") self.assertEqual(expected, str(commit1))
def test_str_no_url(self, mocked_git_info): mocked_git_info.return_value = git.CommitInfo('summary', 'subject', 'body', None, 'author', None) commit1 = result.Result(self.commit_hash) commit1.add_file(git.GitFile('file1', 'M')) expected = "summary\nFiles Modified:\n - file1\n" self.assertEqual(expected, str(commit1)) commit1.lines_added.add('pass') expected = "summary\nFiles Modified:\n - file1\nLines Added:\n - \"pass\"\n" commit1.lines_removed.add('True') expected = ( "summary\nFiles Modified:\n - file1\nLines Added:\n - \"pass\"\nLines " "Removed:\n - \"True\"\n") self.assertEqual(expected, str(commit1))
def test_dict(self, mocked_git_info): mocked_git_info.return_value = "custom", "full", "url" commit1 = result.Result(self.commit_hash) commit1.add_file(git.GitFile('file1', 'M')) commit1.add_file(git.GitFile('file2', 'A'), line_number=12) commit1.add_file(git.GitFile('file3', 'D')) commit1.lines_removed.add('True') commit1.lines_added.add('pass') expected = { 'commit': 'hash1', 'files_added': ['file2:12'], 'files_modified': ['file1'], 'files_deleted': ['file3'], 'full': 'full', 'lines_added': ['pass'], 'lines_removed': ['True'], 'custom': 'custom', 'url': 'url' } self.assertEqual(expected, dict(commit1))
def test_str(self, mocked_git_info): mocked_git_info.return_value = fake_commit_info commit1 = result.Result(self.commit_hash) commit1.add_file(git.GitFile('file1', 'M')) expected = "summary\nLink: url\nFiles Modified:\n - file1\n" commit1.add_file(git.GitFile('file2', 'A')) expected = "summary\nLink: url\nFiles Added:\n - file2\nFiles Modified:\n - file1\n" self.assertEqual(expected, str(commit1)) commit1.lines_added.add('pass') expected = ( "summary\nLink: url\nFiles Added:\n - file2\nFiles Modified:\n - " "file1\nLines Added:\n - \"pass\"\n") commit1.lines_removed.add('True') expected = ( "summary\nLink: url\nFiles Added:\n - file2\nFiles Modified:\n - " "file1\nLines Added:\n - \"pass\"\nLines Removed:\n - \"True\"\n" ) commit1.add_file(git.GitFile('file3', 'D'), line_number=11) expected = ( "summary\nLink: url\nFiles Added:\n - file2\nFiles Modified:\n - " "file1\nFiles Deleted:\n - file3:11\nLines Added:\n - " "\"pass\"\nLines Removed:\n - \"True\"\n") self.assertEqual(expected, str(commit1))
def test_dict(self, mocked_git_info): mocked_git_info.return_value = fake_commit_info commit1 = result.Result(self.commit_hash) commit1.add_file(git.GitFile('file1', 'M')) commit1.add_file(git.GitFile('file2', 'A'), line_number=12) commit1.add_file(git.GitFile('file3', 'D')) commit1.lines_removed.add('True') commit1.lines_added.add('pass') expected = { 'commit': 'hash1', 'files_added': ['file2:12'], 'files_modified': ['file1'], 'files_deleted': ['file3'], 'body': 'body', 'date': None, 'author': 'author', 'subject': 'subject', 'lines_added': ['pass'], 'lines_removed': ['True'], 'summary': 'summary', 'url': 'url' } self.assertEqual(expected, dict(commit1))
def test_init_result(self): commit1 = result.Result(self.commit_hash) self.assertEqual(self.commit_hash, commit1.commit) with testtools.ExpectedException(AttributeError): commit1.commit = 'test'