diff options
| -rw-r--r-- | djangorestframework/status.py | 43 | ||||
| -rw-r--r-- | djangorestframework/tests/authentication.py | 15 | ||||
| -rw-r--r-- | djangorestframework/tests/content.py | 6 | ||||
| -rw-r--r-- | djangorestframework/tests/mixins.py | 24 | ||||
| -rw-r--r-- | djangorestframework/tests/status.py | 4 | ||||
| -rw-r--r-- | examples/objectstore/views.py | 2 |
6 files changed, 27 insertions, 67 deletions
diff --git a/djangorestframework/status.py b/djangorestframework/status.py index 93c2a392..9e2ef54c 100644 --- a/djangorestframework/status.py +++ b/djangorestframework/status.py @@ -47,46 +47,3 @@ HTTP_502_BAD_GATEWAY = 502 HTTP_503_SERVICE_UNAVAILABLE = 503 HTTP_504_GATEWAY_TIMEOUT = 504 HTTP_505_HTTP_VERSION_NOT_SUPPORTED = 505 - -# Short format -CONTINUE = 100 -SWITCHING_PROTOCOLS = 101 -OK = 200 -CREATED = 201 -ACCEPTED = 202 -NON_AUTHORITATIVE_INFORMATION = 203 -NO_CONTENT = 204 -RESET_CONTENT = 205 -PARTIAL_CONTENT = 206 -MULTIPLE_CHOICES = 300 -MOVED_PERMANENTLY = 301 -FOUND = 302 -SEE_OTHER = 303 -NOT_MODIFIED = 304 -USE_PROXY = 305 -RESERVED = 306 -TEMPORARY_REDIRECT = 307 -BAD_REQUEST = 400 -UNAUTHORIZED = 401 -PAYMENT_REQUIRED = 402 -FORBIDDEN = 403 -NOT_FOUND = 404 -METHOD_NOT_ALLOWED = 405 -NOT_ACCEPTABLE = 406 -PROXY_AUTHENTICATION_REQUIRED = 407 -REQUEST_TIMEOUT = 408 -CONFLICT = 409 -GONE = 410 -LENGTH_REQUIRED = 411 -PRECONDITION_FAILED = 412 -REQUEST_ENTITY_TOO_LARGE = 413 -REQUEST_URI_TOO_LONG = 414 -UNSUPPORTED_MEDIA_TYPE = 415 -REQUESTED_RANGE_NOT_SATISFIABLE = 416 -EXPECTATION_FAILED = 417 -INTERNAL_SERVER_ERROR = 500 -NOT_IMPLEMENTED = 501 -BAD_GATEWAY = 502 -SERVICE_UNAVAILABLE = 503 -GATEWAY_TIMEOUT = 504 -HTTP_VERSION_NOT_SUPPORTED = 505 diff --git a/djangorestframework/tests/authentication.py b/djangorestframework/tests/authentication.py index e6da4217..1835c523 100644 --- a/djangorestframework/tests/authentication.py +++ b/djangorestframework/tests/authentication.py @@ -1,11 +1,9 @@ from django.conf.urls.defaults import patterns from django.contrib.auth.models import User -from django.contrib.auth import login from django.test import Client, TestCase from django.utils import simplejson as json -from djangorestframework.compat import RequestFactory from djangorestframework.views import View from djangorestframework import permissions @@ -14,8 +12,12 @@ import base64 class MockView(View): permissions = ( permissions.IsAuthenticated, ) + def post(self, request): - return {'a':1, 'b':2, 'c':3} + return {'a': 1, 'b': 2, 'c': 3} + + def put(self, request): + return {'a': 1, 'b': 2, 'c': 3} urlpatterns = patterns('', (r'^$', MockView.as_view()), @@ -83,8 +85,13 @@ class SessionAuthTests(TestCase): response = self.non_csrf_client.post('/', {'example': 'example'}) self.assertEqual(response.status_code, 200) + def test_put_form_session_auth_passing(self): + """Ensure PUTting form over session authentication with logged in user and CSRF token passes.""" + self.non_csrf_client.login(username=self.username, password=self.password) + response = self.non_csrf_client.put('/', {'example': 'example'}) + self.assertEqual(response.status_code, 200) + def test_post_form_session_auth_failing(self): """Ensure POSTing form over session authentication without logged in user fails.""" response = self.csrf_client.post('/', {'example': 'example'}) self.assertEqual(response.status_code, 403) - diff --git a/djangorestframework/tests/content.py b/djangorestframework/tests/content.py index 47dfce80..6bae8feb 100644 --- a/djangorestframework/tests/content.py +++ b/djangorestframework/tests/content.py @@ -17,7 +17,7 @@ class MockView(View): authentication = (UserLoggedInAuthentication,) def post(self, request): if request.POST.get('example') is not None: - return Response(status.OK) + return Response(status.HTTP_200_OK) return Response(status.INTERNAL_SERVER_ERROR) @@ -215,10 +215,10 @@ class TestContentParsingWithAuthentication(TestCase): content = {'example': 'example'} response = self.client.post('/', content) - self.assertEqual(status.OK, response.status_code, "POST data is malformed") + self.assertEqual(status.HTTP_200_OK, response.status_code, "POST data is malformed") response = self.csrf_client.post('/', content) - self.assertEqual(status.OK, response.status_code, "POST data is malformed") + self.assertEqual(status.HTTP_200_OK, response.status_code, "POST data is malformed") # def test_user_logged_in_authentication_has_post_when_logged_in(self): # """Ensures request.POST exists after UserLoggedInAuthentication when user does log in""" diff --git a/djangorestframework/tests/mixins.py b/djangorestframework/tests/mixins.py index fd9fbf3a..72e0b8b0 100644 --- a/djangorestframework/tests/mixins.py +++ b/djangorestframework/tests/mixins.py @@ -158,7 +158,7 @@ class MockPaginatorView(PaginatorMixin, View): return range(0, self.total) def post(self, request): - return Response(status.CREATED, {'status': 'OK'}) + return Response(status.HTTP_201_CREATED, {'status': 'OK'}) class TestPagination(TestCase): @@ -172,7 +172,7 @@ class TestPagination(TestCase): content = json.loads(response.content) - self.assertEqual(response.status_code, status.OK) + self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual(MockPaginatorView.total, content['total']) self.assertEqual(MockPaginatorView.limit, content['per_page']) @@ -187,7 +187,7 @@ class TestPagination(TestCase): content = json.loads(response.content) - self.assertEqual(response.status_code, status.OK) + self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual(content['per_page'], limit) self.assertEqual(range(0, limit), content['results']) @@ -204,7 +204,7 @@ class TestPagination(TestCase): content = json.loads(response.content) - self.assertEqual(response.status_code, status.OK) + self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual(MockPaginatorView.total, content['total']) self.assertEqual(limit, content['per_page']) self.assertEqual(num_pages, content['pages']) @@ -221,7 +221,7 @@ class TestPagination(TestCase): content = json.loads(response.content) - self.assertEqual(response.status_code, status.OK) + self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual(MockPaginatorView.total, content['total']) self.assertNotEqual(limit, content['per_page']) self.assertNotEqual(num_pages, content['pages']) @@ -234,7 +234,7 @@ class TestPagination(TestCase): content = json.loads(response.content) - self.assertEqual(response.status_code, status.CREATED) + self.assertEqual(response.status_code, status.HTTP_201_CREATED) self.assertEqual(None, content.get('per_page')) self.assertEqual('OK', content['status']) @@ -243,19 +243,19 @@ class TestPagination(TestCase): request = self.req.get('/paginator/?page=spam') response = MockPaginatorView.as_view()(request) - self.assertEqual(response.status_code, status.NOT_FOUND) + self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND) def test_page_range(self): """ Tests that the page range is handle correctly """ request = self.req.get('/paginator/?page=0') response = MockPaginatorView.as_view()(request) content = json.loads(response.content) - self.assertEqual(response.status_code, status.NOT_FOUND) + self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND) request = self.req.get('/paginator/') response = MockPaginatorView.as_view()(request) content = json.loads(response.content) - self.assertEqual(response.status_code, status.OK) + self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual(range(0, MockPaginatorView.limit), content['results']) num_pages = content['pages'] @@ -263,13 +263,13 @@ class TestPagination(TestCase): request = self.req.get('/paginator/?page=%d' % num_pages) response = MockPaginatorView.as_view()(request) content = json.loads(response.content) - self.assertEqual(response.status_code, status.OK) + self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual(range(MockPaginatorView.limit*(num_pages-1), MockPaginatorView.total), content['results']) request = self.req.get('/paginator/?page=%d' % (num_pages + 1,)) response = MockPaginatorView.as_view()(request) content = json.loads(response.content) - self.assertEqual(response.status_code, status.NOT_FOUND) + self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND) def test_existing_query_parameters_are_preserved(self): """ Tests that existing query parameters are preserved when @@ -277,7 +277,7 @@ class TestPagination(TestCase): request = self.req.get('/paginator/?foo=bar&another=something') response = MockPaginatorView.as_view()(request) content = json.loads(response.content) - self.assertEqual(response.status_code, status.OK) + self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertTrue('foo=bar' in content['next']) self.assertTrue('another=something' in content['next']) self.assertTrue('page=2' in content['next']) diff --git a/djangorestframework/tests/status.py b/djangorestframework/tests/status.py index 04aed740..53ecae11 100644 --- a/djangorestframework/tests/status.py +++ b/djangorestframework/tests/status.py @@ -8,9 +8,5 @@ class TestStatus(TestCase): def test_status(self): """Ensure the status module is present and correct.""" - self.assertEquals(200, status.OK) self.assertEquals(200, status.HTTP_200_OK) - - self.assertEquals(404, status.NOT_FOUND) self.assertEquals(404, status.HTTP_404_NOT_FOUND) - diff --git a/examples/objectstore/views.py b/examples/objectstore/views.py index 8f997d7e..d85ed9f4 100644 --- a/examples/objectstore/views.py +++ b/examples/objectstore/views.py @@ -77,7 +77,7 @@ class StoredObject(View): pickle.dump(self.CONTENT, open(pathname, 'wb')) return self.CONTENT - def delete(self, request): + def delete(self, request, key): """ Delete a stored object, by removing it's pickled file. """ |
