Refactors group tests

This commit is contained in:
Mark Polak committed 2013-09-18 20:22:39 +02:00
1 parent 24446f10f0
commit 439131f95c
2 files changed
+26 -33

No files matched your search

+5 -29
View File
@@ -1,46 +1,22 @@
import logging
import utils.tests
from support.test import ResourceTestCase
from dusken.models import Group
from support.test import ResourceTestCase
class GroupTest(ResourceTestCase):
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(GroupTest, self).setUp()
# URI to get all groups
self.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.groups_url, format='json')
self.assertNotEquals(resp.status_code, 405)
resp = self.api_client.post(self.groups_url)
self.assertNotEquals(resp.status_code, 405)
def test_put_not_allowed(self):
resp = self.api_client.put(self.groups_url)
self.assertHttpMethodNotAllowed(resp)
def test_delete_not_allowed(self):
resp = self.api_client.delete(self.groups_url)
self.assertHttpMethodNotAllowed(resp)
+21 -4
View File
@@ -4,7 +4,25 @@ import django
from dusken.models import Member
from tastypie.models import create_api_key
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
####################################################################
### Request helper functions
def do_get_request(self, url, creds):
return self.api_client.get(
url,
format='json',
authentication=creds
)
def do_post_request(self, url, data, creds):
return self.api_client.post(
url,
format='json',
data=data,
authentication=creds
)
####################################################################
### Fixture helper functions
def test_fixtures():
''' Returns a list with the locations of all defined fixtures. '''
return [os.path.join('dusken', 'fixtures', 'country.json'),
@@ -12,7 +30,6 @@ def test_fixtures():
os.path.join('dusken', 'fixtures', 'institution.json'),
]
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
def load_test_fixtures():
''' Explicitly load all defined fixtures. This can be useful when
you only want to load the fixtures for some testcases, but not
@@ -20,7 +37,6 @@ def load_test_fixtures():
for f in test_fixtures():
call_command('loaddata', f, verbosity=0)
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
def test_fixtures_member():
''' Returns a list with the locations of all defined fixtures. '''
return [os.path.join('dusken', 'fixtures', 'address.json'),
@@ -36,7 +52,8 @@ def test_fixtures_membership():
os.path.join('dusken', 'fixtures', 'membershiptype.json'),
os.path.join('dusken', 'fixtures', 'membership.json'),
]
def load_test_fixtures_for_membership():
django.db.models.signals.post_save.disconnect(create_api_key, sender=Member)
for f in test_fixtures_membership():
call_command('loaddata', f, verbosity=0)
call_command('loaddata', f, verbosity=0)