Archived
Added endpoint and test stub for groups.
This commit is contained in:
1 parent
83bc9e75bf
commit
f1a1093593
3 files changed
+69
No files matched your search
@@ -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 = {
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)),
|
||||
|
||||
Reference in new issue
Block a user