def test_extract_graph_info(config): grapher = LookMlGrapher(config) assert grapher.node_map == {} assert grapher.models_to_explores == [] assert grapher.explores_to_views == [] grapher.extract_graph_info(["test/grapher_lkml/some_model.model.lkml"]) assert grapher.models_to_explores == [('some_model', 'some_explore')] assert grapher.explores_to_views == [('some_explore', 'some_view'), ('some_explore', 'some_other_view')] assert len(grapher.node_map) == 2 assert 'some_explore' in grapher.node_map assert grapher.node_map['some_explore'] == NodeType.EXPLORE assert 'some_model' in grapher.node_map assert grapher.node_map['some_model'] == NodeType.MODEL
def run( lkml_paths: list[str], output: str = "lookml_diagram.png", title: str = "Hello, World!", **kwargs, ): # create the LookML grapher grapher = LookMlGrapher(config="None") # parse LookML and extract graph info from the input files grapher.extract_graph_info(lkml_paths) # create nx DiGraph object g = grapher.create_graph() return grapher, g
def test_extract_graph_info(config): grapher = LookMlGrapher(config) assert grapher.node_map == {} assert grapher.models_to_explores == [] assert grapher.explores_to_views == [] grapher.extract_graph_info(["test/grapher_lkml/some_model.model.lkml"]) assert grapher.models_to_explores == [("some_model", "some_explore")] assert grapher.explores_to_views == [ ("some_explore", "some_view"), ("some_explore", "some_other_view"), ] assert len(grapher.node_map) == 2 assert "some_explore" in grapher.node_map assert grapher.node_map["some_explore"] == NodeType.EXPLORE assert "some_model" in grapher.node_map assert grapher.node_map["some_model"] == NodeType.MODEL