So testen Sie eine API-Endpunkt, Django-rest-framework mit Django-oauth-toolkit für die Authentifizierung

Habe ich ein Django-rest-framework viewset/router definieren eine API-Endpunkt. Die viewset ist so definiert:

class DocumentViewSet(viewsets.ModelViewSet):
    permission_classes = [permissions.IsAuthenticated, TokenHasReadWriteScope]
    model = Document

Und der router ist definiert als

router = DefaultRouter()
router.register(r'documents', viewsets.DocumentViewSet)

mit url-Muster url(r'^api/', include(router.urls))

Kann ich Treffer dieser Endpunkt im browser/über curl Prima immer die richtigen access token und Sie für die Autorisierung. Es ist jedoch nicht klar, wie schreiben von tests für diesen Endpunkt.

Hier ist, was ich versucht habe:

class DocumentAPITests(APITestCase):
    def test_get_all_documents(self):
        user = User.objects.create_user('test', '[email protected]', 'test')
        client = APIClient()
        client.credentials(username="test", password="test")
        response = client.get("/api/documents/")
        self.assertEqual(response.status_code, 200) 

Dieser schlägt mit einer HTTP-401-Antwort vom client.get() nennen. Was ist der richtige Weg, um zu testen, eine API-Endpunkt in DRF mit django-oauth-toolkit für oauth2-Authentifizierung?

InformationsquelleAutor Jim | 2014-12-24
Schreibe einen Kommentar