code: def test_operator_extra_link_multiple_operators(
      dag_run, task_2, task_3, viewer_client
  ):
      """
      This tests checks if Operator Link (AirflowLink2) defined in
      Airflow Plugin (AirflowLink2) is attached to all the list of
      operators defined in the AirflowLink2().operators property
  
      AirflowLink2 returns 'https://airflow.apache.org/1.10.5/' link
      GoogleLink returns 'https://www.google.com'
      """
      response = viewer_client.get(
          f"{ENDPOINT}?dag_id={task_2.dag_id}&task_id={task_2.task_id}"
          f"&execution_date={STR_DEFAULT_DATE}&link_name=airflow",
          follow_redirects=True,
      )
  
      assert response.status_code == 200
      response_str = response.data
      if isinstance(response.data, bytes):
          response_str = response_str.decode()
      assert json.loads(response_str) == {
          "url": "https://airflow.apache.org/1.10.5/",
          "error": None,
      }
  
      response = viewer_client.get(
          f"{ENDPOINT}?dag_id={task_3.dag_id}&task_id={task_3.task_id}"
          f"&execution_date={STR_DEFAULT_DATE}&link_name=airflow",
          follow_redirects=True,
      )
  
      assert response.status_code == 200
      response_str = response.data
      if isinstance(response.data, bytes):
          response_str = response_str.decode()
      assert json.loads(response_str) == {
          "url": "https://airflow.apache.org/1.10.5/",
          "error": None,
      }
  
      # Also check that the other Operator Link defined for this operator exists
      response = viewer_client.get(
          f"{ENDPOINT}?dag_id={task_3.dag_id}&task_id={task_3.task_id}"
          f"&execution_date={STR_DEFAULT_DATE}&link_name=google",
          follow_redirects=True,
      )
  
      assert response.status_code == 200
      response_str = response.data
      if isinstance(response.data, bytes):
          response_str = response_str.decode()
      assert json.loads(response_str) == {
          "url": "https://www.google.com",
          "error": None,
      }
  
imports: from __future__ import annotations
  import json
  import urllib.parse
  from unittest import mock
  import pytest
  from airflow.models.baseoperator import BaseOperator
  from airflow.models.baseoperatorlink import BaseOperatorLink
  from airflow.models.dag import DAG
  from airflow.utils import timezone
  from airflow.utils.state import DagRunState
  from airflow.utils.types import DagRunType
  from tests.test_utils.db import clear_db_runs
  from tests.test_utils.mock_operators import AirflowLink, Dummy2TestOperator, Dummy3TestOperator
label_desc: Use image node_id 16 for calling a global function with example usage: test_operator_extra_link_multiple_operators(dag_run, task_2, task_3, viewer_client) without return types