fix(model/helper): represent RLS filter clause in proper textual SQL string (#32406)

Signed-off-by: hainenber <dotronghai96@gmail.com>
This commit is contained in:
Đỗ Trọng Hải
2025-03-22 03:36:03 +07:00
committed by GitHub
parent c0f83a7467
commit ff0529c932
2 changed files with 10 additions and 8 deletions

View File

@@ -25,7 +25,7 @@ from unittest.mock import patch
import pytest
from pytest_mock import MockerFixture
from sqlalchemy import create_engine
from sqlalchemy import create_engine, text
from sqlalchemy.orm.session import Session
from sqlalchemy.pool import StaticPool
@@ -201,10 +201,12 @@ def test_values_for_column_double_percents(
)
# make sure final query has single percents
with database.get_sqla_engine() as engine:
pd.read_sql_query.assert_called_with(
sql=(
"SELECT DISTINCT CASE WHEN b LIKE 'A%' THEN 'yes' ELSE 'nope' END "
"AS column_values \nFROM t\n LIMIT 10000 OFFSET 0"
),
con=engine,
expected_sql = text(
"SELECT DISTINCT CASE WHEN b LIKE 'A%' THEN 'yes' ELSE 'nope' END "
"AS column_values \nFROM t\n LIMIT 10000 OFFSET 0"
)
called_sql = pd.read_sql_query.call_args.kwargs["sql"]
called_conn = pd.read_sql_query.call_args.kwargs["con"]
assert called_sql.compare(expected_sql) is True
assert called_conn == engine