diff options
author | Matthias Baumgartner <dev@igsor.net> | 2023-01-21 22:32:33 +0100 |
---|---|---|
committer | Matthias Baumgartner <dev@igsor.net> | 2023-01-21 22:32:33 +0100 |
commit | 9310610a7edf4dcbb934aedcecff1d11348197bb (patch) | |
tree | e7d342d8f25ae40e6bdaf33549f7145bb8697f23 /test/graph/test_nodes.py | |
parent | c196d2ce73d8351a18c19bcddd4b06d224e644fc (diff) | |
download | bsfs-9310610a7edf4dcbb934aedcecff1d11348197bb.tar.gz bsfs-9310610a7edf4dcbb934aedcecff1d11348197bb.tar.bz2 bsfs-9310610a7edf4dcbb934aedcecff1d11348197bb.zip |
nodes predicate walk sugar
Diffstat (limited to 'test/graph/test_nodes.py')
-rw-r--r-- | test/graph/test_nodes.py | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/test/graph/test_nodes.py b/test/graph/test_nodes.py index a4e07ee..670df69 100644 --- a/test/graph/test_nodes.py +++ b/test/graph/test_nodes.py @@ -10,6 +10,7 @@ import unittest # bsie imports from bsfs import schema as bsc +from bsfs.graph.walk import Walk from bsfs.namespace import Namespace, ns from bsfs.triple_store.sparql import SparqlStore from bsfs.utils import errors, URI @@ -108,7 +109,8 @@ class TestNodes(unittest.TestCase): self.p_filesize = self.backend.schema.predicate(ns.bse.filesize) self.p_author = self.backend.schema.predicate(ns.bse.author) self.p_tag = self.backend.schema.predicate(ns.bse.tag) - self.p_representative = self.backend.schema.predicate(URI('http://bsfs.ai/schema/Tag#representative')) + self.p_representative = self.backend.schema.predicate(bst.representative) + self.p_label = self.backend.schema.predicate(bst.label) self.t_created = self.backend.schema.predicate(ns.bsm.t_created) self.ent_ids = { URI('http://example.com/me/entity#1234'), @@ -458,6 +460,16 @@ class TestNodes(unittest.TestCase): Nodes(self.backend, self.user, self.ent_type, {'http://example.com/me/entity#1234'}): {'hello world'}, }) + def test_getattr(self): + nodes = Nodes(self.backend, self.user, self.ent_type, {'http://example.com/me/entity#1234'}) + # can get walks to values + self.assertEqual(nodes.filesize, Walk(nodes, (self.p_filesize, ))) + # can get walks to nodes + self.assertEqual(nodes.tag, Walk(nodes, (self.p_tag, ))) + # can do multiple hops + self.assertEqual(nodes.tag.label, Walk(nodes, (self.p_tag, self.p_label))) + # invalid step raises an error + self.assertRaises(ValueError, getattr, nodes, 'foobar') ## main ## |