def test_converter_specified_by_path(self):
     path = '/<(tangled.util:load_object)obj>'
     mr = MountedResource('test', None, path)
     info = mr.urlvars_info
     self.assertIs(info['obj']['converter'], load_object)
     self.assertEqual(
         mr.format_path(obj='collections:OrderedDict'),
         '/collections:OrderedDict')
Exemple #2
0
    def test_path_parsing(self):
        path = '/<path><name>/<id>.<format>;extra'

        mr = MountedResource(self.app, 'test', TestResource, path)
        self.assertEqual(mr.urlvars, ['path', 'name', 'id', 'format'])

        format_string = mr.format_string
        self.assertEqual(format_string, '/{path}{name}/{id}.{format};extra')
    def test_add_slash(self):
        path = '/some/dir/'
        mr = MountedResource('test', None, path)
        self.assertTrue(mr.add_slash)
        self.assertEqual(mr.format_path(), '/some/dir/')

        tree = MountedResourceTree()
        tree.add(mr)
        tree.find('GET', '/some/dir/')

        match = tree.find('GET', '/some/dir/')
        self.assertIsNotNone(match)
        self.assertIs(match.mounted_resource, mr)

        match = tree.find('GET', '/some/dir')
        self.assertIsNotNone(match)
        self.assertIs(match.mounted_resource, mr)
Exemple #4
0
 def test_add_slash(self):
     app = self.app
     path = '/some/dir/'
     mr = MountedResource(app, 'test', TestResource, path)
     self.assertTrue(mr.add_slash)
     self.assertEqual(mr.format_path(), '/some/dir/')
Exemple #5
0
 def test_format_path_bad_value(self):
     path = '/<path><name>/<id:int>.<format>;extra'
     mr = MountedResource(self.app, 'test', TestResource, path)
     with self.assertRaises(ValueError):
         mr.format_path(path='somewhere', name='bob', id='x', format='json')
Exemple #6
0
 def test_format_path(self):
     path = '/<path><name>/<id>.<format>;extra'
     mr = MountedResource(self.app, 'test', TestResource, path)
     self.assertEqual(
         mr.format_path(path='somewhere', name='bob', id=13, format='json'),
         '/somewherebob/13.json;extra')
 def test_format_path_bad_value(self):
     path = '/<path><name:[a-z]{3}>/<(int)id:\d+>.<format:[a-z]+>;extra'
     mr = MountedResource('test', None, path)
     with self.assertRaises(ValueError):
         mr.format_path(path='somewhere', name='bob', id='x', format='json')
 def test_format_path(self):
     path = '/<path><name:[a-z]{3}>/<(int)id:\d+>.<format:[a-z]+>;extra'
     mr = MountedResource('test', None, path)
     self.assertEqual(
         mr.format_path(path='somewhere', name='bob', id=13, format='json'),
         '/somewherebob/13.json;extra')