diff options
Diffstat (limited to 'test/lib/test_naming_policy.py')
-rw-r--r-- | test/lib/test_naming_policy.py | 41 |
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): |