2020-03-03 12:02:58 +00:00
|
|
|
import pytest
|
|
|
|
|
|
|
|
from openapi_core.schema.security_schemes.models import SecurityScheme
|
|
|
|
from openapi_core.security.providers import HttpProvider
|
|
|
|
from openapi_core.testing import MockRequest
|
|
|
|
|
|
|
|
|
|
|
|
class TestHttpProvider(object):
|
|
|
|
|
|
|
|
@pytest.fixture
|
|
|
|
def scheme(self):
|
|
|
|
return SecurityScheme('http', scheme='bearer')
|
|
|
|
|
|
|
|
@pytest.fixture
|
|
|
|
def provider(self, scheme):
|
|
|
|
return HttpProvider(scheme)
|
|
|
|
|
2020-04-11 09:47:36 +00:00
|
|
|
@pytest.mark.parametrize(
|
|
|
|
'header',
|
|
|
|
['authorization', 'Authorization', 'AUTHORIZATION'],
|
|
|
|
)
|
|
|
|
def test_header(self, provider, header):
|
2020-03-03 12:02:58 +00:00
|
|
|
"""Tests HttpProvider against Issue29427
|
|
|
|
https://bugs.python.org/issue29427
|
|
|
|
"""
|
|
|
|
jwt = 'MQ'
|
|
|
|
headers = {
|
2020-04-11 09:47:36 +00:00
|
|
|
header: 'Bearer {0}'.format(jwt),
|
2020-03-03 12:02:58 +00:00
|
|
|
}
|
|
|
|
request = MockRequest(
|
|
|
|
'http://localhost', 'GET', '/pets',
|
|
|
|
headers=headers,
|
|
|
|
)
|
|
|
|
|
|
|
|
result = provider(request)
|
|
|
|
|
2020-03-23 13:20:08 +00:00
|
|
|
assert result == jwt
|