示例#1
0
 def test_decode_build_is_idempotent(self):
     u1 = urn.encode('component',
                     owner__name='org%',
                     name='name%',
                     version='version%')
     m, f = urn.decode(u1)
     u3 = urn.encode(m, **f)
     self.assertEqual(u1, u3)
示例#2
0
 def test_encode_component_no_version(self):
     u1 = urn.encode('component', name='name', version='')
     self.assertEquals('urn:dje:component:name:', u1)
示例#3
0
 def test_encode_license(self):
     u1 = urn.encode('license', key='somekey')
     self.assertEquals('urn:dje:license:somekey', u1)
示例#4
0
 def test_encode_component_with_semicolon_are_properly_quoted(self):
     u1 = urn.encode('component', name='name:', version=':version')
     self.assertEquals('urn:dje:component:name%3A:%3Aversion', u1)
示例#5
0
 def test_encode_object_type_case_is_not_significant(self):
     u1 = urn.encode('license', key='key')
     u2 = urn.encode('lICENSe', key='key')
     self.assertEquals(u1, u2)
示例#6
0
 def test_encode_leading_and_trailing_spaces_are_trimmed_and_ignored(self):
     u1 = urn.encode(' component ',
                     name=' name space    ',
                     version='''  version space ''')
     self.assertEquals('urn:dje:component:name+space:version+space', u1)
示例#7
0
 def test_encode_license(self):
     u1 = urn.encode('license', key='somekey')
     assert 'urn:dje:license:somekey' == u1
示例#8
0
 def test_encode_owner(self):
     u1 = urn.encode('owner', name='somekey')
     assert 'urn:dje:owner:somekey' == u1
示例#9
0
 def test_encode_component_no_version(self):
     u1 = urn.encode('component', name='name', version='')
     assert 'urn:dje:component:name:' == u1
示例#10
0
 def test_encode_object_type_case_is_not_significant(self):
     u1 = urn.encode('license', key='key')
     u2 = urn.encode('lICENSe', key='key')
     assert u1 == u2
示例#11
0
 def test_encode_license(self):
     u1 = urn.encode('license', key='somekey')
     assert 'urn:dje:license:somekey' == u1
示例#12
0
 def test_encode_component_with_plus_are_properly_quoted(self):
     u1 = urn.encode('component', name='name+', version='version+')
     assert 'urn:dje:component:name%2B:version%2B' == u1
示例#13
0
 def test_encode_component_no_version(self):
     u1 = urn.encode('component', name='name', version='')
     assert 'urn:dje:component:name:' == u1
示例#14
0
 def test_encode_owner(self):
     u1 = urn.encode('owner', name='somekey')
     assert 'urn:dje:owner:somekey' == u1
示例#15
0
 def test_encode_missing_field_raise_keyerror(self):
     with self.assertRaises(KeyError):
         urn.encode('license')
示例#16
0
 def test_encode_component_with_plus_are_properly_quoted(self):
     u1 = urn.encode('component', name='name+', version='version+')
     assert 'urn:dje:component:name%2B:version%2B' == u1
示例#17
0
 def test_encode_unknown_object_type_raise_keyerror(self):
     with self.assertRaises(KeyError):
         urn.encode('some', key='somekey')
示例#18
0
 def test_encode_object_type_case_is_not_significant(self):
     u1 = urn.encode('license', key='key')
     u2 = urn.encode('lICENSe', key='key')
     assert u1 == u2
示例#19
0
 def test_encode_component_with_percent_are_properly_quoted(self):
     u1 = urn.encode('component', name='name%', version='version%')
     self.assertEquals('urn:dje:component:name%25:version%25', u1)
示例#20
0
 def test_decode_build_is_idempotent(self):
     u1 = urn.encode('component', owner__name='org%', name='name%',
                    version='version%')
     m, f = urn.decode(u1)
     u3 = urn.encode(m, **f)
     self.assertEqual(u1, u3)
示例#21
0
 def test_encode_leading_and_trailing_spaces_are_trimmed_and_ignored(self):
     u1 = urn.encode(' component ', name=' name space    ',
                     version='''  version space ''')
     self.assertEquals('urn:dje:component:name+space:version+space', u1)
