Exemplo n.º 1
0
 def test_job_no_build(self, mock_jenkins):
     unbuilt_job = {
         u'inQueue': False,
         u'queueItem': None,
         u'lastSuccessfulBuild': None,
         u'lastCompletedBuild': None,
         u'lastBuild': None,
         u'color': u'notbuilt'
     }
     self.mock_client.get_job_info.return_value = unbuilt_job
     mock_jenkins.return_value = self.mock_client
     with self.assertRaises(Exception):
         cabot_jenkins.get_job_status(self.mock_config, 'job-unbuilt')
Exemplo n.º 2
0
 def test_job_no_build(self, mock_jenkins):
     unbuilt_job = {
         u'inQueue': False,
         u'queueItem': None,
         u'lastSuccessfulBuild': None,
         u'lastCompletedBuild': None,
         u'lastBuild': None,
         u'color': u'notbuilt'
     }
     self.mock_client.get_job_info.return_value = unbuilt_job
     mock_jenkins.return_value = self.mock_client
     with self.assertRaises(Exception):
         cabot_jenkins.get_job_status(self.mock_config, 'job-unbuilt')
Exemplo n.º 3
0
 def test_job_no_good_build(self, mock_jenkins):
     self.mock_client.get_job_info.return_value = {
         u'inQueue': False,
         u'queueItem': None,
         u'lastSuccessfulBuild': None,
         u'lastCompletedBuild': {
             u'number': 1,
         },
         u'lastBuild': {
             u'number': 1,
         },
         u'color': u'red'
     }
     self.mock_client.get_build_info.return_value = {
         u'number': 1,
         u'result': u'FAILURE'
     }
     mock_jenkins.return_value = self.mock_client
     status = cabot_jenkins.get_job_status(self.mock_config,
                                           'job-no-good-build')
     expected = {
         'active': True,
         'succeeded': False,
         'job_number': 1,
         'blocked_build_time': None,
         'consecutive_failures': 1,
         'status_code': 200
     }
     self.assertEqual(status, expected)
Exemplo n.º 4
0
 def test_job_no_good_build(self, mock_jenkins):
     self.mock_client.get_job_info.return_value = {
         u'inQueue': False,
         u'queueItem': None,
         u'lastSuccessfulBuild': None,
         u'lastCompletedBuild': {
             u'number': 1,
         },
         u'lastBuild': {
             u'number': 1,
         },
         u'color': u'red'
     }
     self.mock_client.get_build_info.return_value = {
         u'number': 1,
         u'result': u'FAILURE'
     }
     mock_jenkins.return_value = self.mock_client
     status = cabot_jenkins.get_job_status(self.mock_config, 'job-no-good-build')
     expected = {
         'active': True,
         'succeeded': False,
         'job_number': 1,
         'blocked_build_time': None,
         'consecutive_failures': 1,
         'status_code': 200
     }
     self.assertEqual(status, expected)
Exemplo n.º 5
0
    def test_job_passing(self, mock_jenkins):
        mock_jenkins.return_value = self.mock_client

        status = cabot_jenkins.get_job_status(self.mock_config, 'foo')

        expected = {
            'active': True,
            'succeeded': True,
            'job_number': 12,
            'blocked_build_time': None,
            'status_code': 200
        }
        self.assertEqual(status, expected)
Exemplo n.º 6
0
    def test_job_passing(self, mock_jenkins):
        mock_jenkins.return_value = self.mock_client

        status = cabot_jenkins.get_job_status(self.mock_config, 'foo')

        expected = {
            'active': True,
            'succeeded': True,
            'job_number': 12,
            'blocked_build_time': None,
            'status_code': 200
        }
        self.assertEqual(status, expected)
Exemplo n.º 7
0
    def test_job_unknown(self, mock_jenkins):
        self.mock_client.get_job_info.side_effect = jenkins.NotFoundException()
        mock_jenkins.return_value = self.mock_client

        status = cabot_jenkins.get_job_status(self.mock_config, 'unknown-job')

        expected = {
            'active': None,
            'succeeded': None,
            'job_number': None,
            'blocked_build_time': None,
            'status_code': 404
        }
        self.assertEqual(status, expected)
