Exemple #1
0
    def test_without_default(self):
        view = content_negotiate(self.handlers)

        request = factory.get('/', HTTP_ACCEPT='text/*;q=0.5,*/*; q=0.1')
        response = view(request)
        self.assertEqual(self.handlers['text/html'].call_count, 1)

        request = factory.get('/', HTTP_ACCEPT='application/json')
        response = view(request)
        self.assertEqual(self.handlers['application/json'].call_count, 1)

        request = factory.get('/', HTTP_ACCEPT='text/xml')
        response = view(request)
        self.assertEqual(response.status_code, 406)
Exemple #2
0
 def detail_view(self):
     kwargs = {'model': self.model}
     return content_negotiate({
         'application/json': JSONDetailView.as_view(**kwargs),
     }, default=DetailView.as_view(**kwargs))
Exemple #3
0
 def list_view(self):
     kwargs = {'model': self.model}
     return content_negotiate({
         'application/json': JSONListView.as_view(**kwargs),
     }, default=ListView.as_view(**kwargs))
Exemple #4
0
 def test_vary_headers(self):
     view = content_negotiate(self.handlers)
     request = factory.get('/', HTTP_ACCEPT='text/*;q=0.5,*/*; q=0.1')
     response = view(request)
     self.assertIn('Accept', response['Vary'])