fastapi

Форк
0
/
test_invalid_path_param.py 
77 строк · 1.7 Кб
1
from typing import Dict, List, Tuple
2

3
import pytest
4
from fastapi import FastAPI
5
from pydantic import BaseModel
6

7

8
def test_invalid_sequence():
9
    with pytest.raises(AssertionError):
10
        app = FastAPI()
11

12
        class Item(BaseModel):
13
            title: str
14

15
        @app.get("/items/{id}")
16
        def read_items(id: List[Item]):
17
            pass  # pragma: no cover
18

19

20
def test_invalid_tuple():
21
    with pytest.raises(AssertionError):
22
        app = FastAPI()
23

24
        class Item(BaseModel):
25
            title: str
26

27
        @app.get("/items/{id}")
28
        def read_items(id: Tuple[Item, Item]):
29
            pass  # pragma: no cover
30

31

32
def test_invalid_dict():
33
    with pytest.raises(AssertionError):
34
        app = FastAPI()
35

36
        class Item(BaseModel):
37
            title: str
38

39
        @app.get("/items/{id}")
40
        def read_items(id: Dict[str, Item]):
41
            pass  # pragma: no cover
42

43

44
def test_invalid_simple_list():
45
    with pytest.raises(AssertionError):
46
        app = FastAPI()
47

48
        @app.get("/items/{id}")
49
        def read_items(id: list):
50
            pass  # pragma: no cover
51

52

53
def test_invalid_simple_tuple():
54
    with pytest.raises(AssertionError):
55
        app = FastAPI()
56

57
        @app.get("/items/{id}")
58
        def read_items(id: tuple):
59
            pass  # pragma: no cover
60

61

62
def test_invalid_simple_set():
63
    with pytest.raises(AssertionError):
64
        app = FastAPI()
65

66
        @app.get("/items/{id}")
67
        def read_items(id: set):
68
            pass  # pragma: no cover
69

70

71
def test_invalid_simple_dict():
72
    with pytest.raises(AssertionError):
73
        app = FastAPI()
74

75
        @app.get("/items/{id}")
76
        def read_items(id: dict):
77
            pass  # pragma: no cover
78

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.