def test_with_two_valid_issues(self, mock1, mock2): ''' A commit with two issues with correct labels ''' # Mock the commit message mock1.return_value = ( 'This is a test commit\n\n' 'Fixes: #1234\n' 'Updates: #4567') commit_msg = commit.get_commit_message() c = commit.CommitHandler('glusterfs') issues = c.parse_commit_message(commit_msg) self.assertEqual(issues, [{ 'id': '1234', 'status': 'Fixes' }, { 'id': '4567', 'status': 'Updates' }] ) # Handle a valid issue mock2.side_effect = None ghub = handle_github.GitHubHandler('glusterfs', True) ghub.ghub = Mock(name='mockedgithub') label1 = Mock(name='mockedlabel') label1.name = 'SpecApproved' label2 = Mock(name='mockedlabel') label2.name = 'DocApproved' ghub.ghub.issue.return_value.labels = [label1, label2] for issue in issues: self.assertTrue(ghub.check_issue(issue['id']))
def test_with_two_closed_issues(self, mock1, mock2): ''' A commit with two closed issues ''' # Mock the commit message mock1.return_value = ( 'This is a test commit\n\n' 'Fixes: #1234\n' 'Updates: #4567') commit_msg = commit.get_commit_message() c = commit.CommitHandler('glusterfs') issues = c.parse_commit_message(commit_msg) self.assertEqual(issues, [{ 'id': '1234', 'status': 'Fixes' }, { 'id': '4567', 'status': 'Updates' }]) # Handle a valid issue mock2.side_effect = None ghub = handle_github.GitHubHandler('glusterfs', True) ghub.ghub = Mock(name='mockedgithub') ghub.ghub.issue.return_value.is_closed.return_value = True for issue in issues: self.assertFalse(ghub.check_issue(issue['id']))
def test_with_two_invalid_issues(self, mock1, mock2): ''' A commit with two issues with incorrect labels ''' # Mock the commit message mock1.return_value = ('This is a test commit\n\n' 'Fixes: #1234\n' 'Updates: #4567') commit_msg = commit.get_commit_message() c = commit.CommitHandler('glusterfs') issues = c.parse_commit_message(commit_msg) self.assertListEqual(issues, ['1234', '4567']) # Handle a valid issue mock2.side_effect = None ghub = handle_github.GitHubHandler('glusterfs', True) with MagicMock(name='mockedgithub') as m: ghub.ghub = m label = Mock(name='mockedlabel') label.name = 'SpecApproved' ghub.ghub.issue.return_value.labels = [label] self.assertFalse(ghub.check_issue(issues[0])) with MagicMock(name='mockedgithub') as m: ghub.ghub = m label2 = Mock(name='mockedlabel') label2.name = 'DocApproved' ghub.ghub.issue.return_value.labels = [label2] self.assertFalse(ghub.check_issue(issues[1]))
def test_with_closed_issue(self, mock1, mock2): ''' A commit with closed issue ''' # Mock the commit message mock1.return_value = ('This is a test commit\n\n' 'Fixes: #1234\n') commit_msg = commit.get_commit_message() c = commit.CommitHandler('glusterfs') issues = c.parse_commit_message(commit_msg) self.assertEqual(issues[0]['id'], '1234') # Handle a valid issue mock2.side_effect = None ghub = handle_github.GitHubHandler('glusterfs', True) ghub.ghub = Mock(name='mockedgithub') ghub.ghub.issue.return_value.is_closed.return_value = True self.assertFalse(ghub.check_issue(issues[0]['id']))
def test_with_nonexistent(self, mock1, mock2): ''' A commit with a non-existing issue ''' # Mock the commit message mock1.return_value = ('This is a test commit with\n\n' 'Fixes: #123456\n') commit_msg = commit.get_commit_message() c = commit.CommitHandler('glusterfs') issues = c.parse_commit_message(commit_msg) self.assertListEqual(issues, ['123456']) # Handle a valid issue mock2.side_effect = None ghub = handle_github.GitHubHandler('glusterfs', True) ghub.ghub = Mock(name='mockedgithub') ghub.ghub.issue.return_value = None self.assertFalse(ghub.check_issue(issues[0]))
def test_with_valid_bug_fix_issue(self, mock1, mock2): ''' A commit with an existing issue with correct labels ''' # Mock the commit message mock1.return_value = ('This is a test commit\n\n' 'Fixes: #1234\n') commit_msg = commit.get_commit_message() c = commit.CommitHandler('glusterfs') issues = c.parse_commit_message(commit_msg) self.assertEqual(issues[0]['id'], '1234') # Handle a valid issue mock2.side_effect = None ghub = handle_github.GitHubHandler('glusterfs', True) ghub.ghub = Mock(name='mockedgithub') label1 = Mock(name='mockedlabel') label1.name = 'Type:Bug' ghub.ghub.issue.return_value.labels = [label1] self.assertTrue(ghub.check_issue(issues[0]['id']))
def test_commit_with_exp_branch_issue(self, mock, mock2): ''' A commit in the experimental branch ''' # Mock the commit message mock.return_value = ('This is a test commit\n\n' 'Fixes: #1234\n') commit_msg = commit.get_commit_message() c = commit.CommitHandler('glusterfs') issues = c.parse_commit_message(commit_msg) self.assertListEqual(issues, ['1234']) # Handle a valid issue mock2.side_effect = None ghub = handle_github.GitHubHandler('glusterfs', True) with MagicMock(name='mockedgithub') as m: ghub.ghub = m label = Mock(name='mockedlabel') label.name = 'SpecApproved' ghub.ghub.issue.return_value.labels = [label] ghub.branch = 'experimental' self.assertTrue(ghub.check_issue(issues[0]))