File: test_annotate.py

package info (click to toggle)
python-graphene 2.1.9-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 1,024 kB
  • sloc: python: 7,295; makefile: 196; sh: 4
file content (37 lines) | stat: -rw-r--r-- 827 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import pytest

from ..annotate import annotate


def func(a, b, *c, **d):
    pass


annotations = {"a": int, "b": str, "c": list, "d": dict}


def func_with_annotations(a, b, *c, **d):
    pass


func_with_annotations.__annotations__ = annotations


def test_annotate_with_no_params():
    annotated_func = annotate(func, _trigger_warning=False)
    assert annotated_func.__annotations__ == {}


def test_annotate_with_params():
    annotated_func = annotate(_trigger_warning=False, **annotations)(func)
    assert annotated_func.__annotations__ == annotations


def test_annotate_with_wront_params():
    with pytest.raises(Exception) as exc_info:
        annotate(p=int, _trigger_warning=False)(func)

    assert (
        str(exc_info.value)
        == 'The key p is not a function parameter in the function "func".'
    )