mirror of
https://github.com/apache/superset.git
synced 2026-04-19 08:04:53 +00:00
chore: Migrate /superset/queries/<last_updated_ms> to API v1 (#22611)
This commit is contained in:
@@ -15,6 +15,7 @@
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
import json
|
||||
from datetime import datetime, timedelta
|
||||
from typing import Any, Iterator
|
||||
|
||||
import pytest
|
||||
@@ -58,6 +59,61 @@ def test_query_dao_save_metadata(session: Session) -> None:
|
||||
assert query.extra.get("columns", None) == []
|
||||
|
||||
|
||||
def test_query_dao_get_queries_changed_after(session: Session) -> None:
|
||||
from superset.models.core import Database
|
||||
from superset.models.sql_lab import Query
|
||||
|
||||
engine = session.get_bind()
|
||||
Query.metadata.create_all(engine) # pylint: disable=no-member
|
||||
|
||||
db = Database(database_name="my_database", sqlalchemy_uri="sqlite://")
|
||||
|
||||
now = datetime.utcnow()
|
||||
|
||||
old_query_obj = Query(
|
||||
client_id="foo",
|
||||
database=db,
|
||||
tab_name="test_tab",
|
||||
sql_editor_id="test_editor_id",
|
||||
sql="select * from bar",
|
||||
select_sql="select * from bar",
|
||||
executed_sql="select * from bar",
|
||||
limit=100,
|
||||
select_as_cta=False,
|
||||
rows=100,
|
||||
error_message="none",
|
||||
results_key="abc",
|
||||
changed_on=now - timedelta(days=3),
|
||||
)
|
||||
|
||||
updated_query_obj = Query(
|
||||
client_id="updated_foo",
|
||||
database=db,
|
||||
tab_name="test_tab",
|
||||
sql_editor_id="test_editor_id",
|
||||
sql="select * from foo",
|
||||
select_sql="select * from foo",
|
||||
executed_sql="select * from foo",
|
||||
limit=100,
|
||||
select_as_cta=False,
|
||||
rows=100,
|
||||
error_message="none",
|
||||
results_key="abc",
|
||||
changed_on=now - timedelta(days=1),
|
||||
)
|
||||
|
||||
session.add(db)
|
||||
session.add(old_query_obj)
|
||||
session.add(updated_query_obj)
|
||||
|
||||
from superset.queries.dao import QueryDAO
|
||||
|
||||
timestamp = datetime.timestamp(now - timedelta(days=2)) * 1000
|
||||
result = QueryDAO.get_queries_changed_after(timestamp)
|
||||
assert len(result) == 1
|
||||
assert result[0].client_id == "updated_foo"
|
||||
|
||||
|
||||
def test_query_dao_stop_query_not_found(
|
||||
mocker: MockFixture, app: Any, session: Session
|
||||
) -> None:
|
||||
|
||||
Reference in New Issue
Block a user