code: def test_parse_from_uri(
      self,
      uri,
      expected_conn_type,
      expected_host,
      expected_login,
      expected_password,
      expected_port,
      expected_schema,
      expected_extra_dict,
      expected_exception_message,
  ):
      if expected_exception_message is not None:
          with pytest.raises(
              AirflowException,
              match=re.escape(expected_exception_message),
          ):
              Connection(uri=uri)
      else:
          conn = Connection(uri=uri)
          assert conn.conn_type == expected_conn_type
          assert conn.login == expected_login
          assert conn.password == expected_password
          assert conn.host == expected_host
          assert conn.port == expected_port
          assert conn.schema == expected_schema
          assert conn.extra_dejson == expected_extra_dict
  
file_path: airflow/tests/models/test_connection.py
imports: from __future__ import annotations
  import re
  import pytest
  from airflow.exceptions import AirflowException
  from airflow.models import Connection
label_desc: Use image node_id 1 for calling the TestConnection obj's underlying member method code with example usage: obj.test_parse_from_uri(uri, expected_conn_type, expected_host, expected_login, expected_password, expected_port, expected_schema, expected_extra_dict, expected_exception_message) without return types