Skip to content

v18.2.0

Choose a tag to compare

@jterrazz jterrazz released this 24 Oct 18:22

A running deployment is the eighth specification

specification.deployment() probes what a deployment answers over the network, with no browser (Deployment specs, ADR-022).

  • One complete exchange per chain: .get(url) or .request(<.http> | file()), a URL written whole or as a path from url, so one specification reaches every host of a platform.
  • The whole response compared as an api response is: status, a header subset, the body, {{tokens}}, TEST_UPDATE=1. A redirect is the answer, never followed.
  • .connect('10.0.0.5:30443') opens the socket elsewhere, the Host header and the TLS server name staying the URL's (curl's --connect-to).
  • An exchange that never answered is a result: unreachable: refused | timeout | dns | reset | no route | tls <CODE>, so a negative probe is expect(result.response).toMatch('unreachable: timeout').
  • result.tls: subject, names, issuer, dates, daysRemaining, covers(host), and the trust check's verdict; insecure and ca options.
  • Options url, timeout (5000 ms), insecure, ca, recordedHeaders; project helper deployment().

The response golden grammar gains the unreachable: <reason> line and the request grammar HTTP's absolute form (GET https://host/path), for every specification.

🤖 Generated with Claude Code