openapi-core/tests/unit/schema/test_parameters.py

66 lines
1.7 KiB
Python
Raw Normal View History

import pytest
2019-09-03 00:38:19 +00:00
from openapi_core.schema.parameters.exceptions import (
2020-02-02 22:51:02 +00:00
EmptyParameterValue,
2019-09-03 00:38:19 +00:00
)
2018-04-17 12:18:40 +00:00
from openapi_core.schema.parameters.enums import ParameterStyle
from openapi_core.schema.parameters.models import Parameter
2017-11-14 11:28:45 +00:00
class TestParameterInit(object):
def test_path(self):
param = Parameter('param', 'path')
assert param.allow_empty_value is False
assert param.style == ParameterStyle.SIMPLE
assert param.explode is False
def test_query(self):
param = Parameter('param', 'query')
assert param.allow_empty_value is False
assert param.style == ParameterStyle.FORM
assert param.explode is True
def test_header(self):
param = Parameter('param', 'header')
assert param.allow_empty_value is False
assert param.style == ParameterStyle.SIMPLE
assert param.explode is False
def test_cookie(self):
param = Parameter('param', 'cookie')
assert param.allow_empty_value is False
assert param.style == ParameterStyle.FORM
assert param.explode is True
2019-09-03 00:38:19 +00:00
class TestParameterCast(object):
def test_deprecated(self):
param = Parameter('param', 'query', deprecated=True)
value = 'test'
with pytest.warns(DeprecationWarning):
2019-09-03 00:38:19 +00:00
result = param.cast(value)
assert result == value
2019-09-03 00:38:19 +00:00
def test_query_empty(self):
param = Parameter('param', 'query')
value = ''
with pytest.raises(EmptyParameterValue):
param.cast(value)
def test_query_valid(self):
param = Parameter('param', 'query')
value = 'test'
2019-09-03 00:38:19 +00:00
result = param.cast(value)
assert result == value