kopia lustrzana https://dev.funkwhale.audio/funkwhale/funkwhale
38 wiersze
929 B
Python
38 wiersze
929 B
Python
![]() |
import pytest
|
||
|
|
||
|
from rest_framework_jwt.settings import api_settings
|
||
|
|
||
|
from funkwhale_api.common.auth import TokenAuthMiddleware
|
||
|
|
||
|
jwt_payload_handler = api_settings.JWT_PAYLOAD_HANDLER
|
||
|
jwt_encode_handler = api_settings.JWT_ENCODE_HANDLER
|
||
|
|
||
|
|
||
|
@pytest.mark.parametrize('query_string', [
|
||
|
b'token=wrong',
|
||
|
b'',
|
||
|
])
|
||
|
def test_header_anonymous(query_string, factories):
|
||
|
def callback(scope):
|
||
|
assert scope['user'].is_anonymous
|
||
|
|
||
|
scope = {
|
||
|
'query_string': query_string
|
||
|
}
|
||
|
consumer = TokenAuthMiddleware(callback)
|
||
|
consumer(scope)
|
||
|
|
||
|
|
||
|
def test_header_correct_token(factories):
|
||
|
user = factories['users.User']()
|
||
|
payload = jwt_payload_handler(user)
|
||
|
token = jwt_encode_handler(payload)
|
||
|
def callback(scope):
|
||
|
assert scope['user'] == user
|
||
|
|
||
|
scope = {
|
||
|
'query_string': 'token={}'.format(token).encode('utf-8')
|
||
|
}
|
||
|
consumer = TokenAuthMiddleware(callback)
|
||
|
consumer(scope)
|