Helper function that recursively copies all contents from
src
to dst
.
Get the project root (relative to closest Cargo.lock file)
Creates the database backup directory for a server module by appending the
snapshot_name
to db/migrations
. Then this function will execute the
provided prepare_fn
which is expected to populate the database with the
appropriate data for testing a migration.
Create the database backup directory for a client module.
Two prepare functions are taken as parameters. data_prepare
is expected to
create any data that the client module uses and is stored in the isolated
namespace. state_machine_prepare
creates client state machine data that
can be used for testing state machine migrations. This is created in the
global namespace.
Creates the database backup for snapshot_name
to db/migrations
. Then this function will execute the provided
prepare_fn
which is expected to populate the database with the appropriate
data for testing a migration. If the snapshot directory already exists,
this function will do nothing.
Validates the database migrations for a client module. First applies all
database migrations to the module, including the state machine migrations.
Then calls the validate
function, including the new active_states
and
inactive_states
, and is expected to confirm the database migrations were
successful.
Validates the database migrations for the core client. First applies all
database migrations to the core client. Then calls the validate
function,
including the new active_states
and inactive_states
, and is expected to
confirm the database migrations were successful.
Validates the database migrations. decoders
need to be
passed in as an argument since this is module agnostic. First
applies all defined migrations to the database then executes the `validate``
function which should confirm the database migrations were successful.
Validates the database migrations for a server module. First applies all
database migrations to the module, then calls the validate
which should
confirm the database migrations were successful.