Ejemplo n.º 1
0
    def test_to_dict(self) -> None:
        result = beam_job_domain.AggregateBeamJobRunResult('abc', '123')

        self.assertEqual(result.to_dict(), {
            'stdout': 'abc',
            'stderr': '123',
        })
Ejemplo n.º 2
0
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)))
Ejemplo n.º 3
0
    def test_usage(self) -> None:
        result = beam_job_domain.AggregateBeamJobRunResult('abc', '123')

        self.assertEqual(result.stdout, 'abc')
        self.assertEqual(result.stderr, '123')