aboutsummaryrefslogtreecommitdiffstats
path: root/test/lib/test_naming_policy.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/lib/test_naming_policy.py')
-rw-r--r--test/lib/test_naming_policy.py41
1 files changed, 34 insertions, 7 deletions
diff --git a/test/lib/test_naming_policy.py b/test/lib/test_naming_policy.py
index c9b0cd2..09fd6f6 100644
--- a/test/lib/test_naming_policy.py
+++ b/test/lib/test_naming_policy.py
@@ -23,27 +23,31 @@ class TestDefaultNamingPolicy(unittest.TestCase):
self.assertEqual(policy.handle_node(
Node(ns.bsn.Invalid, uri='http://example.com/you/foo#bar')).uri,
URI('http://example.com/you/foo#bar'))
- # processes bsfs:File
+ # processes bsn:Entity
self.assertEqual(policy.handle_node(
Node(ns.bsn.Entity, ucid='abc123cba')).uri,
URI('http://example.com/me/file#abc123cba'))
- # processes bsfs:Preview
+ # processes bsn:Preview
self.assertEqual(policy.handle_node(
Node(ns.bsn.Preview, ucid='abc123cba', size=123)).uri,
URI('http://example.com/me/preview#abc123cba_s123'))
+ # processes bsn:Tag
+ self.assertEqual(policy.handle_node(
+ Node(ns.bsn.Tag, label='hello')).uri,
+ URI('http://example.com/me/tag#hello'))
# raises an exception on unknown types
self.assertRaises(errors.ProgrammingError, policy.handle_node,
Node(ns.bsn.Invalid, ucid='abc123cba', size=123))
- def test_name_file(self):
+ def test_name_entity(self):
# setup
policy = DefaultNamingPolicy('http://example.com', 'me')
- # name_file uses ucid
- self.assertEqual(policy.name_file(
+ # name_entity uses ucid
+ self.assertEqual(policy.name_entity(
Node(ns.bsn.Entity, ucid='123abc321')).uri,
URI('http://example.com/me/file#123abc321'))
- # name_file falls back to a random guid
- self.assertTrue(policy.name_file(
+ # name_entity falls back to a random guid
+ self.assertTrue(policy.name_entity(
Node(ns.bsn.Entity)).uri.startswith('http://example.com/me/file#'))
def test_name_preview(self):
@@ -71,6 +75,29 @@ class TestDefaultNamingPolicy(unittest.TestCase):
self.assertTrue(policy.name_preview(
Node(ns.bsn.Preview, size=200)).uri.endswith('_s200'))
+ def test_name_tag(self):
+ # setup
+ policy = DefaultNamingPolicy('http://example.com', 'me')
+ # name_tag uses label
+ self.assertEqual(policy.name_tag(
+ Node(ns.bsn.Tag, label='hello')).uri,
+ URI('http://example.com/me/tag#hello'))
+ # name_tag matches the label
+ self.assertEqual(
+ policy.name_tag(Node(ns.bsn.Tag, label='world')),
+ policy.name_tag(Node(ns.bsn.Tag, label='world')),
+ )
+ self.assertNotEqual(
+ policy.name_tag(Node(ns.bsn.Tag, label='hello')),
+ policy.name_tag(Node(ns.bsn.Tag, label='world')),
+ )
+ # label can include characters that are not valid for an uri
+ self.assertEqual(policy.name_tag(
+ Node(ns.bsn.Preview, label='hello world { foo bar ] ')).uri,
+ URI('http://example.com/me/tag#hello%20world%20%7B%20foo%20bar%20%5D%20'))
+ # name_tag falls back to a random guid
+ self.assertTrue(policy.name_tag(
+ Node(ns.bsn.Tag,)).uri.startswith('http://example.com/me/tag#'))
class TestNamingPolicyIterator(unittest.TestCase):