Пример #1
0
    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']))
Пример #2
0
    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']))
Пример #3
0
    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']))
Пример #5
0
    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']))
Пример #7
0
 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]))