2026-04-29 19:48:14 +00:00
|
|
|
# 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.
|
2026-04-30 07:13:20 +00:00
|
|
|
- `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.
|
2026-04-29 19:48:14 +00:00
|
|
|
|
|
|
|
|
## Run
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
pnpm bootstrap:components
|
|
|
|
|
pnpm test
|
|
|
|
|
```
|
2026-04-30 07:13:20 +00:00
|
|
|
|
|
|
|
|
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`.
|