def test_materialized_from_obj_maybe_materialize(db_engine_with_events_table): from_obj = FromObj(from_obj="events", name="myquery", knowledge_date_column='event_date') from_obj.should_materialize = lambda: True from_obj.maybe_materialize(db_engine_with_events_table) assert table_exists(from_obj.table, db_engine_with_events_table)
def test_materialized_from_obj_should_materialize_subquery(): from_obj = FromObj( from_obj= "(select entity_id, date from mytable1 join entities using(entity_id)) joined_events", name="events", knowledge_date_column="date") assert from_obj.should_materialize() assert from_obj.table == "events_from_obj"
def test_materialized_from_obj_should_handle_leading_whitespace(): q = """ ( SELECT entity_id, date from mytable1 join entities using (entity_id) ) AS joined_events""" from_obj = FromObj(from_obj=q, name="events", knowledge_date_column="date") assert from_obj.should_materialize() assert from_obj.table == "events_from_obj"
def test_materialized_from_obj_should_not_materialize_tbl(): from_obj = FromObj(from_obj="mytable1", name="events", knowledge_date_column="date") assert not from_obj.should_materialize() assert from_obj.table == "mytable1"
def test_materialized_from_obj_should_handle_keywords(): from_obj = FromObj(from_obj="events", name="events", knowledge_date_column="date") assert not from_obj.should_materialize() assert from_obj.table == "events"
def test_materialized_from_obj_should_not_materialize_join(): from_obj = FromObj(from_obj="mytable1 join entities using(entity_id)", name="events", knowledge_date_column="date") assert not from_obj.should_materialize() assert from_obj.table == "mytable1 join entities using(entity_id)"