def test_data_type_schema(self) -> None: """ We really only test this to get test coverage. The code covered here is really only used in testing tools. """ test_schema = DictType([ ("type", Equals("realm")), ("maybe_n", OptionalType(int)), ("s", str), ("timestamp", NumberType()), ("flag", bool), ("tup", TupleType([int, str])), ("level", EnumType([1, 2, 3])), ("lst", ListType(int)), ("config", StringDictType(str)), ("value", UnionType([int, str])), ("url", UrlType()), ]) expected = """ test (dict): config (string_dict): value: str flag: bool level in [1, 2, 3] lst (list): type: int maybe_n: int s: str timestamp: number tup (tuple): 0: int 1: str type in ['realm'] url: str value (union): type: int type: str """ self.assertEqual(schema("test", test_schema).strip(), expected.strip())
# This legacy presence structure is intended to be replaced by a more # sensible data structure. presence_type = DictType(required_keys=[ ("status", EnumType(["active", "idle"])), ("timestamp", int), ("client", str), ("pushable", bool), ]) presence_event = event_dict_type( required_keys=[ ("type", Equals("presence")), ("user_id", int), ("server_timestamp", NumberType()), ("presence", StringDictType(presence_type)), ], optional_keys=[ # force vertical ("email", str), ], ) _check_presence = make_checker(presence_event) def check_presence( var_name: str, event: Dict[str, object], has_email: bool, presence_key: str, status: str,
# This legacy presence structure is intended to be replaced by a more # sensible data structure. presence_type = DictType(required_keys=[ ("status", EnumType(["active", "idle"])), ("timestamp", int), ("client", str), ("pushable", bool), ]) presence_event = event_dict_type( required_keys=[ ("type", Equals("presence")), ("user_id", int), ("server_timestamp", NumberType()), ("presence", StringDictType(presence_type)), ], optional_keys=[ # force vertical ("email", str), ], ) _check_presence = make_checker(presence_event) def check_presence( var_name: str, event: Dict[str, object], has_email: bool, presence_key: str, status: str,