refactor: Use DDT for uri_templates tests. (#848)
This commit is contained in:
@@ -1,3 +1,4 @@
|
|||||||
|
import ddt
|
||||||
import six
|
import six
|
||||||
|
|
||||||
import falcon
|
import falcon
|
||||||
@@ -62,6 +63,7 @@ class FileDetailsResource(object):
|
|||||||
self.called = True
|
self.called = True
|
||||||
|
|
||||||
|
|
||||||
|
@ddt.ddt
|
||||||
class TestUriTemplates(testing.TestBase):
|
class TestUriTemplates(testing.TestBase):
|
||||||
|
|
||||||
def before(self):
|
def before(self):
|
||||||
@@ -82,28 +84,19 @@ class TestUriTemplates(testing.TestBase):
|
|||||||
self.assertRaises(TypeError, self.api.add_route, set(), self.resource)
|
self.assertRaises(TypeError, self.api.add_route, set(), self.resource)
|
||||||
self.assertRaises(TypeError, self.api.add_route, self, self.resource)
|
self.assertRaises(TypeError, self.api.add_route, self, self.resource)
|
||||||
|
|
||||||
def test_field_name_cannot_start_with_digit(self):
|
@ddt.data('/hello/{1world}', '/{524hello}/world')
|
||||||
self.assertRaises(ValueError, self.api.add_route,
|
def test_field_name_cannot_start_with_digit(self, route):
|
||||||
'/hello/{1world}', self.resource)
|
self.assertRaises(ValueError, self.api.add_route, route, self.resource)
|
||||||
|
|
||||||
self.assertRaises(ValueError, self.api.add_route,
|
@ddt.data(
|
||||||
'/{524hello}/world', self.resource)
|
'/{thing }/world',
|
||||||
|
'/{ thing}/world',
|
||||||
def test_whitespace_not_allowed(self):
|
'/{ thing }/world',
|
||||||
self.assertRaises(ValueError, self.api.add_route,
|
'/{thing}/wo rld',
|
||||||
'/{thing }/world', self.resource)
|
'/{thing} /world'
|
||||||
|
)
|
||||||
self.assertRaises(ValueError, self.api.add_route,
|
def test_whitespace_not_allowed(self, route):
|
||||||
'/{ thing}/world', self.resource)
|
self.assertRaises(ValueError, self.api.add_route, route, self.resource)
|
||||||
|
|
||||||
self.assertRaises(ValueError, self.api.add_route,
|
|
||||||
'/{ thing }/world', self.resource)
|
|
||||||
|
|
||||||
self.assertRaises(ValueError, self.api.add_route,
|
|
||||||
'/{thing}/wo rld', self.resource)
|
|
||||||
|
|
||||||
self.assertRaises(ValueError, self.api.add_route,
|
|
||||||
'/{thing} /world', self.resource)
|
|
||||||
|
|
||||||
def test_no_vars(self):
|
def test_no_vars(self):
|
||||||
self.api.add_route('/hello/world', self.resource)
|
self.api.add_route('/hello/world', self.resource)
|
||||||
@@ -220,28 +213,13 @@ class TestUriTemplates(testing.TestBase):
|
|||||||
self.assertEqual(resource.id, test_id)
|
self.assertEqual(resource.id, test_id)
|
||||||
self.assertEqual(resource.name51, test_name)
|
self.assertEqual(resource.name51, test_name)
|
||||||
|
|
||||||
def test_empty_path_component(self):
|
@ddt.data('//', '//begin', '/end//', '/in//side')
|
||||||
self.assertRaises(ValueError, self.api.add_route,
|
def test_empty_path_component(self, route):
|
||||||
'//', self.resource)
|
self.assertRaises(ValueError, self.api.add_route, route, self.resource)
|
||||||
|
|
||||||
self.assertRaises(ValueError, self.api.add_route,
|
@ddt.data('', 'no', 'no/leading_slash')
|
||||||
'//begin', self.resource)
|
def test_relative_path(self, route):
|
||||||
|
self.assertRaises(ValueError, self.api.add_route, route, self.resource)
|
||||||
self.assertRaises(ValueError, self.api.add_route,
|
|
||||||
'/end//', self.resource)
|
|
||||||
|
|
||||||
self.assertRaises(ValueError, self.api.add_route,
|
|
||||||
'/in//side', self.resource)
|
|
||||||
|
|
||||||
def test_relative_path(self):
|
|
||||||
self.assertRaises(ValueError, self.api.add_route,
|
|
||||||
'', self.resource)
|
|
||||||
|
|
||||||
self.assertRaises(ValueError, self.api.add_route,
|
|
||||||
'no', self.resource)
|
|
||||||
|
|
||||||
self.assertRaises(ValueError, self.api.add_route,
|
|
||||||
'no/leading_slash', self.resource)
|
|
||||||
|
|
||||||
def test_same_level_complex_var(self):
|
def test_same_level_complex_var(self):
|
||||||
resource = FileResource()
|
resource = FileResource()
|
||||||
|
|||||||
@@ -8,21 +8,17 @@ import falcon.testing as testing
|
|||||||
@ddt.ddt
|
@ddt.ddt
|
||||||
class TestUriTemplates(testing.TestBase):
|
class TestUriTemplates(testing.TestBase):
|
||||||
|
|
||||||
def test_string_type_required(self):
|
@ddt.data(42, falcon.API)
|
||||||
self.assertRaises(TypeError, routing.compile_uri_template, 42)
|
def test_string_type_required(self, value):
|
||||||
self.assertRaises(TypeError, routing.compile_uri_template, falcon.API)
|
self.assertRaises(TypeError, routing.compile_uri_template, value)
|
||||||
|
|
||||||
def test_template_must_start_with_slash(self):
|
@ddt.data('this', 'this/that')
|
||||||
self.assertRaises(ValueError, routing.compile_uri_template, 'this')
|
def test_template_must_start_with_slash(self, value):
|
||||||
self.assertRaises(ValueError, routing.compile_uri_template, 'this/that')
|
self.assertRaises(ValueError, routing.compile_uri_template, value)
|
||||||
|
|
||||||
def test_template_may_not_contain_double_slash(self):
|
@ddt.data('//', 'a//', '//b', 'a//b', 'a/b//', 'a/b//c')
|
||||||
self.assertRaises(ValueError, routing.compile_uri_template, '//')
|
def test_template_may_not_contain_double_slash(self, value):
|
||||||
self.assertRaises(ValueError, routing.compile_uri_template, 'a//')
|
self.assertRaises(ValueError, routing.compile_uri_template, value)
|
||||||
self.assertRaises(ValueError, routing.compile_uri_template, '//b')
|
|
||||||
self.assertRaises(ValueError, routing.compile_uri_template, 'a//b')
|
|
||||||
self.assertRaises(ValueError, routing.compile_uri_template, 'a/b//')
|
|
||||||
self.assertRaises(ValueError, routing.compile_uri_template, 'a/b//c')
|
|
||||||
|
|
||||||
def test_root(self):
|
def test_root(self):
|
||||||
fields, pattern = routing.compile_uri_template('/')
|
fields, pattern = routing.compile_uri_template('/')
|
||||||
|
|||||||
Reference in New Issue
Block a user