Mavryk_event_logging_test_helpers.Mock_sinkA mock event sink that records handled events for verifying test expectations.
include Mavryk_event_logging.Internal_event.SINKA sink can store any required state, e.g. a database handle, in a value of the t type see configure.
val configure : Uri.t -> t Mavryk_error_monad.Error_monad.tzresult Lwt.tWhen a registered sink is activated the configure function is called to initialize it. The parameters should be encoded or obtained from the URI (the scheme of the URI is already uri_scheme).
val should_handle :
?section:Mavryk_event_logging.Internal_event.Section.t ->
t ->
_ Mavryk_event_logging.Internal_event.event_definition ->
boolPredicate deciding whether a sink should handle the event or not.
val handle :
t ->
'a Mavryk_event_logging.Internal_event.event_definition ->
?section:Mavryk_event_logging.Internal_event.Section.t ->
'a ->
unit Mavryk_error_monad.Error_monad.tzresult Lwt.tA sink's main function is to handle incoming events from the code base.
val close : t -> unit Mavryk_error_monad.Error_monad.tzresult Lwt.tA function to be called on graceful termination of processes (e.g. to flush file-descriptors, etc.).
type filter = Mavryk_event_logging.Internal_event.Section.t optionA filter can be applied when asserting the contents of the sink. This restricts assertions to events from a specific section or to those that have no section. The value filter has the following meaning:
filter = None: only keep events that have no section.filter = Some s: only keep events with section s.Note that the filter is always passed as an optional parameter. It can be omited to keep all events.
type event = {level : Mavryk_event_logging.Internal_event.Level.t;section : Mavryk_event_logging.Internal_event.Section.t option;name : string;message : string;json : Data_encoding.json;}module Pattern : sig ... endDescribes an event pattern to search for in the sink.
type pattern = Pattern.tassert_has_event str filter strict e asserts that Mock_sink has recorded an event e, and fails with the assertion message str if not. If filter is set, only the events whose section is filter are searched. If strict is set, then e must be the only event recorded (subject to filter).
assert_has_events str filter strict es asserts that Mock_sink has recorded the list of events es, and fails with the assertion message str if not. If filter is set, only the events whose section is filter are searched. If strict is set, then es must be the only events recorded (subject to filter).
Clears recorded events, typically called in the initialization of each test.
val pp_state : ?filter:filter -> unit -> unitPretty prints the list of recorded events
val pp_events_json : Stdlib.Format.formatter -> event list -> unitval testable_event : event Mavkit_alcotezt.Alcotest.testableval testable_level :
Mavryk_event_logging.Internal_event.Level.t Mavkit_alcotezt.Alcotest.testableval testable_section :
Mavryk_event_logging.Internal_event.Section.t
Mavkit_alcotezt.Alcotest.testable