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)