david / django-modelviews
Backup of an old repository with useful ideas. Initial goal: integrating REST to django admin (class-based views).
Clone this repository (size: 85.8 KB): HTTPS / SSH
$ hg clone http://code.welldev.org/django-modelviews
| commit 31: | be8c4ff20004 |
| parent 30: | d3b7823de8be |
| branch: | default |
Added XmlResponder to the Article test url, and added a minimal XmlResponder unittest.
2 years ago
Changed (Δ811 bytes):
raw changeset »
tests/test_modelview/tests.py (18 lines added, 1 lines removed)
tests/urls.py (2 lines added, 2 lines removed)
Up to file-list tests/test_modelview/tests.py:
| … | … | @@ -57,6 +57,7 @@ class ModelViewTest(TestCase): |
57 |
57 |
def test_json_responder_detail(self): |
58 |
58 |
a = Article.objects.all()[0] |
59 |
59 |
response = self.client.get('/articles/%s/json/' % a.slug) |
60 |
self.assertEqual(response.status_code, 200) |
|
60 |
61 |
data = simplejson.loads(response.content) |
61 |
62 |
self.assertEqual(data[0]['fields']['slug'], a.slug) |
62 |
63 |
self.assertEqual(data[0]['pk'], a.pk) |
| … | … | @@ -66,7 +67,23 @@ class ModelViewTest(TestCase): |
66 |
67 |
pass |
67 |
68 |
|
68 |
69 |
def test_xml_responder_detail(self): |
69 |
|
|
70 |
a = Article.objects.all()[0] |
|
71 |
response = self.client.get('/articles/%s/xml/' % a.slug) |
|
72 |
self.assertEqual(response.status_code, 200) |
|
73 |
""" |
|
74 |
Improve this test to parse and check returned data. |
|
75 |
An example of the returned data: |
|
76 |
||
77 |
<?xml version="1.0" encoding="utf-8"?> |
|
78 |
<django-objects version="1.0"> |
|
79 |
<object pk="1" model="test_modelview.article"> |
|
80 |
<field type="CharField" name="name">My Story</field> |
|
81 |
<field type="SlugField" name="slug">my-story</field> |
|
82 |
<field type="TextField" name="body">My thrilling story!</field> |
|
83 |
<field type="DateTimeField" name="date">2008-06-18 01:31:55</field> |
|
84 |
</object> |
|
85 |
</django-objects> |
|
86 |
""" |
|
70 |
87 |
|
71 |
88 |
def test_xml_responder_list(self): |
72 |
89 |
pass |
Up to file-list tests/urls.py:
| … | … | @@ -4,11 +4,11 @@ from django_modelview.generic.rest_views |
4 |
4 |
|
5 |
5 |
|
6 |
6 |
articles = ModelView(Article.objects.all(), |
7 |
responders=(HtmlResponder,JsonResponder |
|
7 |
responders=(HtmlResponder,JsonResponder,XmlResponder), |
|
8 |
8 |
methods=('GET',)) |
9 |
9 |
|
10 |
10 |
urlpatterns = patterns( |
11 |
11 |
'', |
12 |
('^articles/(?P<slug>[-\w]*)/(?P<format>(html|json |
|
12 |
('^articles/(?P<slug>[-\w]*)/(?P<format>(html|json|xml))?/?$', |
|
13 |
13 |
articles), |
14 |
14 |
) |
