Я тестирую REST API, который требует аутентификации токена.
Я использую coreapi.Client и coreapi.auth.TokenAuthentication для проверки представления.
Но происходит сбой из-за следующего исключения: coreapi.exceptions.NetworkError: Схема отсутствия URL-адреса '/ v0 / endpoint /'
Здесь перечислены мои зависимости:
python_version= "3.7"
django = "== 2.2.6"
djangorestframework = "== 3.9.4"
Тестовый файл
from rest_framework.test import APITestCase
import coreapi
from requests.auth import HTTPBasicAuth
from django.urls import reverse
from module.views import MyView
class TestViews(APITestCase):
def test_train_GET(self):
auth = coreapi.auth.TokenAuthentication(
scheme = 'Token',
token = '<TOKEN>'
)
client: coreapi.Client = coreapi.Client(auth=auth)
response = client.get(
reverse('endpoint')
)
self.assertEqual(response.status_code, 200)
Файл URL-адреса проекта:
from django.urls import include, path
urlpatterns = [
path('v0/', include('app.urls')),
]
Файл URL-адреса приложения:
from django.conf import settings
from django.contrib import admin
from django.urls import include, path
from .views import MyView
urlpatterns = [
path('endpoint/', MyView.as_view(), name='endpoint'),
]
При выполнении теста я получаю следующую ошибку:
повышение исключений. URL-адрес сети ("URL"отсутствует схема "% s". "% url) coreapi.exceptions.NetworkError: URL отсутствует схема" /v0/endpoint/'.