def test_log_func(self, caplog): task = FilterTask( filter_func=lambda r: r != 5, log_func=lambda x: f"Valid Values: {','.join([str(y) for y in x])}", ) task.run([1, 2, 3, 4, 5, 6, 7]) assert "Valid Values: 1,2,3,4,6,7" in caplog.text
def _create_filter_task(gs_formats: List[str]) -> FilterTask: """ Create a Prefect FilterTask that filters FormattedSheetData based on the given GoogleSheet formats. Parameters ---------- gs_formats: List[str] The list of GoogleSheet formats. Returns ------- task: FilterTask The filter task. """ return FilterTask( filter_func=lambda x: x.meta_data.get(MetaDataField.format) in gs_formats )
def test_filter_func_can_be_changed(self): task = FilterTask(filter_func=lambda r: r != 5) exc = ValueError() res = task.run([NoResult, NoResult, 0, 1, 5, "", exc]) assert len(res) == 6 assert res == [NoResult, NoResult, 0, 1, "", exc]
def test_default_filter_func_filters_noresults_and_exceptions(self): task = FilterTask() res = task.run([NoResult, NoResult, 0, 1, 5, "", ValueError()]) assert len(res) == 4 assert res == [0, 1, 5, ""]
def test_trigger_can_be_overwritten(self): task = FilterTask(trigger=prefect.triggers.manual_only) assert task.trigger == prefect.triggers.manual_only
def test_skip_on_upstream_skip_can_be_overwritten(self): task = FilterTask(skip_on_upstream_skip=True) assert task.skip_on_upstream_skip is True
def test_empty_initialization(self): task = FilterTask() assert task.name == "FilterTask" assert task.skip_on_upstream_skip is False assert task.trigger == prefect.triggers.all_finished
def test_filter_func_can_be_changed(self): task = FilterTask(filter_func=lambda r: r != 5) exc = ValueError()
def test_default_filter_func_filters_noresults_and_exceptions(self): task = FilterTask()