kopia lustrzana https://dev.funkwhale.audio/funkwhale/funkwhale
37 wiersze
1.2 KiB
Python
37 wiersze
1.2 KiB
Python
from django.urls import reverse
|
|
from rest_framework_jwt.settings import api_settings
|
|
|
|
jwt_payload_handler = api_settings.JWT_PAYLOAD_HANDLER
|
|
jwt_encode_handler = api_settings.JWT_ENCODE_HANDLER
|
|
|
|
|
|
def test_can_authenticate_using_jwt_token_param_in_url(factories, preferences, client):
|
|
user = factories["users.User"]()
|
|
preferences["common__api_authentication_required"] = True
|
|
url = reverse("api:v1:tracks-list")
|
|
response = client.get(url)
|
|
|
|
assert response.status_code == 401
|
|
|
|
payload = jwt_payload_handler(user)
|
|
token = jwt_encode_handler(payload)
|
|
response = client.get(url, data={"jwt": token})
|
|
assert response.status_code == 200
|
|
|
|
|
|
def test_can_authenticate_using_oauth_token_param_in_url(
|
|
factories, preferences, client, mocker
|
|
):
|
|
mocker.patch(
|
|
"funkwhale_api.users.oauth.permissions.should_allow", return_value=True
|
|
)
|
|
token = factories["users.AccessToken"]()
|
|
preferences["common__api_authentication_required"] = True
|
|
url = reverse("api:v1:tracks-list")
|
|
response = client.get(url)
|
|
|
|
assert response.status_code == 401
|
|
|
|
response = client.get(url, data={"token": token.token})
|
|
assert response.status_code == 200
|