File: test_alias.py

package info (click to toggle)
python-apischema 0.18.3-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,636 kB
  • sloc: python: 15,281; makefile: 3; sh: 2
file content (22 lines) | stat: -rw-r--r-- 663 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
from dataclasses import dataclass, field

from apischema import alias
from apischema.objects import object_fields


@alias(lambda s: f"prefixed_{s}")
@dataclass
class Data:
    not_aliased: int = field(metadata=alias(override=False))
    not_prefixed: int = field(metadata=alias("not_overridden", override=False))
    prefixed: int
    prefixed_alias: str = field(metadata=alias("alias"))


def test_alias():
    assert {name: field.alias for name, field in object_fields(Data).items()} == {
        "not_aliased": "not_aliased",
        "not_prefixed": "not_overridden",
        "prefixed": "prefixed_prefixed",
        "prefixed_alias": "prefixed_alias",
    }