def test_empty_run_result(): """Test run result properties for a run without any executed workflow steps.""" r = RunResult(arguments={'a': 1}) assert len(r) == 0 assert r.get('a') == 1 assert r.exception is None assert r.returncode is None assert r.stderr == [] assert r.stdout == []
def test_successful_run_result(): """Test results of a successful workflow run.""" r = RunResult(arguments={'a': 1}) r.add(ExecResult(step=ContainerStep(identifier='s1', image='test1'), returncode=0, stdout=['o1'])) r.context['a'] = 2 r.add(ExecResult(step=ContainerStep(identifier='s2', image='test2'), returncode=0, stdout=['o2', 'o3'])) r.context['b'] = 1 assert r.exception is None assert r.returncode == 0 r.raise_for_status() assert r.stdout == ['o1', 'o2', 'o3'] assert r.stderr == [] assert r.get('a') == 2 assert r.get('b') == 1 result = r.steps[0] assert result.step.image == 'test1' assert result.stdout == ['o1'] result = r.steps[1] assert result.step.image == 'test2' assert result.stdout == ['o2', 'o3']