예제 #1
0
def test_can_push_relationship(graph):
    local = Rel("KNOWS", since=1999)
    remote = Rel("KNOWS")
    a, b, ab = graph.create({}, {}, (0, remote, 1))
    assert ab.properties == {}
    local.bind(ab.uri)
    ab.push()
    local.pull()
    assert local.properties == remote.properties
예제 #2
0
def test_can_push_rel(graph):
    local = Rel("KNOWS", since=1999)
    remote = Rel("KNOWS")
    graph.create({}, {}, (0, remote, 1))
    assert remote.properties == {}
    local.bind(remote.uri)
    local.push()
    remote.pull()
    assert local.properties == remote.properties
예제 #3
0
def test_can_bind_rel_to_resource():
    uri = "http://localhost:7474/db/relationship/1"
    rel = Rel()
    rel.bind(uri)
    assert rel.bound
    assert isinstance(rel.resource, Resource)
    assert rel.resource.uri == uri
    rel.unbind()
    assert not rel.bound
    with pytest.raises(BindError):
        r = rel.resource
예제 #4
0
def test_can_push_rel(graph):
    local = Rel("KNOWS", since=1999)
    remote = Rel("KNOWS")
    graph.create({}, {}, (0, remote, 1))
    assert remote.properties == {}
    local.bind(remote.uri)
    local.push()
    remote.pull()
    assert local.properties == remote.properties
예제 #5
0
def test_can_push_relationship(graph):
    local = Rel("KNOWS", since=1999)
    remote = Rel("KNOWS")
    a, b, ab = graph.create({}, {}, (0, remote, 1))
    assert ab.properties == {}
    local.bind(ab.uri)
    ab.push()
    local.pull()
    assert local.properties == remote.properties
예제 #6
0
def test_can_create_two_nodes_and_a_relationship_with_properties(graph):
    alice = Node(name="Alice")
    bob = Node(name="Bob")
    alice_knows_bob = Relationship(alice, Rel("KNOWS", since=1999), bob)
    statement = CreateStatement(graph)
    statement.create(alice)
    statement.create(bob)
    statement.create(alice_knows_bob)
    created = statement.execute()
    assert created == (alice, bob, alice_knows_bob)
    assert alice.bound
    assert bob.bound
    assert alice_knows_bob.bound
    assert alice_knows_bob.start_node is alice
    assert alice_knows_bob.end_node is bob
예제 #7
0
def test_can_bind_rel_to_resource():
    uri = "http://localhost:7474/db/relationship/1"
    rel = Rel()
    rel.bind(uri)
    assert rel.bound
    assert isinstance(rel.resource, Resource)
    assert rel.resource.uri == uri
    rel.unbind()
    assert not rel.bound
    with pytest.raises(BindError):
        _ = rel.resource
예제 #8
0
def test_can_write_simple_rel():
    r = Representation()
    r.write(Rel("KNOWS"))
    written = repr(r)
    assert written == "-[:KNOWS]->"