exlab_wizard.config.test_bootstrap#
Starter config.yaml bootstrap for the -test sandbox.
Shared by the tray’s --test flag (exlab_wizard.tray.main) and the
standalone dev seeder (exlab_wizard.dev.seed). Lives in the light
config package so the dev command can reuse it without importing the heavy
tray package (whose __init__ pulls in pystray and the server stack).
Functions
|
Tray |
|
Write a starter test |
- exlab_wizard.config.test_bootstrap.bootstrap_test_config(config_path, *, include_samples)[source]#
Tray
--testbootstrap: write the starter config, optionally seed samples.No-op when a config already exists – the sandbox is persistent, so a repeat
--testboot must neither overwrite the config nor re-seed (and never wipes). On a fresh sandbox, writes the starter config and, wheninclude_samples(--add-test-samples), expands the declarativeSAMPLEStree through the shared generator in non-destructive mode.
- exlab_wizard.config.test_bootstrap.write_starter_test_config(config_path)[source]#
Write a starter test
config.yamlif one does not already exist.Pins
paths.app_rootto anapp/folder under the test sandbox (config_path.parent) – rather than the real Documents-folder default – so the whole working tree stays contained in the suffixed sandbox and the wizard runs without manual Settings entry. The LIMS endpoint and email are intentionally left blank so the operator still wires that integration through the live Settings UI. Equipment is left empty – sample equipment is seeded separately byexlab_wizard.sample_data.generate_samples().Idempotent: an existing config is never overwritten. The sandbox is persistent across launches and the operator resets it by deleting the suffixed directory.