コード例 #1
0
    def test_on_job_change_with_complete_job(self, mock_cluster_api):
        watcher = JobWatcher(config=Mock())
        watcher.on_job_succeeded = Mock()
        watcher.on_job_failed = Mock()
        job = Mock()
        job.metadata.name = 'job1'
        job.metadata.labels = {
            JobLabels.JOB_ID: '32',
            JobLabels.STEP_TYPE: JobStepTypes.STAGE_DATA,
        }
        job.status.conditions = [Mock(type=JobConditionType.COMPLETE, status="True")]
        watcher.on_job_change({
            'type': EventTypes.MODIFIED,
            'object': job
        })

        watcher.on_job_succeeded.assert_called_with('32', 'stage_data')
        watcher.on_job_failed.assert_not_called()
コード例 #2
0
    def test_on_job_change_missing_labels(self, mock_cluster_api):
        watcher = JobWatcher(config=Mock())
        watcher.on_job_succeeded = Mock()
        watcher.on_job_failed = Mock()
        job = Mock()
        job.metadata.name = 'job1'
        job.metadata.labels = {}
        job.status.conditions = [
            Mock(type=JobConditionType.COMPLETE, status="True"),
            Mock(type=JobConditionType.FAILED, status="True"),
        ]
        watcher.on_job_change({
            'type': EventTypes.ADDED,
            'object': job
        })

        watcher.on_job_succeeded.assert_not_called()
        watcher.on_job_failed.assert_not_called()
コード例 #3
0
    def test_on_job_change_with_ignored_conditions(self, mock_cluster_api):
        watcher = JobWatcher(config=Mock())
        watcher.on_job_succeeded = Mock()
        watcher.on_job_failed = Mock()
        job = Mock()
        job.metadata.name = 'job1'
        job.metadata.labels = {
            JobLabels.JOB_ID: '32',
            JobLabels.STEP_TYPE: JobStepTypes.STAGE_DATA,
        }
        job.status.conditions = [
            Mock(type=JobConditionType.COMPLETE, status="False"),
            Mock(type=JobConditionType.FAILED, status="False"),
            Mock(type="other", status="True"),
        ]
        watcher.on_job_change({
            'type': EventTypes.ADDED,
            'object': job
        })

        watcher.on_job_succeeded.assert_not_called()
        watcher.on_job_failed.assert_not_called()