Added endpoint and test stub for groups.

This commit is contained in:
Robert Kolner committed 2013-02-02 09:39:02 +01:00
1 parent 83bc9e75bf
commit f1a1093593
3 files changed
+69

No files matched your search

+20
View File
@@ -0,0 +1,20 @@
from tastypie.resources import ModelResource, ALL
from tastypie.authorization import Authorization
from main.models import *
class GroupResource(ModelResource):
"""
This class provides following endpoints:
(1) /api/v1/group/
(2) /api/v1/group/{id}/
"""
class Meta:
queryset = Group.objects.all()
resource_name = 'group'
list_allowed_methods = [ 'get', 'post' ]
detail_allowed_methods = [ 'get', 'post' ]
authorization = Authorization() # TODO: for dev (VERY INSECURE)
filtering = {
}
+47
View File
@@ -0,0 +1,47 @@
import logging
from support.test import ResourceTestCase
from main.models import Group
class GroupTest(ResourceTestCase):
fixtures = [ 'testdata.json' ]
def assertValidMemberData(self, member):
self.assertEquals(type(member), dict)
self.assertKeys(member, [
u'id',
u'name',
u'posix_name',
u'created',
u'updated',
u'resource_uri'
])
self.assertNotEquals(None,member['id'])
self.assertNotEquals(None,member['name'])
self.assertNotEquals(None,member['posix_name'])
self.assertNotEquals(None,member['created'])
self.assertNotEquals(None,member['updated'])
self.assertNotEquals(None,member['resource_uri'])
def setUp(self):
super(Group, self).setUp()
# URI to get all groups
self.all_groups_url = '/api/v1/group/'
def test_request_types(self):
"""
Tests that the endpoint responds to correct types of requests.
"""
resp = self.api_client.get(self.all_groups_url, format='json')
self.assertNotEquals(resp.status_code, 405)
resp = self.api_client.post(self.all_groups_url)
self.assertNotEquals(resp.status_code, 405)
resp = self.api_client.put(self.all_groups_url)
self.assertHttpMethodNotAllowed(resp)
resp = self.api_client.delete(self.all_groups_url)
self.assertHttpMethodNotAllowed(resp)
+2
View File
@@ -1,9 +1,11 @@
from django.conf.urls.defaults import *
from tastypie.api import Api
from main.api.member import MemberResource
from main.api.group import GroupResource
v1_api = Api(api_name='v1')
v1_api.register(MemberResource())
v1_api.register(GroupResource())
urlpatterns = patterns('',
(r'^api/', include(v1_api.urls)),