From 439131f95c1fbfc4e3bfb833faed57a98e19c8c1 Mon Sep 17 00:00:00 2001 From: Mark Polak Date: Wed, 18 Sep 2013 20:22:39 +0200 Subject: [PATCH] Refactors group tests --- dusken/tests/group.py | 34 +++++----------------------------- utils/tests.py | 25 +++++++++++++++++++++---- 2 files changed, 26 insertions(+), 33 deletions(-) diff --git a/dusken/tests/group.py b/dusken/tests/group.py index 8a3f517..65f36a4 100644 --- a/dusken/tests/group.py +++ b/dusken/tests/group.py @@ -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) - + \ No newline at end of file diff --git a/utils/tests.py b/utils/tests.py index 3382fa2..85a5cb2 100644 --- a/utils/tests.py +++ b/utils/tests.py @@ -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) \ No newline at end of file + call_command('loaddata', f, verbosity=0)