Skip to content

Commit

Permalink
Rewrite GenericMessage validation using 'attrs' validators
Browse files Browse the repository at this point in the history
Signed-off-by: Sacha Kozma <[email protected]>
  • Loading branch information
yvgny committed Feb 28, 2023
1 parent ac4696c commit 820c591
Show file tree
Hide file tree
Showing 4 changed files with 260 additions and 261 deletions.
23 changes: 23 additions & 0 deletions didcomm/core/validators.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,23 +20,46 @@ def _f(instance, attribute, value):
return _f


def validator__optional(validator: Callable) -> Callable:
return _attr_validator_wrapper(attr.validators.optional(validator))


# TODO TEST
def validator__instance_of(classinfo) -> Callable:
return _attr_validator_wrapper(attr.validators.instance_of(classinfo))


def validator__and_(*validators: Callable):
return _attr_validator_wrapper(attr.validators.and_(*validators))


# TODO TEST
def validator__in_(options) -> Callable:
return _attr_validator_wrapper(attr.validators.in_(options))


def validator__not_in_(options) -> Callable:
return _attr_validator_wrapper(attr.validators.not_(attr.validators.in_(options)))


# TODO TEST
def validator__deep_iterable(member_validator: Callable, iterable_validator=None):
return _attr_validator_wrapper(
attr.validators.deep_iterable(member_validator, iterable_validator)
)


# TODO TEST
def validator__deep_mapping(
key_validator: Callable,
value_validator: Callable,
mapping_validator: Callable = None,
):
return _attr_validator_wrapper(
attr.validators.deep_mapping(key_validator, value_validator, mapping_validator)
)


# TODO TEST
def validator__didcomm_protocol_mturi(
p_name: str, p_version_specifier: SpecifierSet, p_msg_t: str
Expand Down
Loading

0 comments on commit 820c591

Please sign in to comment.