code: def test_validate_entities(  # noqa: D
      dw_backed_warehouse_validation_model: PydanticSemanticManifest,
      sql_client: SqlClient,
      mf_test_session_state: MetricFlowTestSessionState,
  ) -> None:
      model = deepcopy(dw_backed_warehouse_validation_model)
  
      dw_validator = DataWarehouseModelValidator(sql_client=sql_client)
  
      issues = dw_validator.validate_entities(model)
      assert len(issues.all_issues) == 0
  
      entities = list(model.semantic_models[0].entities)
      entities.append(
          PydanticEntity(name="doesnt_exist", type=EntityType.UNIQUE)
      )
      model.semantic_models[0].entities = entities
  
      issues = dw_validator.validate_entities(model)
      # One isssue is created for the short circuit query failure, and another is
      # created for the sub task checking the specific entity
      assert len(issues.all_issues) == 2
  
imports: from __future__ import annotations
  from copy import deepcopy
  from typing import Tuple
  import pytest
  from _pytest.fixtures import FixtureRequest
  from dbt_semantic_interfaces.implementations.elements.dimension import PydanticDimension
  from dbt_semantic_interfaces.implementations.elements.entity import PydanticEntity
  from dbt_semantic_interfaces.implementations.elements.measure import PydanticMeasure
  from dbt_semantic_interfaces.implementations.semantic_manifest import PydanticSemanticManifest
  from dbt_semantic_interfaces.protocols.dimension import DimensionType
  from dbt_semantic_interfaces.protocols.entity import EntityType
  from dbt_semantic_interfaces.test_utils import semantic_model_with_guaranteed_meta
  from dbt_semantic_interfaces.transformations.semantic_manifest_transformer import PydanticSemanticManifestTransformer
  from dbt_semantic_interfaces.type_enums.aggregation_type import AggregationType
  from metricflow.model.data_warehouse_model_validator import DataWarehouseModelValidator, DataWarehouseTaskBuilder, DataWarehouseValidationTask
  from metricflow.protocols.sql_client import SqlClient
  from metricflow.sql.sql_bind_parameters import SqlBindParameters
  from metricflow.test.fixtures.setup_fixtures import MetricFlowTestSessionState
  from metricflow.test.snapshot_utils import assert_snapshot_text_equal, make_schema_replacement_function
label_desc: Use image node_id 8 for calling a global function with example usage: test_validate_entities(dw_backed_warehouse_validation_model, sql_client, mf_test_session_state) without return types