Skip to content

mdepinet/hamcrest-proto

 
 

Repository files navigation

hamcrest-proto

Hamcrest matchers for Protocol Buffers in Python.

This is forked from proto-matcher which was no longer receiving updates and which was itself based on MessageDifferencer and EqualsProto googletest matcher.

API

This packages provides the following proto-related matchers:

equals_proto

equals_proto(message: Union[Message, str])

Test the argument equals the given protobuf message.

approximately

approximately(proto_matcher: Matcher[Message],
              float_margin: Optional[float] = None,
              float_fraction: Optional[float] = None)

Test the argument equals the given protobuf message, while comparing any float field using approximation.

ignoring_field_paths

ignoring_field_paths(field_paths: Set[Tuple[str]],
                     matcher: _ProtoMatcher)

Test the argument equals the given protobuf message, while ignoring those fields specified in the field paths.

ignoring_repeated_field_ordering

ignoring_repeated_field_ordering(proto_matcher: Matcher[Message])

Test the argument equals the given protobuf message, ignoring the ordering of any repeated field.

partially

partially(proto_matcher: Matcher[Message])

Test the argument partially equals the given protobuf message, i.e. if a field is in the argument but not in the expected message, it's ignored in the comparsion.

Packages

No packages published

Languages

  • Python 89.1%
  • Starlark 10.5%
  • Shell 0.4%