Ejemplo n.º 1
0
 def get_cats(
     self,
     page: FromQuery[int] = FromQuery(1),
     page_size: FromQuery[int] = FromQuery(30),
     search: FromQuery[str] = FromQuery(""),
 ) -> CatsList:
     """
Ejemplo n.º 2
0
 def get_cats(
         self,
         page: FromQuery[int] = FromQuery(1),
         page_size: FromQuery[int] = FromQuery(30),
         search: FromQuery[str] = FromQuery(""),
 ) -> Response:
     """
Ejemplo n.º 3
0
 def get_cats_alt(
         self,
         page: FromQuery[int] = FromQuery(1),
         page_size: FromQuery[int] = FromQuery(30),
         search: FromQuery[str] = FromQuery(""),
 ) -> CatsList:
     """
     Alternative way to have the response type for status 200 documented.
     """
     return CatsList(
         [
             Cat(
                 id=UUID("3fa85f64-5717-4562-b3fc-2c963f66afa6"),
                 name="Foo",
                 active=True,
                 type=CatType.EUROPEAN,
                 creation_time=dateutil_parse("2020-10-25T19:39:31.751652"),
             ),
             Cat(
                 id=UUID("f212cabf-987c-48e6-8cad-71d1c041209a"),
                 name="Frufru",
                 active=True,
                 type=CatType.PERSIAN,
                 creation_time=dateutil_parse("2020-10-25T19:39:31.751652"),
             ),
         ],
         1230,
     )
Ejemplo n.º 4
0
async def test_from_query_raises_for_invalid_parameter(expected_type, invalid_value: bytes):
    request = Request('GET', b'/?foo=' + invalid_value, None)

    parameter = FromQuery(expected_type, 'foo', required=True)

    with raises(BadRequest):
        await parameter.get_value(request)
Ejemplo n.º 5
0
async def test_from_query_binding(expected_type, query_value, expected_value):

    request = Request('GET', b'/?foo=' + query_value, None)

    parameter = FromQuery(expected_type, 'foo')

    value = await parameter.get_value(request)

    assert isinstance(value, expected_type)
    assert value == expected_value
Ejemplo n.º 6
0
async def test_from_query_binding_iterables(declared_type, expected_type, query_values, expected_values):
    qs = b'&foo='.join([value for value in query_values])

    request = Request('GET', b'/?foo=' + qs, None)

    parameter = FromQuery(declared_type, 'foo')

    values = await parameter.get_value(request)

    assert isinstance(values, expected_type)
    assert values == expected_values
Ejemplo n.º 7
0
async def test_nested_iterables_raise_missing_converter_from_query(
        declared_type):
    with raises(MissingConverterError):
        FromQuery('example', declared_type)
Ejemplo n.º 8
0
async def set_cookies(name: FromQuery(str), value: FromQuery(str)):
    response = text('Setting cookie')
    response.set_cookie(Cookie(name.encode(), value.encode()))
    return response
Ejemplo n.º 9
0
 def home(request, xx: FromQuery()):
     assert xx == expected_values
Ejemplo n.º 10
0
 def home(request, xx: FromQuery(int)):
     assert xx == 20
Ejemplo n.º 11
0
 async def middleware(request, handler, example: FromQuery(str)):
     assert request is fake_request
     assert handler is fake_handler
     assert example == 'Lorem'
     return await handler(request)
Ejemplo n.º 12
0
 def handler(a: FromQuery(str, 'example')):
     pass
Ejemplo n.º 13
0
 def handler(a: FromQuery(List[str]), b: FromServices(Dog),
             c: FromJson(Cat), d: FromRoute(), e: FromHeader()):
     pass