aboutsummaryrefslogtreecommitdiffstats
path: root/test/graph/test_nodes.py
diff options
context:
space:
mode:
authorMatthias Baumgartner <dev@igsor.net>2023-01-21 22:32:33 +0100
committerMatthias Baumgartner <dev@igsor.net>2023-01-21 22:32:33 +0100
commit9310610a7edf4dcbb934aedcecff1d11348197bb (patch)
treee7d342d8f25ae40e6bdaf33549f7145bb8697f23 /test/graph/test_nodes.py
parentc196d2ce73d8351a18c19bcddd4b06d224e644fc (diff)
downloadbsfs-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.py14
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 ##