コード例 #1
0
ファイル: test_api.py プロジェクト: jensneuhaus/towel
 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;')
コード例 #2
0
 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;')
コード例 #3
0
    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)
コード例 #4
0
ファイル: test_api.py プロジェクト: jensneuhaus/towel
    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)