def METHOD_NAME(  # noqa: D
    sql_client: SqlClient,
    simple_semantic_manifest: SemanticManifest,
    create_source_tables: bool,
) -> Generator[CLIContext, None, None]:
    semantic_manifest_lookup = SemanticManifestLookup(simple_semantic_manifest)
    mf_engine = MetricFlowEngine(
        semantic_manifest_lookup=semantic_manifest_lookup,
        sql_client=sql_client,
        column_association_resolver=DunderColumnAssociationResolver(semantic_manifest_lookup=semantic_manifest_lookup),
        time_source=ConfigurableTimeSource(as_datetime("2020-01-01")),
    )
    context = FakeCLIContext()
    context._mf = mf_engine
    context._sql_client = sql_client
    context._semantic_manifest = simple_semantic_manifest
    context._semantic_manifest_lookup = semantic_manifest_lookup
    with tempfile.NamedTemporaryFile() as file:
        context._log_file_path = pathlib.Path(file.name)
        yield context