code: def test_task_group_arrow_with_setups_teardowns():
      with DAG(dag_id="hi", start_date=pendulum.datetime(2022, 1, 1)):
          with TaskGroup(group_id="tg1") as tg1:
              s1 = BaseOperator(task_id="s1")
              w1 = BaseOperator(task_id="w1")
              t1 = BaseOperator(task_id="t1")
              s1 >> w1 >> t1.as_teardown(setups=s1)
          w2 = BaseOperator(task_id="w2")
          tg1 >> w2
      assert t1.downstream_task_ids == set()
      assert w1.downstream_task_ids == {"tg1.t1", "w2"}
  
imports: from __future__ import annotations
  from datetime import timedelta
  import pendulum
  import pytest
  from airflow.decorators import dag, setup, task, task_group, teardown
  from airflow.exceptions import TaskAlreadyInTaskGroup
  from airflow.models.baseoperator import BaseOperator
  from airflow.models.dag import DAG
  from airflow.models.xcom_arg import XComArg
  from airflow.operators.bash import BashOperator
  from airflow.operators.empty import EmptyOperator
  from airflow.operators.python import PythonOperator
  from airflow.utils.dag_edges import dag_edges
  from airflow.utils.task_group import TaskGroup, task_group_to_dict
  from tests.models import DEFAULT_DATE
label_desc: Use image node_id 36 for calling a global function with example usage: test_task_group_arrow_with_setups_teardowns() without return types