package octez-libs
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=aa2f5bc99cc4ca2217c52a1af2a2cdfd3b383208cb859ca2e79ca0903396ca1d
sha512=d68bb3eb615e3dcccc845fddfc9901c95b3c6dc8e105e39522ce97637b1308a7fa7aa1d271351d5933febd7476b2819e1694f31198f1f0919681f1f9cc97cb3a
doc/octez-libs.event-logging-test-helpers/Tezos_event_logging_test_helpers/Mock_sink/index.html
Module Tezos_event_logging_test_helpers.Mock_sink
Source
A mock event sink that records handled events for verifying test expectations.
include Tezos_event_logging.Internal_event.SINK
A sink can store any required state, e.g. a database handle, in a value of the t
type see configure
.
Registered sinks are a distinguished by their URI scheme.
When 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:Tezos_event_logging.Internal_event.Section.t ->
t ->
_ Tezos_event_logging.Internal_event.event_definition ->
bool
Predicate deciding whether a sink should handle the event or not.
val handle :
t ->
'a Tezos_event_logging.Internal_event.event_definition ->
?section:Tezos_event_logging.Internal_event.Section.t ->
'a ->
unit Tezos_error_monad.Error_monad.tzresult Lwt.t
A sink's main function is to handle
incoming events from the code base.
A function to be called on graceful termination of processes (e.g. to flush file-descriptors, etc.).
A 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 sections
.
Note that the filter is always passed as an optional parameter. It can be omited to keep all events.
type event = {
level : Tezos_event_logging.Internal_event.Level.t;
section : Tezos_event_logging.Internal_event.Section.t option;
name : string;
message : string;
json : Data_encoding.json;
}
assert_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.
Returns true if this sink has been activated
val testable_level :
Tezos_event_logging.Internal_event.Level.t Octez_alcotezt.Alcotest.testable
val testable_section :
Tezos_event_logging.Internal_event.Section.t Octez_alcotezt.Alcotest.testable