# uptime.link Testing Whole-system integration scenarios for uptime.link components. Fast unit tests stay in each component repo. This repo is for stateful cross-component scenarios that verify package boundaries and real interaction flows. ## Scenarios - `uptimerunner-basic`: starts a fake uptime.link runner coordinator plus a target HTTP service, runs `uptimerunner` once, verifies the runner fetches assigned checks, executes them from the local machine, and reports results back. - `uptimerunner-vagrant`: starts controller and runner VMs with Vagrant, installs `uptimerunner` as a systemd service in the runner VM, and verifies that the remote runner executes a runner-local HTTP check and submits the result to the controller VM. ## Run ```bash pnpm bootstrap:components pnpm test ``` Run the remote-runner VM scenario with: ```bash pnpm scenario:uptimerunner-vagrant ``` The VM scenario defaults to the `libvirt` Vagrant provider. Override it with `UPTIMELINK_VAGRANT_PROVIDER=virtualbox` if needed. If the current shell has not picked up newly added `libvirt` group membership, run it without restarting the machine using: ```bash sg libvirt -c 'pnpm scenario:uptimerunner-vagrant' ``` Stop or remove the VMs with `pnpm vagrant:halt` or `pnpm vagrant:destroy`.