示例#22
0
 def test_encode_decode_is_idempotent(self):
     object_type = 'component'
     fields = {'name': 'SIP Servlets (MSS)', 'version': 'v 1.4.0.FINAL'}
     encoded = 'urn:dje:component:SIP+Servlets+%28MSS%29:v+1.4.0.FINAL'
     assert encoded == urn.encode(object_type, **fields)
     assert object_type, fields == urn.decode(encoded)
示例#23
0
 def test_encode_component_with_percent_are_properly_quoted(self):
     u1 = urn.encode('component', name='name%', version='version%')
     self.assertEquals('urn:dje:component:name%25:version%25', u1)
示例#24
0
 def test_encode_license(self):
     u1 = urn.encode('license', key='somekey')
     self.assertEquals('urn:dje:license:somekey', u1)
示例#25
0
 def urn(self):
     data = {'name': self.name or '', 'version': self.version or ''}
     return urn.encode('component', **data)
示例#26
0
 def test_encode_owner(self):
     u1 = urn.encode('owner', name='somekey')
     self.assertEquals('urn:dje:owner:somekey', u1)
示例#27
0
 def test_encode_decode_is_idempotent(self):
     object_type = 'component'
     fields = {'name': 'SIP Servlets (MSS)', 'version': 'v 1.4.0.FINAL'}
     encoded = 'urn:dje:component:SIP+Servlets+%28MSS%29:v+1.4.0.FINAL'
     assert encoded == urn.encode(object_type, **fields)
     assert object_type, fields == urn.decode(encoded)
示例#28
0
 def test_encode_component_no_version(self):
     u1 = urn.encode('component', name='name', version='')
     self.assertEquals('urn:dje:component:name:', u1)
示例#29
0
 def test_encode_owner(self):
     u1 = urn.encode('owner', name='somekey')
     self.assertEquals('urn:dje:owner:somekey', u1)
示例#30
0
 def test_encode_license_with_extra_fields_are_ignored(self):
     u1 = urn.encode('license', key='somekey', junk='somejunk')
     self.assertEquals('urn:dje:license:somekey', u1)
示例#31
0
 def test_encode_license_with_extra_fields_are_ignored(self):
     u1 = urn.encode('license', key='somekey', junk='somejunk')
     self.assertEquals('urn:dje:license:somekey', u1)
示例#32
0
 def test_encode_missing_field_raise_keyerror(self):
     with self.assertRaises(KeyError):
         urn.encode('license')
示例#33
0
 def test_encode_missing_field_component_raise_keyerror(self):
     with self.assertRaises(KeyError):
         urn.encode('component', name='this')
示例#34
0
 def test_encode_missing_field_component_raise_keyerror(self):
     with self.assertRaises(KeyError):
         urn.encode('component', name='this')
示例#35
0
 def test_encode_component_with_spaces_are_properly_quoted(self):
     u1 = urn.encode('component',
                     name='name space',
                     version='version space')
     self.assertEquals('urn:dje:component:name+space:version+space', u1)
示例#36
0
 def test_encode_unknown_object_type_raise_keyerror(self):
     with self.assertRaises(KeyError):
         urn.encode('some', key='somekey')
示例#37
0
 def test_encode_component_with_semicolon_are_properly_quoted(self):
     u1 = urn.encode('component', name='name:', version=':version')
     self.assertEquals('urn:dje:component:name%3A:%3Aversion', u1)
示例#38
0
 def test_encode_component_with_spaces_are_properly_quoted(self):
     u1 = urn.encode('component', name='name space',
                     version='version space')
     self.assertEquals('urn:dje:component:name+space:version+space', u1)
示例#39
0
 def test_encode_object_type_case_is_not_significant(self):
     u1 = urn.encode('license', key='key')
     u2 = urn.encode('lICENSe', key='key')
     self.assertEquals(u1, u2)
示例#40
0
 def test_encode_component(self):
     u1 = urn.encode('component', name='name', version='version')
     assert u1 == 'urn:dje:component:name:version'