Exemple #1
0
def test_border_cases():
    s1 = graphscope.session(run_on_local=True)
    s2 = graphscope.session(run_on_local=True)
    s3 = graphscope.session(run_on_local=True)

    with pytest.raises(RuntimeError, match="No default session found."):
        g = graphscope.load_from(
            edges={
                "e0": (
                    "twitter_property_e_0#header_row=true",
                    ["dist"],
                    ("src_id", "v0"),
                    ("dst_id", "v1"),
                ),
            },
            vertices={
                "v0": "{}/twitter_property_v_0#header_row=true",
                "v1": "{}/twitter_property_v_1#header_row=true",
            },
        )
    s1.as_default()
    assert graphscope.get_default_session() == s1

    g3 = load_graph(s3)  # g3 is op of s3

    with pytest.raises(
            ValueError,
            match=
            "A default session is already active. You must explicitly call Session.close().",
    ):
        s2.as_default()

    s1.close()

    s2.as_default()
    assert graphscope.get_default_session() == s2
    s2.close()

    s3.as_default()
    assert graphscope.get_default_session() == s3
    sssp = graphscope.property_sssp(g3, src=4)  # ok, g3 belong to s3
    s3.close()

    with pytest.raises(RuntimeError, match="No default session found."):
        g = graphscope.load_from(
            edges={
                "e0": (
                    "twitter_property_e_0#header_row=true",
                    ["dist"],
                    ("src_id", "v0"),
                    ("dst_id", "v1"),
                ),
            },
            vertices={
                "v0": "{}/twitter_property_v_0#header_row=true",
                "v1": "{}/twitter_property_v_1#header_row=true",
            },
        )
Exemple #2
0
def test_error_on_used_after_close():
    # use after session close
    s1 = graphscope.session(run_on_local=True)

    s1.close()
    with pytest.raises(RuntimeError,
                       match="Attempted to use a closed Session."):
        load_graph(s1)

    with pytest.raises(RuntimeError, match="No default session found."):
        g = graphscope.load_from(
            edges={
                "e0": (
                    "twitter_property_e_0#header_row=true",
                    ["dist"],
                    ("src_id", "v0"),
                    ("dst_id", "v1"),
                ),
            },
            vertices={
                "v0": "{}/twitter_property_v_0#header_row=true",
                "v1": "{}/twitter_property_v_1#header_row=true",
            },
        )

    # close after close
    s2 = graphscope.session(run_on_local=True)

    s2.close()
    assert s2.info["status"] == "closed"

    s2.close()
    assert s2.info["status"] == "closed"
def load_p2p(prefix, directed):
    graph = graphscope.load_from(
        edges={
            "group": {
                "loader": Loader(
                    os.path.join(prefix, "p2p-31.e"), header_row=False, delimiter=" "
                )
            }
        },
        directed=directed,
        generate_eid=False,
    )
    return graph
Exemple #4
0
def test_error_on_used_after_close():
    # use after session close
    s1 = graphscope.session(run_on_local=True)

    s1.close()
    with pytest.raises(ValueError, match="Session not exists."):
        g = load_graph(s1)
        g._ensure_loaded()

    with pytest.raises(RuntimeError, match="No default session found."):
        g = graphscope.load_from(edges={
            "e0": "twitter_property_e_0#header_row=true",
        })
        g._ensure_loaded()

    # close after close
    s2 = graphscope.session(run_on_local=True)

    s2.close()
    assert s2.info["status"] == "closed"

    s2.close()
    assert s2.info["status"] == "closed"
Exemple #5
0
 def load_from(self, *args, **kwargs):
     """Load a graph within the session.
     See more information in :meth:`graphscope.load_from`.
     """
     with default_session(self):
         return graphscope.load_from(*args, **kwargs)
Exemple #6
0
 def load_from(self, *args, **kwargs):
     with default_session(self):
         return graphscope.load_from(*args, **kwargs)