| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
 | # from django.core.urlresolvers import reverse
# from django.conf.urls.defaults import patterns, url, include
# from django.http import HttpResponse
# from django.test import TestCase
# from django.utils import simplejson as json
# from djangorestframework.views import View
# class MockView(View):
#     """This is a basic mock view"""
#     pass
# class MockViewFinal(View):
#     """View with final() override"""
#     def final(self, request, response, *args, **kwargs):
#         return HttpResponse('{"test": "passed"}', content_type="application/json")
# # class ResourceMockView(View):
# #     """This is a resource-based mock view"""
# #     class MockForm(forms.Form):
# #         foo = forms.BooleanField(required=False)
# #         bar = forms.IntegerField(help_text='Must be an integer.')
# #         baz = forms.CharField(max_length=32)
# #     form = MockForm
# # class MockResource(ModelResource):
# #     """This is a mock model-based resource"""
# #     class MockResourceModel(models.Model):
# #         foo = models.BooleanField()
# #         bar = models.IntegerField(help_text='Must be an integer.')
# #         baz = models.CharField(max_length=32, help_text='Free text.  Max length 32 chars.')
# #     model = MockResourceModel
# #     fields = ('foo', 'bar', 'baz')
# urlpatterns = patterns('',
#     url(r'^mock/$', MockView.as_view()),
#     url(r'^mock/final/$', MockViewFinal.as_view()),
#     # url(r'^resourcemock/$', ResourceMockView.as_view()),
#     # url(r'^model/$', ListOrCreateModelView.as_view(resource=MockResource)),
#     # url(r'^model/(?P<pk>[^/]+)/$', InstanceModelView.as_view(resource=MockResource)),
#     url(r'^restframework/', include('djangorestframework.urls', namespace='djangorestframework')),
# )
# class BaseViewTests(TestCase):
#     """Test the base view class of djangorestframework"""
#     urls = 'djangorestframework.tests.views'
#     def test_view_call_final(self):
#         response = self.client.options('/mock/final/')
#         self.assertEqual(response['Content-Type'].split(';')[0], "application/json")
#         data = json.loads(response.content)
#         self.assertEqual(data['test'], 'passed')
#     def test_options_method_simple_view(self):
#         response = self.client.options('/mock/')
#         self._verify_options_response(response,
#                                       name='Mock',
#                                       description='This is a basic mock view')
#     def test_options_method_resource_view(self):
#         response = self.client.options('/resourcemock/')
#         self._verify_options_response(response,
#                                       name='Resource Mock',
#                                       description='This is a resource-based mock view',
#                                       fields={'foo': 'BooleanField',
#                                               'bar': 'IntegerField',
#                                               'baz': 'CharField',
#                                               })
#     def test_options_method_model_resource_list_view(self):
#         response = self.client.options('/model/')
#         self._verify_options_response(response,
#                                       name='Mock List',
#                                       description='This is a mock model-based resource',
#                                       fields={'foo': 'BooleanField',
#                                               'bar': 'IntegerField',
#                                               'baz': 'CharField',
#                                               })
#     def test_options_method_model_resource_detail_view(self):
#         response = self.client.options('/model/0/')
#         self._verify_options_response(response,
#                                       name='Mock Instance',
#                                       description='This is a mock model-based resource',
#                                       fields={'foo': 'BooleanField',
#                                               'bar': 'IntegerField',
#                                               'baz': 'CharField',
#                                               })
#     def _verify_options_response(self, response, name, description, fields=None, status=200,
#                                  mime_type='application/json'):
#         self.assertEqual(response.status_code, status)
#         self.assertEqual(response['Content-Type'].split(';')[0], mime_type)
#         data = json.loads(response.content)
#         self.assertTrue('application/json' in data['renders'])
#         self.assertEqual(name, data['name'])
#         self.assertEqual(description, data['description'])
#         if fields is None:
#             self.assertFalse(hasattr(data, 'fields'))
#         else:
#             self.assertEqual(data['fields'], fields)
# class ExtraViewsTests(TestCase):
#     """Test the extra views djangorestframework provides"""
#     urls = 'djangorestframework.tests.views'
#     def test_login_view(self):
#         """Ensure the login view exists"""
#         response = self.client.get(reverse('djangorestframework:login'))
#         self.assertEqual(response.status_code, 200)
#         self.assertEqual(response['Content-Type'].split(';')[0], 'text/html')
#     def test_logout_view(self):
#         """Ensure the logout view exists"""
#         response = self.client.get(reverse('djangorestframework:logout'))
#         self.assertEqual(response.status_code, 200)
#         self.assertEqual(response['Content-Type'].split(';')[0], 'text/html')
 |