def test_validate_complete_config_passes( self, mock_run, mock_format_job, mock_load_config, ): job_config = mock.Mock(spec_set=tron_tools.TronJobConfig) job_config.get_name.return_value = 'my_job' job_config.validate = mock.Mock(return_value=[]) mock_load_config.return_value = ([job_config], {}) mock_format_job.return_value = {} mock_run.return_value = mock.Mock( returncode=0, stdout='OK', stderr='', ) result = tron_tools.validate_complete_config( 'a_service', 'a-cluster', ) assert mock_load_config.call_count == 1 assert mock_format_job.call_count == 1 assert mock_run.call_count == 1 assert not result
def test_validate_complete_config_tronfig_fails( self, mock_run, mock_format_job, mock_load_config, ): job_config = mock.Mock(spec_set=tron_tools.TronJobConfig) job_config.validate = mock.Mock(return_value=[]) mock_load_config.return_value = ([job_config], {}) mock_format_job.return_value = {} mock_run.return_value = mock.Mock( returncode=1, stdout='tronfig error', stderr='', ) result = tron_tools.validate_complete_config( 'a_service', 'a-cluster', ) assert mock_load_config.call_count == 1 assert mock_format_job.call_count == 1 assert mock_run.call_count == 1 assert result == ['tronfig error']
def test_validate_complete_config_non_job_keys( self, mock_run, mock_format_job, mock_load_config, namespace, valid, ): job_config = mock.Mock(spec_set=tron_tools.TronJobConfig) job_config.get_name.return_value = 'my_job' job_config.validate = mock.Mock(return_value=[]) mock_load_config.return_value = ([job_config], { 'time_zone': 'US/Pacific' }) mock_format_job.return_value = {} result = tron_tools.validate_complete_config( namespace, 'a-cluster', ) assert mock_load_config.call_count == 1 if not valid: assert len(result) == 1 assert 'time_zone' in result[0]
def test_validate_complete_config_paasta_validate_fails( self, mock_run, mock_format_job, mock_load_config): job_config = mock.Mock(spec_set=tron_tools.TronJobConfig) job_config.get_name.return_value = "my_job" job_config.validate = mock.Mock(return_value=["some error"]) mock_load_config.return_value = [job_config] result = tron_tools.validate_complete_config("a_service", "a-cluster") assert mock_load_config.call_count == 1 assert mock_format_job.call_count == 0 assert mock_run.call_count == 0 assert result == ["some error"]
def test_validate_complete_config_passes(self, mock_run, mock_format_job, mock_load_config): job_config = mock.Mock(spec_set=tron_tools.TronJobConfig) job_config.get_name.return_value = "my_job" job_config.validate = mock.Mock(return_value=[]) mock_load_config.return_value = [job_config] mock_format_job.return_value = {} mock_run.return_value = mock.Mock(returncode=0, stdout="OK", stderr="") result = tron_tools.validate_complete_config("a_service", "a-cluster") assert mock_load_config.call_count == 1 assert mock_format_job.call_count == 1 assert mock_run.call_count == 1 assert not result
def validate_tron_namespace(service, cluster, soa_dir, tron_dir=False): if tron_dir: display_name = f'{cluster}/{service}.yaml' else: display_name = f'tron-{cluster}.yaml' messages = validate_complete_config(service, cluster, soa_dir) returncode = len(messages) == 0 if messages: paasta_print(invalid_tron_namespace(cluster, "\n ".join(messages), display_name)) else: paasta_print(valid_tron_namespace(cluster, display_name)) return returncode
def test_validate_complete_config_paasta_validate_fails( self, mock_run, mock_format_job, mock_load_config, ): job_config = mock.Mock(spec_set=tron_tools.TronJobConfig) job_config.validate = mock.Mock(return_value=['some error']) mock_load_config.return_value = ([job_config], {}) result = tron_tools.validate_complete_config( 'a_service', 'a-cluster', ) assert mock_load_config.call_count == 1 assert mock_format_job.call_count == 0 assert mock_run.call_count == 0 assert result == ['some error']