Skip to content

Instantly share code, notes, and snippets.

@ryankask
Created October 18, 2011 11:39
Show Gist options
  • Save ryankask/1295229 to your computer and use it in GitHub Desktop.
Save ryankask/1295229 to your computer and use it in GitHub Desktop.
django-tastypie get_via_uri test
diff --git a/tests/core/tests/field_urls.py b/tests/core/tests/field_urls.py
index 2cf34b3..1eb0580 100644
--- a/tests/core/tests/field_urls.py
+++ b/tests/core/tests/field_urls.py
@@ -14,7 +14,7 @@ class SubjectResource(ModelResource):
class CustomNoteResource(ModelResource):
author = fields.ForeignKey(UserResource, 'author')
subjects = fields.ManyToManyField(SubjectResource, 'subjects')
-
+
class Meta:
resource_name = 'notes'
queryset = Note.objects.all()
@@ -27,4 +27,5 @@ api.register(SubjectResource())
urlpatterns = patterns('',
(r'^api/', include(api.urls)),
+ url(r'^valid-view/$', lambda r: r, name='valid-view')
)
diff --git a/tests/core/tests/resources.py b/tests/core/tests/resources.py
index 0800e0c..67582e7 100644
--- a/tests/core/tests/resources.py
+++ b/tests/core/tests/resources.py
@@ -1075,6 +1075,20 @@ class ModelResourceTestCase(TestCase):
note_1 = resource.get_via_uri('/api/v1/notes/1/', request=request)
self.assertEqual(note_1.pk, 1)
+ def test_get_via_uri_with_an_unrelated_uri(self):
+ # Set up the test conditions -- only one note exists
+ one_note = Note.objects.order_by('?')[0]
+ Note.objects.exclude(pk=one_note.pk).delete()
+
+ resource = NoteResource(api_name='v1')
+
+ try:
+ should_fail = resource.get_via_uri(reverse('valid-view'))
+ self.assertEqual(should_fail, one_note) # really?
+ self.fail("'get_via_uri' should fail miserably with something that isn't an object URI.")
+ except NotFound:
+ pass
+
def test_determine_format(self):
resource = NoteResource()
request = HttpRequest()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment