예제 #1
0
    def test_call_pre_run(self, pipeline_config: PipelineConfig) -> None:
        """Test calling pre-run method on units."""
        for unit in pipeline_config.iter_units():
            flexmock(unit).should_receive("pre_run").with_args().and_return(
                None).once()

        pipeline_config.call_pre_run()
예제 #2
0
    def test_call_post_run_report(self, pipeline_config: PipelineConfig) -> None:
        """Test calling post-run method with report."""
        report = Report(count=2, pipeline=pipeline_config)

        for unit in pipeline_config.iter_units():
            flexmock(unit).should_receive("post_run_report").with_args(
                report=report
            ).and_return(None).once()

        pipeline_config.call_post_run_report(report)
예제 #3
0
    def test_iter_units(self, pipeline_config: PipelineConfig) -> None:
        """Test iteration over all units present in the pipeline configuration."""
        visited = dict.fromkeys(
            ("Boot1", "Pseudonym1", "Sieve1", "Step1", "Stride1", "Wrap1"), 0)
        for unit in pipeline_config.iter_units():
            assert unit.__class__.__name__ in visited, f"Unknown unit {unit.__class__.__name__!r}"
            visited[unit.__class__.__name__] += 1

        assert len(visited) == 6
        assert list(visited.values()) == [1] * 6