def test_calculate_dependency_graph(): """ Test that calculate_dependency_graph() runs and the returned graph has some correct entries. """ query = daily_location("2016-01-01") G = calculate_dependency_graph(query, analyse=True) sd = EventTableSubset( start="2016-01-01", stop="2016-01-02", columns=["msisdn", "datetime", "location_id"], ) assert f"x{sd.query_id}" in G.nodes() assert G.nodes[f"x{sd.query_id}"]["query_object"].query_id == sd.query_id
def test_store_queries_in_order(): """ Test that store_queries_in_order() stores each query's dependencies before storing that query itself. """ class QueryWithStoreAssertions(DummyQuery): def store(self): for query in self.dependencies: assert query.is_stored super().store() dummy1 = QueryWithStoreAssertions(dummy_param=["dummy1"]) dummy2 = QueryWithStoreAssertions(dummy_param=["dummy2"]) dummy3 = QueryWithStoreAssertions(dummy_param=["dummy3", dummy1, dummy2]) dummy4 = QueryWithStoreAssertions(dummy_param=["dummy4", dummy2]) dummy5 = QueryWithStoreAssertions(dummy_param=["dummy5", dummy3, dummy4]) graph = calculate_dependency_graph(dummy5) store_queries_in_order(graph)