def test_to_dict(self) -> None: result = beam_job_domain.AggregateBeamJobRunResult('abc', '123') self.assertEqual(result.to_dict(), { 'stdout': 'abc', 'stderr': '123', })
def get_beam_job_run_result(job_id): """Returns the result of the given Apache Beam job run. Args: job_id: str. The ID of the job run to fetch. Returns: AggregateBeamJobRunResult. The result of the given Apache Beam job run. """ beam_job_run_result_models = beam_job_models.BeamJobRunResultModel.query( beam_job_models.BeamJobRunResultModel.job_id == job_id).iter() # Job results are inherently unordered; there's no need to sort them. stdouts, stderrs = [], [] for beam_job_run_result_model in beam_job_run_result_models: if beam_job_run_result_model.stdout: stdouts.append(beam_job_run_result_model.stdout) if beam_job_run_result_model.stderr: stderrs.append(beam_job_run_result_model.stderr) return (None if not stdouts and not stderrs else beam_job_domain.AggregateBeamJobRunResult( stdout='\n'.join(stdouts), stderr='\n'.join(stderrs)))
def test_usage(self) -> None: result = beam_job_domain.AggregateBeamJobRunResult('abc', '123') self.assertEqual(result.stdout, 'abc') self.assertEqual(result.stderr, '123')