diff options
Diffstat (limited to 'test/lib')
-rw-r--r-- | test/lib/test_naming_policy.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/test/lib/test_naming_policy.py b/test/lib/test_naming_policy.py index 763537b..4861c84 100644 --- a/test/lib/test_naming_policy.py +++ b/test/lib/test_naming_policy.py @@ -32,6 +32,10 @@ class TestDefaultNamingPolicy(unittest.TestCase): self.assertEqual(policy.handle_node( Node(ns.bsfs.File, ucid='abc123cba')).uri, URI('http://example.com/me/file#abc123cba')) + # processes bsfs:Preview + self.assertEqual(policy.handle_node( + Node(ns.bsfs.Preview, ucid='abc123cba', size=123)).uri, + URI('http://example.com/me/preview#abc123cba_s123')) # raises an exception on unknown types self.assertRaises(errors.ProgrammingError, policy.handle_node, Node(ns.bsfs.Entity, ucid='abc123cba', size=123)) @@ -47,6 +51,31 @@ class TestDefaultNamingPolicy(unittest.TestCase): self.assertTrue(policy.name_file( Node(ns.bsfs.File)).uri.startswith('http://example.com/me/file#')) + def test_name_preview(self): + # setup + policy = DefaultNamingPolicy('http://example.com', 'me') + # name_preview uses ucid + self.assertEqual(policy.name_preview( + Node(ns.bsfs.Preview, ucid='123abc321')).uri, + URI('http://example.com/me/preview#123abc321')) + self.assertEqual(policy.name_preview( + Node(ns.bsfs.Preview, ucid='123abc321', size=400)).uri, + URI('http://example.com/me/preview#123abc321_s400')) + # name_preview uses source + self.assertEqual(policy.name_preview( + Node(ns.bsfs.Preview, source=Node(ns.bsfs.File, ucid='123file321'))).uri, + URI('http://example.com/me/preview#123file321')) + self.assertEqual(policy.name_preview( + Node(ns.bsfs.Preview, source=Node(ns.bsfs.File, ucid='123file321'), size=300)).uri, + URI('http://example.com/me/preview#123file321_s300')) + # name_preview falls back to a random guid + self.assertTrue(policy.name_preview( + Node(ns.bsfs.Preview)).uri.startswith('http://example.com/me/preview#')) + self.assertTrue(policy.name_preview( + Node(ns.bsfs.Preview, size=200)).uri.startswith('http://example.com/me/preview#')) + self.assertTrue(policy.name_preview( + Node(ns.bsfs.Preview, size=200)).uri.endswith('_s200')) + class TestNamingPolicyIterator(unittest.TestCase): @@ -71,10 +100,15 @@ class TestNamingPolicyIterator(unittest.TestCase): policy = DefaultNamingPolicy('http://example.com', 'me') triples = [ (Node(ns.bsfs.File, ucid='foo'), 'predA', 'hello'), + (Node(ns.bsfs.Preview, ucid='bar'), 'predB', 1234), + (Node(ns.bsfs.Preview, ucid='hello'), 'predC', Node(ns.bsfs.File, ucid='world')) ] # handles nodes, handles values, ignores predicate self.assertListEqual(list(policy(triples)), [ (Node(ns.bsfs.File, uri='http://example.com/me/file#foo'), 'predA', 'hello'), + (Node(ns.bsfs.Preview, uri='http://example.com/me/preview#bar'), 'predB', 1234), + (Node(ns.bsfs.Preview, uri='http://example.com/me/preview#hello'), 'predC', + Node(ns.bsfs.File, uri='http://example.com/me/file#world')), ]) |