aboutsummaryrefslogtreecommitdiffstats
path: root/test/graph/test_nodes.py
diff options
context:
space:
mode:
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 ##