From 63fe1d017e2fad8181e3ff47185b974304957d56 Mon Sep 17 00:00:00 2001 From: Matthias Baumgartner Date: Wed, 5 Apr 2023 17:16:14 +0200 Subject: IPTC tag extraction --- test/lib/test_naming_policy.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'test/lib/test_naming_policy.py') diff --git a/test/lib/test_naming_policy.py b/test/lib/test_naming_policy.py index c9b0cd2..b284fc0 100644 --- a/test/lib/test_naming_policy.py +++ b/test/lib/test_naming_policy.py @@ -31,6 +31,10 @@ class TestDefaultNamingPolicy(unittest.TestCase): 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)) @@ -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): -- cgit v1.2.3 From ef50c1895c810d7a03bc139587a345273701cdbe Mon Sep 17 00:00:00 2001 From: Matthias Baumgartner Date: Wed, 5 Apr 2023 17:18:02 +0200 Subject: minor fixes --- test/lib/test_naming_policy.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'test/lib/test_naming_policy.py') diff --git a/test/lib/test_naming_policy.py b/test/lib/test_naming_policy.py index b284fc0..09fd6f6 100644 --- a/test/lib/test_naming_policy.py +++ b/test/lib/test_naming_policy.py @@ -23,11 +23,11 @@ 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')) @@ -39,15 +39,15 @@ class TestDefaultNamingPolicy(unittest.TestCase): 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): -- cgit v1.2.3