Bir API son noktasını tanımlamak için bir Django-rest-framework viewset/yönlendiricim var. viewset gibi tanımlanır:Kimlik doğrulaması için Django-oauth-toolkit kullanılarak bir Django-rest-framework ile bir API bitiş noktası nasıl test edilir
class DocumentViewSet(viewsets.ModelViewSet):
permission_classes = [permissions.IsAuthenticated, TokenHasReadWriteScope]
model = Document
Ve url(r'^api/', include(router.urls))
ben tarayıcıda bu son nokta vurabilir yönlendirici alarak kıvrılma gayet güzel aracılığıyla/url desenli
router = DefaultRouter()
router.register(r'documents', viewsets.DocumentViewSet)
olarak tanımlanır Doğru erişim belirteci ve yetkilendirme için kullanma. Ancak, bu son noktaya karşı nasıl test yazılacağı açık değildir. İşte
denedim budur:
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)
Bu client.get()
çağrısından HTTP 401 yanıtı ile başarısız olur. Oauth2 kimlik doğrulaması için django-oauth-toolkit kullanılarak DRF'de bir API son noktasını test etmenin doğru yolu nedir?
Bu bilet. Erişim belirtecinin oluşturulmasını kaçırıyordum + belirtecin istek üzerine nasıl enjekte edileceği belli değildi. Teşekkürler! – Jim
Tam olarak aradığım şey buydu. Çok teşekkür ederim! – DanXPrado