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

pnpm bootstrap:components
pnpm test

Run the remote-runner VM scenario with:

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:

sg libvirt -c 'pnpm scenario:uptimerunner-vagrant'

Stop or remove the VMs with pnpm vagrant:halt or pnpm vagrant:destroy.

S
Description
No description provided
Readme 54 KiB
Languages
TypeScript 73.3%
Shell 26.7%