Я думаю, что лучшее решение - сделать параметр шаблоном
Отредактируйте ваш MyOperator следующим образом:
class MyOperator(BaseOperator):
template_fields = ('parameter')
@apply_defaults
def __init__(self,
parameter,
*args,
**kwargs):
super(MyOperator, self).__init__(*args, **kwargs)
self.parameter = parameter
А в вашем DAG:
my_operator = MyOperator(dag=dag,
parameter="{{ dag_run.conf['parameter'] }}")
В вашем тесте просто установите параметр
К сожалению, я не проверял это в DAG, но согласно различным поискам в Google это должно работать. С другой стороны, это делает MyOperator более независимым и может использоваться повторно в других местах, где DAG не создается с помощью trigger_dag
Я не знаю, возможно ли установить конфигурации во время теста, так как вы изменили бы dag_run. Но вы можете просмотреть тест-код Airflows и найти что-нибудь: https://github.com/apache/incubator-airflow/tree/master/tests