def METHOD_NAME(self, tmp_path, project_id):
    query_file_path = tmp_path / "sql" / project_id / "query_v1"
    os.makedirs(query_file_path)
    query_file = query_file_path / "query.sql"
    sql = """
    {% set options = ["a", "b", "c"] %}
    SELECT
        {% for option in options %}
        "{{ option }}" AS {{ option }},
        {% endfor %}
    """
    query_file.write_text(sql)
    try:
        result = subprocess.check_output(
            [
                ENTRYPOINT_SCRIPT,
                "query",
                "--project_id=" + project_id,
                str(query_file),
            ],
            stderr=subprocess.STDOUT,
        )
        assert (
            b"+---+---+---+\n| a | b | c |\n+---+---+---+\n| a | b | c |\n+---+---+---+"
            in result
        )
        assert b"No metadata.yaml found for {}" in result
    except subprocess.CalledProcessError as e:
        # running bq in CircleCI will fail since it's not installed
        # but the error output can be checked for whether bq was called
        assert b"No such file or directory: 'bq'" in e.output
        assert b"No metadata.yaml found for {}" in e.output
        assert (
            b'subprocess.check_call(["bq"] + query_arguments, stdin=query_stream)'
            in e.output
        )