20 lines
877 B
Python
20 lines
877 B
Python
import pytest
|
|
|
|
from auth.signedgrant import validate_signed_grant, generate_signed_token, SIGNATURE_PREFIX
|
|
from auth.validateresult import AuthKind, ValidateResult
|
|
|
|
|
|
@pytest.mark.parametrize('header, expected_result', [
|
|
('', ValidateResult(AuthKind.signed_grant, missing=True)),
|
|
('somerandomtoken', ValidateResult(AuthKind.signed_grant, missing=True)),
|
|
('token somerandomtoken', ValidateResult(AuthKind.signed_grant, missing=True)),
|
|
('token ' + SIGNATURE_PREFIX + 'foo',
|
|
ValidateResult(AuthKind.signed_grant, error_message='Signed grant could not be validated')),
|
|
('token ' + generate_signed_token({
|
|
'a': 'b'}, {'c': 'd'}), ValidateResult(AuthKind.signed_grant, signed_data={
|
|
'grants': {
|
|
'a': 'b'},
|
|
'user_context': {
|
|
'c': 'd'}})),])
|
|
def test_token(header, expected_result):
|
|
assert validate_signed_grant(header) == expected_result
|