Пример #1
0
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
Пример #2
0
    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
Пример #3
0
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