def setUp(self): self.factory = RequestFactory() self.middleware = DjangularUrlMiddleware(urlconf='server.tests.test_urlresolver_view') self.url_name_arg = 'djng_url_name' self.args_prefix = 'djng_url_args' self.kwarg_prefix = 'djng_url_kwarg_' super(TestUrlResolverView, self).setUp()
def setUp(self): self.factory = RequestFactory() self.user = User.objects.create_user('test', '*****@*****.**', 'password') self.middleware = DjangularUrlMiddleware() self.url_name_arg = 'djng_url_name' self.args_prefix = 'djng_url_args' self.kwarg_prefix = 'djng_url_kwarg_' super(TestUrlResolverView, self).setUp()
def setUp(self): self.factory = RequestFactory() self.middleware = DjangularUrlMiddleware() self.url_name_arg = 'djng_url_name' self.args_prefix = 'djng_url_args' self.kwarg_prefix = 'djng_url_kwarg_' super(TestUrlResolverView, self).setUp()
class TestUrlResolverView(TestCase): pattern_dict = None def setUp(self): self.factory = RequestFactory() self.middleware = DjangularUrlMiddleware( urlconf='server.tests.test_urlresolver_view') self.url_name_arg = 'djng_url_name' self.args_prefix = 'djng_url_args' self.kwarg_prefix = 'djng_url_kwarg_' super(TestUrlResolverView, self).setUp() def test_request_path(self): data = {self.url_name_arg: 'home'} request = self.factory.get(DjangularUrlMiddleware.ANGULAR_REVERSE, data=data) response = self.middleware.process_request(request) self.assertEqual(response['request'].path, '/') def test_middleware_return_none(self): """ If request.path != <DjangularUrlMiddleware.ANGULAR_REVERSE> return None, so request is processed normally """ request = self.factory.get('/some/other/url/') response = self.middleware.process_request(request) self.assertEqual(response, None) def test_resolver_view_resolution(self): data = {self.url_name_arg: 'home'} request = self.factory.get(DjangularUrlMiddleware.ANGULAR_REVERSE, data=data) response = self.middleware.process_request(request) self.assertEqual(response['name'], 'DummyView') def test_view_resolution_include(self): data = {self.url_name_arg: 'include1:home2'} request = self.factory.get(DjangularUrlMiddleware.ANGULAR_REVERSE, data=data) response = self.middleware.process_request(request) self.assertEqual(response['name'], 'DummyView2') def test_args(self): data = {self.url_name_arg: 'home_args', self.args_prefix: [1, 2, 3]} request = self.factory.get(DjangularUrlMiddleware.ANGULAR_REVERSE, data=data) response = self.middleware.process_request(request) self.assertEqual((u'1', u'2', u'3'), response['args']) def test_kwargs(self): data = { self.url_name_arg: 'home_kwargs', self.kwarg_prefix + 'id': 1, self.kwarg_prefix + 'id2': 2, self.kwarg_prefix + 'id3': 3 } expected_view_kwargs = {'id2': u'2', 'id': u'1', 'id3': u'3'} request = self.factory.get(DjangularUrlMiddleware.ANGULAR_REVERSE, data=data) response = self.middleware.process_request(request) self.assertEqual(expected_view_kwargs, response['kwargs'])
class TestUrlResolverView(TestCase): pattern_dict = None urls = 'server.tests.test_urlresolver_view' def setUp(self): self.factory = RequestFactory() self.middleware = DjangularUrlMiddleware() self.url_name_arg = 'djng_url_name' self.args_prefix = 'djng_url_args' self.kwarg_prefix = 'djng_url_kwarg_' super(TestUrlResolverView, self).setUp() def test_resolver_path_resolution(self): url_name = 'home' data = { self.url_name_arg: url_name } request = self.factory.get(DjangularUrlMiddleware.ANGULAR_REVERSE, data=data) self.middleware.process_request(request) self.assertEqual(request.path, reverse('home')) def test_resolver_path_resolution_include(self): url_name = 'include1:home2' data = { self.url_name_arg: url_name } request = self.factory.get(DjangularUrlMiddleware.ANGULAR_REVERSE, data=data) self.middleware.process_request(request) self.assertEqual(request.path, reverse(url_name)) def test_middleware_request_not_modified(self): """ If request.path != <DjangularUrlMiddleware.ANGULAR_REVERSE> request must not be modified """ path = '/some/other/url' request = self.factory.get(path) self.middleware.process_request(request) self.assertEqual(request.path, path) def test_get_args(self): """ GET parameters for url resolution should be removed, others kept """ args = {'test': '123'} data = { self.url_name_arg: 'home_args', self.args_prefix: [1, 2, 3], } data.update(args) query_dict = QueryDict('', mutable=True) query_dict.update(args) request = self.factory.get(DjangularUrlMiddleware.ANGULAR_REVERSE, data=data) self.middleware.process_request(request) self.assertEqual(request.GET, query_dict) def test_kwargs_resolution(self): data = { self.url_name_arg: 'home_kwargs', self.kwarg_prefix + 'id': 1, self.kwarg_prefix + 'id2': 2, self.kwarg_prefix + 'id3': 3 } request = self.factory.get(DjangularUrlMiddleware.ANGULAR_REVERSE, data=data) self.middleware.process_request(request) self.assertEqual(request.path, reverse('home_kwargs', kwargs={'id': 1, 'id2': 2, 'id3': 3}))
class TestUrlResolverView(TestCase): pattern_dict = None urls = 'server.tests.test_urlresolver_view' def setUp(self): self.factory = RequestFactory() self.user = User.objects.create_user('test', '*****@*****.**', 'password') self.middleware = DjangularUrlMiddleware() self.url_name_arg = 'djng_url_name' self.args_prefix = 'djng_url_args' self.kwarg_prefix = 'djng_url_kwarg_' super(TestUrlResolverView, self).setUp() def test_resolver_path_resolution(self): """ Both request.path and request.path_info should be updated to correct url """ url_name = 'home' data = {self.url_name_arg: url_name} request = self.factory.get(DjangularUrlMiddleware.ANGULAR_REVERSE, data=data) self.middleware.process_request(request) self.assertEqual(request.path, reverse('home')) self.assertEqual(request.path_info, reverse('home')) self.assertEqual(request.get_full_path(), reverse('home')) def test_resolver_path_resolution_include(self): url_name = 'include1:home2' data = {self.url_name_arg: url_name} request = self.factory.get(DjangularUrlMiddleware.ANGULAR_REVERSE, data=data) self.middleware.process_request(request) self.assertEqual(request.path, reverse(url_name)) def test_middleware_request_not_modified(self): """ If request.path != <DjangularUrlMiddleware.ANGULAR_REVERSE> request must not be modified """ path = '/some/other/url' request = self.factory.get(path) self.middleware.process_request(request) self.assertEqual(request.path, path) def test_request_attributes_retention(self): """ Request attributes, such as .user or .session must not be modified """ url_name = 'include1:home2' data = {self.url_name_arg: url_name} request = self.factory.get(DjangularUrlMiddleware.ANGULAR_REVERSE, data=data) request.user = self.user self.middleware.process_request(request) self.assertEqual(request.user, self.user) def test_get_args_removal(self): """ GET parameters for url resolution should be removed, others kept """ args = {'test': '123'} data = { self.url_name_arg: 'home_args', self.args_prefix: [1, 2, 3], } data.update(args) query_dict = QueryDict('', mutable=True) query_dict.update(args) request = self.factory.get(DjangularUrlMiddleware.ANGULAR_REVERSE, data=data) self.middleware.process_request(request) self.assertEqual(request.GET, query_dict) def test_get_args_with_encoding(self): """ Similar test to test_with_args but with special characters. """ if six.PY3: args = {'params': 'åäö'} else: args = {'param': u'åäö'} data = { self.url_name_arg: 'home_args', self.args_prefix: [1, 2, 3], } data.update(args) query_dict = QueryDict('', mutable=True) query_dict.update(args) request = self.factory.get(DjangularUrlMiddleware.ANGULAR_REVERSE, data=data) self.middleware.process_request(request) self.assertEqual(request.GET, query_dict) def test_get_kwargs_removal(self): """ GET kwarg parameters for url resolution should be removed, others kept """ args = {'test': '123'} data = { self.url_name_arg: 'home_kwargs', self.kwarg_prefix + 'id': 1, self.kwarg_prefix + 'id2': 2, self.kwarg_prefix + 'id3': 3 } data.update(args) query_dict = QueryDict('', mutable=True) query_dict.update(args) request = self.factory.get(DjangularUrlMiddleware.ANGULAR_REVERSE, data=data) self.middleware.process_request(request) self.assertEqual(request.GET, query_dict) def test_kwargs_resolution(self): data = { self.url_name_arg: 'home_kwargs', self.kwarg_prefix + 'id': 1, self.kwarg_prefix + 'id2': 2, self.kwarg_prefix + 'id3': 3 } request = self.factory.get(DjangularUrlMiddleware.ANGULAR_REVERSE, data=data) self.middleware.process_request(request) self.assertEqual( request.path, reverse('home_kwargs', kwargs={ 'id': 1, 'id2': 2, 'id3': 3 }))
class TestUrlResolverView(TestCase): pattern_dict = None urls = "server.tests.test_urlresolver_view" def setUp(self): self.factory = RequestFactory() self.middleware = DjangularUrlMiddleware() self.url_name_arg = "djng_url_name" self.args_prefix = "djng_url_args" self.kwarg_prefix = "djng_url_kwarg_" super(TestUrlResolverView, self).setUp() def test_resolver_path_resolution(self): url_name = "home" data = {self.url_name_arg: url_name} request = self.factory.get(DjangularUrlMiddleware.ANGULAR_REVERSE, data=data) self.middleware.process_request(request) self.assertEqual(request.path, reverse("home")) def test_resolver_path_resolution_include(self): url_name = "include1:home2" data = {self.url_name_arg: url_name} request = self.factory.get(DjangularUrlMiddleware.ANGULAR_REVERSE, data=data) self.middleware.process_request(request) self.assertEqual(request.path, reverse(url_name)) def test_middleware_request_not_modified(self): """ If request.path != <DjangularUrlMiddleware.ANGULAR_REVERSE> request must not be modified """ path = "/some/other/url" request = self.factory.get(path) self.middleware.process_request(request) self.assertEqual(request.path, path) def test_get_args(self): """ GET parameters for url resolution should be removed, others kept """ args = {"test": "123"} data = {self.url_name_arg: "home_args", self.args_prefix: [1, 2, 3]} data.update(args) query_dict = QueryDict("", mutable=True) query_dict.update(args) request = self.factory.get(DjangularUrlMiddleware.ANGULAR_REVERSE, data=data) self.middleware.process_request(request) self.assertEqual(request.GET, query_dict) def test_get_args_with_encoding(self): """ Similar test to test_with_args but with special characters. """ if six.PY3: args = {"params": "åäö"} else: args = {"param": u"åäö"} data = {self.url_name_arg: "home_args", self.args_prefix: [1, 2, 3]} data.update(args) query_dict = QueryDict("", mutable=True) query_dict.update(args) request = self.factory.get(DjangularUrlMiddleware.ANGULAR_REVERSE, data=data) self.middleware.process_request(request) self.assertEqual(request.GET, query_dict) def test_kwargs_resolution(self): data = { self.url_name_arg: "home_kwargs", self.kwarg_prefix + "id": 1, self.kwarg_prefix + "id2": 2, self.kwarg_prefix + "id3": 3, } request = self.factory.get(DjangularUrlMiddleware.ANGULAR_REVERSE, data=data) self.middleware.process_request(request) self.assertEqual(request.path, reverse("home_kwargs", kwargs={"id": 1, "id2": 2, "id3": 3}))
class TestUrlResolverView(TestCase): pattern_dict = None def setUp(self): self.factory = RequestFactory() self.middleware = DjangularUrlMiddleware(urlconf='server.tests.test_urlresolver_view') self.url_name_arg = 'djng_url_name' self.args_prefix = 'djng_url_args' self.kwarg_prefix = 'djng_url_kwarg_' super(TestUrlResolverView, self).setUp() def test_request_path(self): data = { self.url_name_arg: 'home' } request = self.factory.get(DjangularUrlMiddleware.ANGULAR_REVERSE, data=data) response = self.middleware.process_request(request) self.assertEqual(response['request'].path, '/') def test_middleware_return_none(self): """ If request.path != <DjangularUrlMiddleware.ANGULAR_REVERSE> return None, so request is processed normally """ request = self.factory.get('/some/other/url/') response = self.middleware.process_request(request) self.assertEqual(response, None) def test_resolver_view_resolution(self): data = { self.url_name_arg: 'home' } request = self.factory.get(DjangularUrlMiddleware.ANGULAR_REVERSE, data=data) response = self.middleware.process_request(request) self.assertEqual(response['name'], 'DummyView') def test_view_resolution_include(self): data = { self.url_name_arg: 'include1:home2' } request = self.factory.get(DjangularUrlMiddleware.ANGULAR_REVERSE, data=data) response = self.middleware.process_request(request) self.assertEqual(response['name'], 'DummyView2') def test_args(self): data = { self.url_name_arg: 'home_args', self.args_prefix: [1, 2, 3] } request = self.factory.get(DjangularUrlMiddleware.ANGULAR_REVERSE, data=data) response = self.middleware.process_request(request) self.assertEqual((u'1', u'2', u'3'), response['args']) def test_kwargs(self): data = { self.url_name_arg: 'home_kwargs', self.kwarg_prefix + 'id': 1, self.kwarg_prefix + 'id2': 2, self.kwarg_prefix + 'id3': 3 } expected_view_kwargs = {'id2': u'2', 'id': u'1', 'id3': u'3'} request = self.factory.get(DjangularUrlMiddleware.ANGULAR_REVERSE, data=data) response = self.middleware.process_request(request) self.assertEqual(expected_view_kwargs, response['kwargs'])
class TestUrlResolverView(TestCase): pattern_dict = None urls = 'server.tests.test_urlresolver_view' def setUp(self): self.factory = RequestFactory() self.user = User.objects.create_user('test', '*****@*****.**', 'password') self.middleware = DjangularUrlMiddleware() self.url_name_arg = 'djng_url_name' self.args_prefix = 'djng_url_args' self.kwarg_prefix = 'djng_url_kwarg_' super(TestUrlResolverView, self).setUp() def test_resolver_path_resolution(self): """ Both request.path and request.path_info should be updated to correct url """ url_name = 'home' data = { self.url_name_arg: url_name } request = self.factory.get(DjangularUrlMiddleware.ANGULAR_REVERSE, data=data) self.middleware.process_request(request) self.assertEqual(request.path, reverse('home')) self.assertEqual(request.path_info, reverse('home')) self.assertEqual(request.get_full_path(), reverse('home')) def test_resolver_path_resolution_include(self): url_name = 'include1:home2' data = { self.url_name_arg: url_name } request = self.factory.get(DjangularUrlMiddleware.ANGULAR_REVERSE, data=data) self.middleware.process_request(request) self.assertEqual(request.path, reverse(url_name)) def test_middleware_request_not_modified(self): """ If request.path != <DjangularUrlMiddleware.ANGULAR_REVERSE> request must not be modified """ path = '/some/other/url' request = self.factory.get(path) self.middleware.process_request(request) self.assertEqual(request.path, path) def test_request_attributes_retention(self): """ Request attributes, such as .user or .session must not be modified """ url_name = 'include1:home2' data = { self.url_name_arg: url_name } request = self.factory.get(DjangularUrlMiddleware.ANGULAR_REVERSE, data=data) request.user = self.user self.middleware.process_request(request) self.assertEqual(request.user, self.user) def test_get_args_removal(self): """ GET parameters for url resolution should be removed, others kept """ args = {'test': '123'} data = { self.url_name_arg: 'home_args', self.args_prefix: [1, 2, 3], } data.update(args) query_dict = QueryDict('', mutable=True) query_dict.update(args) request = self.factory.get(DjangularUrlMiddleware.ANGULAR_REVERSE, data=data) self.middleware.process_request(request) self.assertEqual(request.GET, query_dict) def test_get_args_with_encoding(self): """ Similar test to test_with_args but with special characters. """ if six.PY3: args = {'params': 'åäö'} else: args = {'param': u'åäö'} data = { self.url_name_arg: 'home_args', self.args_prefix: [1, 2, 3], } data.update(args) query_dict = QueryDict('', mutable=True) query_dict.update(args) request = self.factory.get(DjangularUrlMiddleware.ANGULAR_REVERSE, data=data) self.middleware.process_request(request) self.assertEqual(request.GET, query_dict) def test_get_kwargs_removal(self): """ GET kwarg parameters for url resolution should be removed, others kept """ args = {'test': '123'} data = { self.url_name_arg: 'home_kwargs', self.kwarg_prefix + 'id': 1, self.kwarg_prefix + 'id2': 2, self.kwarg_prefix + 'id3': 3 } data.update(args) query_dict = QueryDict('', mutable=True) query_dict.update(args) request = self.factory.get(DjangularUrlMiddleware.ANGULAR_REVERSE, data=data) self.middleware.process_request(request) self.assertEqual(request.GET, query_dict) def test_kwargs_resolution(self): data = { self.url_name_arg: 'home_kwargs', self.kwarg_prefix + 'id': 1, self.kwarg_prefix + 'id2': 2, self.kwarg_prefix + 'id3': 3 } request = self.factory.get(DjangularUrlMiddleware.ANGULAR_REVERSE, data=data) self.middleware.process_request(request) self.assertEqual(request.path, reverse('home_kwargs', kwargs={'id': 1, 'id2': 2, 'id3': 3}))
class TestUrlResolverView(TestCase): pattern_dict = None def setUp(self): self.factory = RequestFactory() self.middleware = DjangularUrlMiddleware(urlconf='server.tests.test_urlresolver_view') self.url_name_arg = 'djng_url_name' self.args_prefix = 'djng_url_args' self.kwarg_prefix = 'djng_url_kwarg_' super(TestUrlResolverView, self).setUp() def test_resolver_path_resolution(self): url_name = 'home' data = { self.url_name_arg: url_name } request = self.factory.get(DjangularUrlMiddleware.ANGULAR_REVERSE, data=data) self.middleware.process_request(request) self.assertEqual(request.path, reverse('home', urlconf=TEST_URLCONF_PATH)) def test_resolver_path_resolution_include(self): url_name = 'include1:home2' data = { self.url_name_arg: url_name } request = self.factory.get(DjangularUrlMiddleware.ANGULAR_REVERSE, data=data) self.middleware.process_request(request) self.assertEqual(request.path, reverse(url_name, urlconf=TEST_URLCONF_PATH)) def test_middleware_request_not_modified(self): """ If request.path != <DjangularUrlMiddleware.ANGULAR_REVERSE> request must not be modified """ path = '/some/other/url' request = self.factory.get(path) self.middleware.process_request(request) self.assertEqual(request.path, path) def test_get_args(self): """ GET parameters for url resolution should be removed, others kept """ args = {'test': '123'} data = { self.url_name_arg: 'home_args', self.args_prefix: [1, 2, 3], } data.update(args) query_dict = QueryDict('', mutable=True) query_dict.update(args) request = self.factory.get(DjangularUrlMiddleware.ANGULAR_REVERSE, data=data) self.middleware.process_request(request) self.assertEqual(request.GET, query_dict) def test_kwargs_resolution(self): data = { self.url_name_arg: 'home_kwargs', self.kwarg_prefix + 'id': 1, self.kwarg_prefix + 'id2': 2, self.kwarg_prefix + 'id3': 3 } request = self.factory.get(DjangularUrlMiddleware.ANGULAR_REVERSE, data=data) self.middleware.process_request(request) self.assertEqual(request.path, reverse('home_kwargs', kwargs={'id': 1, 'id2': 2, 'id3': 3}, urlconf=TEST_URLCONF_PATH))