26 lines
718 B
Python
26 lines
718 B
Python
import pytest
|
|
|
|
from funkwhale_api.federation import keys
|
|
|
|
|
|
@pytest.mark.parametrize('raw, expected', [
|
|
('algorithm="test",keyId="https://test.com"', 'https://test.com'),
|
|
('keyId="https://test.com",algorithm="test"', 'https://test.com'),
|
|
])
|
|
def test_get_key_from_header(raw, expected):
|
|
r = keys.get_key_id_from_signature_header(raw)
|
|
assert r == expected
|
|
|
|
|
|
@pytest.mark.parametrize('raw', [
|
|
'algorithm="test",keyid="badCase"',
|
|
'algorithm="test",wrong="wrong"',
|
|
'keyId = "wrong"',
|
|
'keyId=\'wrong\'',
|
|
'keyId="notanurl"',
|
|
'keyId="wrong://test.com"',
|
|
])
|
|
def test_get_key_from_header_invalid(raw):
|
|
with pytest.raises(ValueError):
|
|
keys.get_key_id_from_signature_header(raw)
|