def test_api_reverse(self): person = Person.objects.create() self.assertEqual( api_reverse(Person, 'list', api_name='v1'), '/api/v1/person/', ) self.assertEqual( api_reverse(Person, 'detail', api_name='v1', pk=person.pk), '/api/v1/person/%s/' % person.pk, ) self.assertEqual( api_reverse(person, 'detail', api_name='v1', pk=person.pk), '/api/v1/person/%s/' % person.pk, ) self.assertTrue( api_reverse(Person, 'set', api_name='v1', pks='2;3;4') in ( '/api/v1/person/2;3;4/', '/api/v1/person/2%3B3%3B4/', # Django 1.6 upwards does this ) ) self.assertEqual( api_reverse( Person, 'sets', api_name='v1', pks='2;3;4', fail_silently=True), None, ) self.assertRaises( NoReverseMatch, api_reverse, Person, 'sets', api_name='v1', pks='2;')
def test_api_reverse(self): person = Person.objects.create() self.assertEqual( api_reverse(Person, 'list', api_name='v1'), '/api/v1/person/', ) self.assertEqual( api_reverse(Person, 'detail', api_name='v1', pk=person.pk), '/api/v1/person/%s/' % person.pk, ) self.assertEqual( api_reverse(person, 'detail', api_name='v1', pk=person.pk), '/api/v1/person/%s/' % person.pk, ) self.assertTrue( api_reverse(Person, 'set', api_name='v1', pks='2;3;4') in ( '/api/v1/person/2;3;4/', '/api/v1/person/2%3B3%3B4/', # Django 1.6 upwards does this )) self.assertEqual( api_reverse(Person, 'sets', api_name='v1', pks='2;3;4', fail_silently=True), None, ) self.assertRaises(NoReverseMatch, api_reverse, Person, 'sets', api_name='v1', pks='2;')
def test_serialization(self): person = Person.objects.order_by('id')[0] group = Group.objects.create(name='grouup', ) person.groups.add(group) person.emailaddress_set.create(email='*****@*****.**') person_uri = api_reverse(person, 'detail', api_name='v1', pk=person.id) self.assertEqual(person.groups.count(), 1) self.assertEqual(person.emailaddress_set.count(), 2) data = self.get_json(person_uri) self.assertEqual(data['given_name'], 'Given 0') self.assertEqual(data['family_name'], 'Family 0') self.assertFalse('emailaddress_set' in data) self.assertFalse('groups' in data) data = self.get_json(person_uri + '?full=1') self.assertTrue('emailaddress_set' in data) self.assertTrue('groups' in data) data = self.get_json(self.api['group']['__uri__']) self.assertEqual(len(data['objects']), 1) group_uri = data['objects'][0]['__uri__'] data = self.get_json(group_uri) self.assertEqual(data['name'], 'grouup') self.assertFalse('members' in data) data = self.get_json(group_uri + '?full=1') self.assertEqual(data['name'], 'grouup') self.assertTrue('members' in data) self.assertEqual(len(data['members']), 1)
def test_serialization(self): person = Person.objects.order_by('id')[0] group = Group.objects.create( name='grouup', ) person.groups.add(group) person.emailaddress_set.create(email='*****@*****.**') person_uri = api_reverse( person, 'detail', api_name='v1', pk=person.id) self.assertEqual(person.groups.count(), 1) self.assertEqual(person.emailaddress_set.count(), 2) data = self.get_json(person_uri) self.assertEqual(data['given_name'], 'Given 0') self.assertEqual(data['family_name'], 'Family 0') self.assertFalse('emailaddress_set' in data) self.assertFalse('groups' in data) data = self.get_json(person_uri + '?full=1') self.assertTrue('emailaddress_set' in data) self.assertTrue('groups' in data) data = self.get_json(self.api['group']['__uri__']) self.assertEqual( len(data['objects']), 1) group_uri = data['objects'][0]['__uri__'] data = self.get_json(group_uri) self.assertEqual(data['name'], 'grouup') self.assertFalse('members' in data) data = self.get_json(group_uri + '?full=1') self.assertEqual(data['name'], 'grouup') self.assertTrue('members' in data) self.assertEqual(len(data['members']), 1)