예제 #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'