Exemplo n.º 8
0
    def test_job_unknown(self, mock_jenkins):
        self.mock_client.get_job_info.side_effect = jenkins.NotFoundException()
        mock_jenkins.return_value = self.mock_client

        status = cabot_jenkins.get_job_status(self.mock_config, 'unknown-job')

        expected = {
            'active': None,
            'succeeded': None,
            'job_number': None,
            'blocked_build_time': None,
            'status_code': 404
        }
        self.assertEqual(status, expected)
Exemplo n.º 9
0
    def test_job_failing(self, mock_jenkins):
        mock_jenkins.return_value = self.mock_client

        self.mock_build.is_good.return_value = False
        self.mock_job.is_queued.return_value = False

        status = jenkins.get_job_status(self.mock_config, 'foo')

        expected = {
            'active': True,
            'succeeded': False,
            'job_number': 12,
            'blocked_build_time': None,
            'status_code': 200
        }
        self.assertEqual(status, expected)
Exemplo n.º 10
0
    def test_job_failing(self, mock_jenkins):
        mock_jenkins.return_value = self.mock_client

        self.build[u'result'] = u'FAILURE'
        self.job[u'lastSuccessfulBuild'] = {
            u'number': 11,
            u'result': u'SUCCESS'
        }

        status = cabot_jenkins.get_job_status(self.mock_config, 'foo')

        expected = {
            'active': True,
            'succeeded': False,
            'job_number': 12,
            'blocked_build_time': None,
            'consecutive_failures': 1,
            'status_code': 200
        }
        self.assertEqual(status, expected)
Exemplo n.º 11
0
    def test_job_failing(self, mock_jenkins):
        mock_jenkins.return_value = self.mock_client

        self.build[u'result'] = u'FAILURE'
        self.job[u'lastSuccessfulBuild'] = {
            u'number': 11,
            u'result': u'SUCCESS'
        }

        status = cabot_jenkins.get_job_status(self.mock_config, 'foo')

        expected = {
            'active': True,
            'succeeded': False,
            'job_number': 12,
            'blocked_build_time': None,
            'consecutive_failures': 1,
            'status_code': 200
        }
        self.assertEqual(status, expected)
Exemplo n.º 12
0
    def test_job_queued(self, mock_jenkins):
        mock_jenkins.return_value = self.mock_client

        self.mock_build.is_good.return_value = True
        self.mock_job.is_queued.return_value = True
        self.mock_job._data = {
            'queueItem': {
                'inQueueSince': float(timezone.now().strftime('%s')) * 1000
            }
        }
        with freeze_time(timezone.now() + timedelta(minutes=10)):
            status = jenkins.get_job_status(self.mock_config, 'foo')

        expected = {
            'active': True,
            'succeeded': True,
            'job_number': 12,
            'blocked_build_time': 600,
            'status_code': 200
        }
        self.assertEqual(status, expected)
Exemplo n.º 13
0
    def test_job_queued_last_failed(self, mock_jenkins):
        mock_jenkins.return_value = self.mock_client
        self.job[u'lastBuild'] = {u'number': 13}
        self.job[u'inQueue'] = True
        self.job['queueItem'] = {
            'inQueueSince': float(timezone.now().strftime('%s')) * 1000
        }
        self.build[u'result'] = u'FAILURE'

        with freeze_time(timezone.now() + timedelta(minutes=10)):
            status = cabot_jenkins.get_job_status(self.mock_config, 'foo')

        expected = {
            'active': True,
            'succeeded': False,
            'job_number': 12,
            'queued_job_number': 13,
            'blocked_build_time': 600,
            'status_code': 200
        }
        self.assertEqual(status, expected)
Exemplo n.º 14
0
    def test_job_queued_last_failed(self, mock_jenkins):
        mock_jenkins.return_value = self.mock_client
        self.job[u'lastBuild'] = {u'number': 13}
        self.job[u'inQueue'] = True
        self.job['queueItem'] = {
            'inQueueSince': float(timezone.now().strftime('%s')) * 1000
        }
        self.build[u'result'] = u'FAILURE'

        with freeze_time(timezone.now() + timedelta(minutes=10)):
            status = cabot_jenkins.get_job_status(self.mock_config, 'foo')

        expected = {
            'active': True,
            'succeeded': False,
            'job_number': 12,
            'queued_job_number': 13,
            'blocked_build_time': 600,
            'status_code': 200
        }
        self.assertEqual(status, expected)