@@ -1737,3 +1737,69 @@ def test_task_group_display_name_used_as_label():
17371737    }
17381738
17391739    assert  extract_node_id (task_group_to_dict (dag .task_group ), include_label = True ) ==  expected_node_id 
1740+ 
1741+ 
1742+ def  test_task_group_dependencies_between_tasks_if_task_group_is_empty_1 ():
1743+     """ 
1744+     Test that if a task group is empty, the dependencies between tasks are still maintained. 
1745+     """ 
1746+     with  DAG (dag_id = "test_dag" , schedule = None , start_date = pendulum .parse ("20200101" )):
1747+         task1  =  EmptyOperator (task_id = "task1" )
1748+         with  TaskGroup ("group1" ) as  tg1 :
1749+             pass 
1750+         with  TaskGroup ("group2" ) as  tg2 :
1751+             task2  =  EmptyOperator (task_id = "task2" )
1752+             task3  =  EmptyOperator (task_id = "task3" )
1753+             task2  >>  task3 
1754+ 
1755+         task1  >>  tg1  >>  tg2 
1756+ 
1757+     assert  task1 .downstream_task_ids  ==  {"group2.task2" }
1758+ 
1759+ 
1760+ def  test_task_group_dependencies_between_tasks_if_task_group_is_empty_2 ():
1761+     """ 
1762+     Test that if a task group is empty, the dependencies between tasks are still maintained. 
1763+     """ 
1764+     with  DAG (dag_id = "test_dag" , schedule = None , start_date = pendulum .parse ("20200101" )):
1765+         task1  =  EmptyOperator (task_id = "task1" )
1766+         with  TaskGroup ("group1" ) as  tg1 :
1767+             pass 
1768+         with  TaskGroup ("group2" ) as  tg2 :
1769+             pass 
1770+         with  TaskGroup ("group3" ) as  tg3 :
1771+             pass 
1772+         with  TaskGroup ("group4" ) as  tg4 :
1773+             pass 
1774+         with  TaskGroup ("group5" ) as  tg5 :
1775+             task2  =  EmptyOperator (task_id = "task2" )
1776+             task3  =  EmptyOperator (task_id = "task3" )
1777+             task2  >>  task3 
1778+         task1  >>  tg1  >>  tg2  >>  tg3  >>  tg4  >>  tg5 
1779+ 
1780+     assert  task1 .downstream_task_ids  ==  {"group5.task2" }
1781+ 
1782+ 
1783+ def  test_task_group_dependencies_between_tasks_if_task_group_is_empty_3 ():
1784+     """ 
1785+     Test that if a task group is empty, the dependencies between tasks are still maintained. 
1786+     """ 
1787+     with  DAG (dag_id = "test_dag" , schedule = None , start_date = pendulum .parse ("20200101" )):
1788+         task1  =  EmptyOperator (task_id = "task1" )
1789+         with  TaskGroup ("group1" ) as  tg1 :
1790+             pass 
1791+         with  TaskGroup ("group2" ) as  tg2 :
1792+             pass 
1793+         task2  =  EmptyOperator (task_id = "task2" )
1794+         with  TaskGroup ("group3" ) as  tg3 :
1795+             pass 
1796+         with  TaskGroup ("group4" ) as  tg4 :
1797+             pass 
1798+         with  TaskGroup ("group5" ) as  tg5 :
1799+             task3  =  EmptyOperator (task_id = "task3" )
1800+             task4  =  EmptyOperator (task_id = "task4" )
1801+             task3  >>  task4 
1802+         task1  >>  tg1  >>  tg2  >>  task2  >>  tg3  >>  tg4  >>  tg5 
1803+ 
1804+     assert  task1 .downstream_task_ids  ==  {"task2" }
1805+     assert  task2 .downstream_task_ids  ==  {"group5.task3" }
0 commit comments