MCPcopy
hub / github.com/celery/celery / test_get_optional_arg

Function test_get_optional_arg

t/unit/utils/test_annotations.py:27–45  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

25
26
27def test_get_optional_arg() -> None:
28 def func(
29 arg: int,
30 optional: typing.Optional[int],
31 optional2: typing.Union[int, None],
32 optional3: typing.Union[None, int],
33 not_optional1: typing.Union[str, int],
34 not_optional2: typing.Union[str, int, bool],
35 ) -> None:
36 pass
37
38 parameters = inspect.signature(func).parameters
39
40 assert get_optional_arg(parameters['arg'].annotation) is None
41 assert get_optional_arg(parameters['optional'].annotation) is int
42 assert get_optional_arg(parameters['optional2'].annotation) is int
43 assert get_optional_arg(parameters['optional3'].annotation) is int
44 assert get_optional_arg(parameters['not_optional1'].annotation) is None
45 assert get_optional_arg(parameters['not_optional2'].annotation) is None
46
47
48@pytest.mark.skipif(sys.version_info < (3, 10), reason="Notation is only supported in Python 3.10 or newer.")

Callers

nothing calls this directly

Calls 2

get_optional_argFunction · 0.90
signatureMethod · 0.45

Tested by

no test coverage detected