def test_git_file(self): git_file = git.GitFile("file1", "M") self.assertEqual(git_file.filename, "file1") self.assertEqual(git_file.state, git.GitFile.MODIFIED) git_file = git.GitFile("file2", "A") self.assertEqual(git_file.filename, "file2") self.assertEqual(git_file.state, git.GitFile.ADDED)
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_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_sorted_results_inverse(self): results = result.Results() commit1 = results.get_result('hash1') commit1.add_file(git.GitFile('file1', 'M')) commit2 = results.get_result('hash2') expected = [commit1, commit2] self.assertEqual(expected, results.get_sorted_results())
def test_get_sorted_results_by_dict(self, mocked_git_info): mocked_git_info.return_value = fake_commit_info results = result.Results() commit2 = results.get_result('hash2') commit1 = results.get_result('hash1') commit1.add_file(git.GitFile('file1', 'M')) expected = [dict(commit1), dict(commit2)] self.assertEqual(expected, results.get_sorted_results_by_dict())
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_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(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_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_lookup_stacktrace_java(self, mock_line_match, mock_files, mock_files_touched, mock_pickaxe): mock_files_touched.return_value = True mock_line_match.return_value = True traceback = self.get_traceback(java=True) mock_files.return_value = [ 'devdaily/src/main/java/com/devdaily/tests/ExceptionTest.java' ] mock_files_touched.return_value = { 'hash2': [ git.GitFile( 'devdaily/src/main/java/com/devdaily/tests/ExceptionTest.java', 'M') ] } self.assertEqual( 2, api.lookup_stacktrace( traceback, "hash1..hash3", fast=False).get_sorted_results()[0]._line_numbers_matched) self.assertEqual(0, mock_pickaxe.call_count)
def test_results(self): results = result.Results() commit1 = results.get_result('hash1') commit1.add_file(git.GitFile('file1', 'A')) commit2 = results.get_result('hash1') self.assertEqual(commit1, commit2)
def setup_mocks(self, mock_files, mock_files_touched): mock_files_touched.return_value = { 'hash2': [git.GitFile('common/utils/geo_utils.py', 'M')] } mock_files.return_value = ['common/utils/geo_utils.py']
def test_git_file_cmp(self): git_file1 = git.GitFile("file1", "M") git_file = git.GitFile("file1", "A") self.assertEqual(git_file, git_file1) self.assertEqual(git_file, u"file1") self.assertEqual(git_file, "file1")