code: def test_get_uri(self):
      self.spanner_hook_default_project_id._get_conn_params = MagicMock(
          return_value=SPANNER_CONN_PARAMS
      )
      uri = self.spanner_hook_default_project_id.get_uri()
      assert (
          uri
          == f"spanner+spanner:///projects/{SPANNER_PROJECT_ID}/instances/{SPANNER_INSTANCE}/databases/{SPANNER_DATABASE}"
      )
  
imports: from __future__ import annotations
  from unittest import mock
  from unittest.mock import MagicMock, PropertyMock
  import pytest
  import sqlalchemy
  from airflow.providers.google.cloud.hooks.spanner import SpannerHook
  from airflow.providers.google.common.consts import CLIENT_INFO
  from tests.providers.google.cloud.utils.base_gcp_mock import GCP_PROJECT_ID_HOOK_UNIT_TEST, mock_base_gcp_hook_default_project_id, mock_base_gcp_hook_no_default_project_id
label_desc: Use image node_id 22 for calling the TestGcpSpannerHookDefaultProjectId obj's underlying member method code with example usage: obj.test_get_uri() without return types