class_docstr: Functions that can be used to help render check queries in integration tests.
docstr: Renders a template that can be used to retrieve a dimension.
  
  For example:
  
   "{{ render_dimension_template('country_latest', entity_path=['listing']) }}"
  
   ->
  
   "{{ dimension('country_latest', entity_path=['listing'] }}"
  
   This is needed as the where_filter field in the definition files are rendered twice through Jinja - once
   by the test framework, and again by MF.
docstr_tok: ["Renders","a","template","that","can","be","used","to","retrieve","a","dimension",".","For","example",":","``","{","{","render_dimension_template","(","'country_latest","'",",","entity_path=","[","'listing","'","]",")","}","}","''","-",">","``","{","{","dimension","(","'country_latest","'",",","entity_path=","[","'listing","'","]","}","}","''","This","is","needed","as","the","where_filter","field","in","the","definition","files","are","rendered","twice","through","Jinja","-","once","by","the","test","framework",",","and","again","by","MF","."]
code: def render_dimension_template(
      self, dimension_name: str, entity_path: Sequence[str] = ()
  ) -> str:
      """Renders a template that can be used to retrieve a dimension.
  
      For example:
  
       "{{ render_dimension_template('country_latest', entity_path=['listing']) }}"
  
       ->
  
       "{{ dimension('country_latest', entity_path=['listing'] }}"
  
       This is needed as the where_filter field in the definition files are rendered twice through Jinja - once
       by the test framework, and again by MF.
      """
      return f"{{{{ Dimension('{dimension_name}', entity_path={repr(entity_path)}) }}}}"
  
imports: from __future__ import annotations
  import datetime
  import logging
  from copy import copy
  from typing import List, Optional, Sequence, Tuple
  import jinja2
  import pytest
  from dateutil import parser
  from dbt_semantic_interfaces.enum_extension import assert_values_exhausted
  from dbt_semantic_interfaces.implementations.elements.measure import PydanticMeasureAggregationParameters
  from dbt_semantic_interfaces.test_utils import as_datetime
  from dbt_semantic_interfaces.type_enums.date_part import DatePart
  from dbt_semantic_interfaces.type_enums.time_granularity import TimeGranularity
  from metricflow.engine.metricflow_engine import MetricFlowEngine, MetricFlowQueryRequest
  from metricflow.model.semantic_manifest_lookup import SemanticManifestLookup
  from metricflow.plan_conversion.column_resolver import DunderColumnAssociationResolver
  from metricflow.protocols.query_parameter import DimensionOrEntityQueryParameter
  from metricflow.protocols.sql_client import SqlClient
  from metricflow.specs.query_param_implementations import DimensionOrEntityParameter, TimeDimensionParameter
  from metricflow.sql.sql_exprs import SqlCastToTimestampExpression, SqlColumnReference, SqlColumnReferenceExpression, SqlDateTruncExpression, SqlExtractExpression, SqlGenerateUuidExpression, SqlPercentileExpression, SqlPercentileExpressionArgument, SqlPercentileFunctionType, SqlStringExpression, SqlSubtractTimeIntervalExpression
  from metricflow.test.compare_df import assert_dataframes_equal
  from metricflow.test.fixtures.setup_fixtures import MetricFlowTestSessionState
  from metricflow.test.integration.configured_test_case import CONFIGURED_INTEGRATION_TESTS_REPOSITORY, IntegrationTestModel, RequiredDwEngineFeatures
  from metricflow.test.time.configurable_time_source import ConfigurableTimeSource
label_desc: Use image node_id 11 for calling the CheckQueryHelpers obj's underlying member method code with example usage: obj.render_dimension_template(dimension_name, entity_path) and returns: str, dimension_name, str, repr, str